我需要一些关于开发 Caché 的 Objectscript 的帮助。
我已经在这项技术中工作了几个月,从几天开始,我试图让 Java 网关工作但没有成功。它应该允许我运行 java .class et .jar 代码。
但即使它在文档中进行了解释,也没有完整的示例,而且我一遍又一遍地遇到错误。所以,我想知道是否有人可以提供一个完整的例子,纠正我或解释我做错了什么?
这是我现在所拥有的:
我的简单 java 类 - 在文件中写入日期和时间
package packagename.packagename2;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.time.LocalDateTime;
public class entertest {
public int enter() throws IOException
{
File file = new File("D:\\path\\filemane.txt");
if (!file.exists()) {
file.createNewFile();
}
BufferedWriter bf = new BufferedWriter(new FileWriter(file.getAbsoluteFile()));
bf.write(LocalDateTime.now().toString());
bf.close();
return 1;
}
}
我的 objectscript 代码 - 定义我的网关并尝试调用该方法
Class domain.java.TestJava Extends EnsLib.HL7.Service.TCPService
{
Method OnProcessInput(pLine As Ens.StringContainer, Output pLineLeftOver As Ens.StringContainer) As %Status
{
Do ##super(pLine,pLineLeftOver)
Set val = 0
$$$TRACE(val)
Set gateway = ##class(%Net.Remote.Gateway).%New()
Do gateway.%Connect("127.0.0.1", 55553)
Do gateway.%Import("D:\\path\\entertest.jar")
Set javaObj = ##class(packagename.packagename2.entertest).%New(gateway)
Set val = javaObj.enter()
$$$TRACE(val)
Quit $$$OK
}
}
我收到一个错误:
ERREUR <Ens>ErrException: <CLASS DOES NOT EXIST>zOnProcessInput+9^domain.java.TestJava.1 *packagename.packagename2.entertest
-- - connecté en tant que '-' numéro - @' Set javaObj = ##class(packagename.packagename2.entertest).%New(gateway)'
我使用了这篇文章,但我不知道他是如何工作的:Intersystems Caché with Java Gateway - Pass parameter as java.io.FileInputStream
我尝试在 Ensemble 生产中添加服务“JavaGatewayService”。没有帮助...
我还尝试在其中添加对象网关
系统管理 > 配置 > 连接 > 对象网关。
没有帮助...而且我不知道它是否应该帮助我...
我没有想法/选择。
先感谢您。