我正在尝试通过Globals API将Java应用程序连接到InterSystemsCaché数据库。

import com.intersys.globals.*;

public class Assignment {

    public static void main(String[] args) {
        final String user = "Andrew";
        final String password = "Tobilko";

        Connection connection = ConnectionContext.getConnection();
        connection.connect("USER", user, password);
    }

}


堆栈跟踪:

Exception in thread "main" java.lang.StackOverflowError
    at com.intersys.globals.internal.GlobalsConnectionJNI.connectImpl(Native Method)
    at com.intersys.globals.internal.GlobalsConnectionJNI.connect(GlobalsConnectionJNI.java:107)
    at com.tobilko.a3.Assignment.main(Assignment.java:12)



凭据和名称空间正确。
Cache实例已通过指令正确初始化。
包括GLOBALS_HOMEDYLD_LIBRARY_PATH在内的所有全局环境变量均已设置。
以下库已被软链接:

ln -s $GLOBALS_HOME/bin/libisccache.dylib /usr/local/lib
ln -s $GLOBALS_HOME/bin/liblcbjni.dylib /usr/local/lib
ln -s $GLOBALS_HOME/bin/liblcbindnt.dylib /usr/local/lib
ln -s $GLOBALS_HOME/bin/liblcbclientnt.dylib /usr/local/lib
ln -s $GLOBALS_HOME/bin/libmdsjni.dylib /usr/local/lib

已指定-Djava.library.path=/usr/local/lib
罐子已包括在内。


java - 通过Globals API的Java连接会导致StackOverflowError-LMLPHP

这些步骤导致我出现StackOverflowError异常。
我不知道我该在哪里犯错。

任何帮助,将不胜感激。

最佳答案

安德鲁,我对GlobalsAPI不太熟悉。但是,我进行了一些研究,发现此GlobalsAPI在Java CacheExtreme库cacheextreme.jar的早期版本中的Cachélib文件夹中。在您尝试使用的版本中,GlobalsAPI已经消失,只有“事件持久性”仍然存在。有了IRIS,这个旧图书馆将完全消失。在IRIS documentation中,仅与GlobalsAPI有关。我想如果您在Developer Community门户网站上询问GlobalsAPI的未来会更好。

09-05 02:10