おそらく DNS の問題が原因で、wsadmin が長時間接続します。理想的には、ルート (DNS) の問題を解決する必要がありますが、回避策として次のことを試すことができます。
次の Jython スクリプトを set_dns_props.py として保存します。
for jvm in AdminConfig.list('JavaVirtualMachine').splitlines():
AdminConfig.create('Property', jvm, [ ['name', 'networkaddress.cache.negative.ttl'], ['value', '600'] ])
AdminConfig.create('Property', jvm, [ ['name', 'java.net.preferIPv4Stack'], ['value', 'true'] ])
AdminConfig.create('Property', jvm, [ ['name', 'networkaddress.cache.ttl'], ['value', '-1'] ])
AdminConfig.create('Property', jvm, [ ['name', 'com.ibm.cacheLocalHost'], ['value', 'true'] ])
AdminConfig.save()
次に wsadmin を開始します。
./wsadmin.sh -lang jython -f set_dns_props.py -user USERNAME - password PASSWORD -host LOCALHOST -port 9999 -javaoption -Djava.net.preferIPv4Stack=true -javaoption -Dnetworkaddress.cache.negative.ttl=600 -javaoption -Dnetworkaddress.cache.ttl=-1 -Dcom.ibm.cacheLocalHost=true
次に、AdminConsole にログオンし、すべてのノードが同期されていることを確認し (WAS ND を想定)、最後にすべてのサーバー、ノードエージェント、およびデプロイメントマネージャーを再起動します。
その後、常に次の構文を使用して wsadmin セッションを開始します。
./wsadmin.sh -lang jython -user USERNAME - password PASSWORD -host LOCALHOST -port 9999 -javaoption -Djava.net.preferIPv4Stack=true -javaoption -Dnetworkaddress.cache.negative.ttl=600 -javaoption -Dnetworkaddress.cache.ttl=-1 -Dcom.ibm.cacheLocalHost=true
上記のトリックは、サーバーおよびクライアント JVM の DNS および TCP/IP 関連のプロパティを構成します。
-conntype NONE オプションは、自分が何をしているのかわかっている場合にのみ使用してください。
- 要するに、wsadmin セッション中にサーバーが停止し、構成とアプリケーションのみを操作する場合に、最高の価値が得られます。-conntype NONE を使用すると、サーバーを初めて起動する前に、構成を適用する機会が得られます。新しい環境をセットアップするときに非常に便利です。
- -conntype NONE では WAS ランタイムにアクセスできません。
- このような wsadmin (-conntype NONE) セッション中にサーバーが始動された場合、WAS 構成に加えられた変更は、サーバーを再始動しないと反映されない可能性が非常に高くなります。サーバーは、構成ファイルが変更されていることを認識していません。