Sun Java System Application Server Enterprise Edition 8.1 2005Q2 版本說明

範例

本節說明與 Application Server 8.1 產品中包含的範例代碼相關的已知問題及其相應的解決方案。

錯誤 ID 

摘要 

6195092 

setup-one-machine-cluster 在 Windows 上會掛機,但在 Solaris 上工作正常;mqfailover 需要按下 [Ctrl]+[C] 以取消,然後必須重新執行。

如果您執行以下指令,請參閱 install_dir\samples\ee-samples\failover\apps\mqfailover\docs\index.html

  • 主控台 1


    cd install_dir\samples\ee-samples asant start-mq-master-broker1
  • 主控台 2


    cd install_dir\samples\ee-samples asant start-mq-cluster-broker1
  • 主控台 3


    cd install_dir\samples\ee-samples asant start-mq-cluster-broker2
  • 主控台 4


    cd install_dir\samples\ee-samples asadmin start-domain domain1

如果您已經執行任何其他 Enterprise Edition 範例的 asant setup-one-machine-cluster-without-haasant setup-one-machine-cluster-with-ha,則請執行 asant configure-mq;否則請執行 asant setup-one-machine-cluster-and-configure-mq。在這種情況下,指令顯示成功:


start_nodeagent: [echo] Start the node agent cluster1-nodeagent 
[exec] Command start-node-agent executed successfully.

然後系統會無限期懸置。 

解決方案

此時為 None。這種問題同樣影響在 Windows 上使用 ant 目標的所有 Enterprise Edition 範例。解決方法是按下 Ctrl+C 登出當機程序,然後再重新執行。

6198003 

文件並未明確說明依照 asadmin 部署指示,您需要在建立 JMS 資源之後,才能執行 MQ 容錯移轉範例應用程式。

拋出的錯誤如下: 


/opt/SUNWappserver/domains/domain1/config/sun-acc.xml -name 
MQFailoverTestClient -textauth -user j2ee -password j2ee
Nov 18, 2004 10:50:17 PM com.sun.enterprise.naming.NamingManagerImpl 
bindObjects
SEVERE: NAM0006: JMS Destination object not found: jms/durable/TopicA
Nov 18, 2004 10:50:18 PM com.sun.enterprise.naming.NamingManagerImpl 
bindObjects
SEVERE: javax.naming.NameNotFoundException
javax.naming.NameNotFoundException

文件並未明確說明如果使用 asadmin deploy 指令進行手動部署,則必須手動建立 JMS 資源,以及應該使用提供的 ant 目標來部署範例應用程式。

解決方案

對於 build.xml 程序檔 (該程序檔可建立執行應用程式所需的 JMS 資源),請使用 asant 部署目標。

6198239 

在 Linux 上,在 Web 服務/安全性範例中建立憑證期間發生執行階段錯誤。 

在 Linux 上部署 install_dir/samples/webservices/security 範例 (basicSSl) 時,並未建立憑證,並且丟出如下類似錯誤:


generate_certs: [echo] ***Exporting certificate from NSS database 
[exec] Result: 1 [echo] ***Generating Java Keystore from generated 
certificate [exec] keytool error: java.lang.Exception: Input not an 
X.509 certificate [exec] Result: 1 [echo] ***Generating Java trust 
store from generated certificate [exec] keytool error: java.lang.
Exception: Input not an X.509 certificate [exec] Result: 1
.
.
.
generate_certs: [echo] ***Exporting server certificate from NSS database to 
a PKCS12 certificate file [exec] /opt/sun/appserver/lib/pk12util: /usr/lib/
libnss3.so: version `NSS_3.9' not found (required by /opt/sun/appserver/lib/
pk12util) [exec] /opt/sun/appserver/lib/pk12util: /usr/lib/libnss3.so: 
version `NSS_3.6' not found (required by /opt/sun/appserver/lib/pk12util) 
[exec] /opt/sun/appserver/lib/pk12util: /usr/lib/libnss3.so: version 
`NSS_3.7' not found (required by /opt/sun/appserver/lib/pk12util) [exec] 
Result: 1

問題是 NSS 程式庫在 Linux 安裝中的位置與在 Solaris 安裝中的位置不同。在 Linux 上進行部署時,您需要確認 LD_LIBRARY_PATH 指向了正確的 NSS 程式庫。在您所處的環境中,或在 install_dir/bin/asant shell 包裝程式程序檔中設定 LD_LIBRARY_PATH

解決方案

執行下列動作之一: 

  • 設定 LD_LIBRARY_PATH=/opt/sun/private/lib

  • 將以下行增加到 install_dir/bin/asant 程序檔中:


    LD_LIBRARY_PATH=$AS_NSS:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH