Teiid 用户定义 Java 函数不可见

Teiid User Defined Java Functions not visible

我正在使用 teiid-wildfly 服务器。我遵循了 teiid 文档中提供的用户定义函数示例。下面是我的 vdb 文件。如果我需要将任何其他属性导入 view/access 用户定义函数,请告诉我。元数据 URL(http://localhost:8080/odata4/UDFTest/JavaCall/$metadata) 没有列出用户定义的函数,服务器日志中也没有错误。我创建了包含 TempConv 文件实现的 jar 文件,并在模块目录下完成了设置。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<vdb name="UDFTest" version="1">
<property name ="lib" value ="org.test"></property>
<model visible="true" name="JavaCall" type="VIRTUAL">
<metadata   type="DDL">
<![CDATA[
CREATE VIRTUAL FUNCTION celsiusToFahrenheit(celsius double) RETURNS double OPTIONS (JAVA_CLASS 'org.test.TempConv',  JAVA_METHOD 'celsiusToFahrenheit');
]]> </metadata>
</model>
</vdb>
     

OData 在公开函数方面存在一个已知问题:请参阅 https://issues.redhat.com/browse/TEIID-5736

解决方法是改用过程。