2013-02-16 80 views
1

我對GlassFish V3 + TimesTen有一個很奇怪的問題。 我的配置是:GlassFish V3 Cluster + TimesTen奇怪的行爲

  1. GlassFish應用服務器3.1.2.2版(版本5)
  2. TimesTen的發行11.2.2.2.0
  3. 的Java(TM)SE運行時環境(建立1.6.0_31-B04 )Java HotSpot(TM)64位服務器虛擬機(構建20.6-b01,混合模式)。
  4. Linux 2.6.32-131.0.15.el6.x86_64
  5. 兩臺機器具有相同的hadrware(第二臺服務器是第一臺服務器的克隆)。

GlassFish,TimesTen,Java和Linux在兩臺服務器上都是相同的。

我在服務器上安裝了GlassFish DAS。使用一個實例(在本地主機上)成功創建了Node-agent,部署了我的應用程序,它與TimesTen Database進行通信,在GlassFish中配置JVM選項,並且我的應用程序完美無缺。我用肥皂用戶界面測試過,並有正確的迴應。

但是當我在遠程服務器上創建節點+實例時,應用程序將無法在此計算機上工作。 glassfish實例的配置是相同的,因爲實例在同一個集羣中。

我在server.log中這些錯誤:

因爲

連接無法分配:/opt/TimesTen/tt1122/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 

Env。在兩臺機器變量LD_LIBRARY_PATH是相同的:

LD_LIBRARY_PATH=/opt/TimesTen/tt1122/lib 

利布斯在實例根文件夾是兩個服務器上是相同的。我想嘗試添加JVM選項:

-Djava.library.path=/opt/TimesTen/tt1122/lib 

但它採取任何影響,在server.log中的錯誤是一樣的。 我還能如何解決這個問題?

PS:剛纔試過這個:在第二臺機器上安裝了相同的glassfish,在domain1/libs目錄中拷貝了libs,在服務器上配置了JDBC Resource,部署了我的應用程序,並且它的工作非常完美! 但它不會與羣集配置工作...

PPS:在glassfish v 2.1.1一切工作正常。我在具有相同應用的4臺服務器上有7個實例。

回答

0

好的,我發現了。 寫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

然後用這個腳本啓動實例。 然後我的應用程序工作正常:)