GlassFish V3 + TimesTen有一个非常奇怪的问题。我的配置是:
GlassFish、TimesTen、Java和Linux在这两台服务器上都是相同的。
服务器一号上有GlassFish DAS。成功地用一个实例创建节点代理(在本地主机上),部署我的应用程序,它与TimesTen数据库通信,在GlassFish中配置JVM选项,我的应用程序工作得很好。我用Soap对它进行了测试,得到了正确的响应。
但是当我在远程服务器2上创建节点+实例时,应用程序无法在这台机器上工作。glassfish实例的配置是相同的,因为实例位于同一个集群中。
我在server.log中有以下错误:
无法分配连接,因为:加载本机库的问题/缺少方法:/opt/TimesTen/ No 1122/lib/libttJdbc.so: libtten.so:无法打开共享对象文件:没有这样的文件或目录
对这两个文件的权限:
-rwxr-x---. 1 esb esb 444K Dec 23 2011 /opt/TimesTen/tt1122/lib/libttJdbc.so
-rwxrwxrwx. 1 esb esb 18M Apr 10 2012 /opt/TimesTen/tt1122/lib/libtten.so环境。这两台机器上的变量LD_LIBRARY_PATH是相同的:
LD_LIBRARY_PATH=/opt/TimesTen/tt1122/lib实例中的Libs根文件夹在两台服务器上都是相同的。我尝试添加JVM选项:
-Djava.library.path=/opt/TimesTen/tt1122/lib 但是它没有效果,server.log中的错误是一样的。不然我怎么能解决这个问题?
PS:刚才试了一下:在第二台机器上安装了相同的玻璃鱼,在domain1/libs目录中安装了复制的库,配置了JDBC,就像在服务器上一样,部署了我的应用程序,它的工作非常完美!但是它不适合集群配置..。
PPS:在glassfish v2.1.1上,一切都很好。我有7个实例,在4个服务器上使用相同的应用程序。
发布于 2013-04-23 20:35:37
好吧,我发现了。编写simpe脚本如下:
export LD_LIBRARY_PATH="/opt/TimesTen/tt1122/lib" /glassfish3/glassfish/bin/asadmin start-local-instance --user admin --passwordfile /glassfish3/passwd --node YOURNODE --sync normal YOURINSTANCE
然后用这个脚本启动实例。然后我的应用程序工作得很好:)
https://stackoverflow.com/questions/14914223
复制相似问题