本節說明與 Application Server 8.2 產品中包含的範例代碼相關的已知及其相應的解決方案。
如果您執行以下指令,請參閱 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-ha 或 asant 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. |
然後系統會無限期懸置。
目前尚無解決方案。這種問題同樣影響在 Windows 上使用 ant 目標的所有 Enterprise Edition 範例。解決方法是按下 Ctrl+C 登出當機程序,然後再重新執行。
拋出的錯誤如下:
/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 部署目標。
在 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 |
從 Application Server Platform Edition 8.0 升級為 Application Server Enterprise Edition 8.2 後,嘗試存取該範例頁面時,您可能會收到一個 HTTP 404「找不到檔案」錯誤。
將範例文件從 8.0 網域複製到 8.2 網域。
如果 Solaris 全域區域中已安裝 Application Server Enterprise Edition 8.2,且隨後在稀疏本機區域中安裝了 Application Server 網域,如果部署程序期間,稀疏區域中網域的檔案權限未充分開啟,則當執行範例應用程式時,您可能會遇到某些問題。
部署程序期間,請確保 Application Server 能夠擷取用戶端 JAR 檔案 xmsClient.jar,並將其複製到範例位置 (/usr/SUNWappserver/appserver/samples/webservices/security/ejb/apps/xms/xmsClient.jar)。通常該作業可由範例工具自動完成,但是如果 xmsClient.jar 上的權限未開啟,則會失敗。