ここでは、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 スクリプト用に asant deploy ターゲットを使用します。これにより、アプリケーションを実行するために必要とされる JMS リソースが作成されます。
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 |
問題は、Linux での NSS ライブラリの場所が Solaris での場所と異なることにあります。Linux 上に配備する場合、LD_LIBRARY_PATH が適切な NSS ライブラリを指していることを確認する必要があります。LD_LIBRARY_PATH を環境に設定するか、install_dir/bin/asant シェルラッパースクリプトに設定します。
次のいずれかの操作を行います。
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 ドメインにコピーしてください。
Application Server Enterprise Edition 8.2 を Solaris 大域ゾーンにインストールしたあとに続けて Application Server ドメインを疎ローカルゾーンにインストールした場合、疎ゾーンのドメインのファイルアクセス権が配備プロセス中に十分開かれていないと、サンプルアプリケーションを実行するときに問題が発生することがあります。
配備プロセス中に、Application Server がクライアント JAR ファイル xmsClient.jar を検出してサンプルの場所 (/usr/SUNWappserver/appserver/samples/webservices/security/ejb/apps/xms/xmsClient.jar ) にコピーできるようにしてください。通常、これはサンプルハーネスによって自動的に実行されますが、xmsClient.jar に対するアクセス権が開かれていないと失敗します。