上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

glassfish 2.1 の asadmin start-domain からの応答が一切返ってこない…。全自動でサーバを立ち上げたい人達(おいらだけ?)の怒りのメモ。

結論から言えば、原因は分かったけど対策があるのかどうかは分からない。

ちなみに、以下はおいらが glassfish の開発コミュニティ宛に出したバグレポート。…今回も中学生レベルの英語で果たして通じるのだろうか…。合言葉は「コードは世界を繋ぐ共通言語」、ほれ!for(int i=0; i<3; i++) you.turn(); you.say("wan!"); …ちなみに 前回は、苦闘しながらも何とか通じた…果たして今回は? …異国の技術者達へ毎度毎度、本当にすみません。

[glassfish: Issue 9443] asadmin start-domain does not return control.

どういうバグかの興味はあるけど、おまえの間違いだらけの英語なんぞ読めるか…という賢明な方々は、追記でまだマシなニホンゴを披露しているのでそちらを参照。

役に立ったらぽちっとよろしく。 人気ブログランキングへ


まず、start-domain で停止した状況で JConsole を立ち上げ止まった状況を調べると、 以下の四つのプロセスが表れる。

com.sun.enterprise.cli.framework.CLIMain start-domain --verbose=true --user admin --passwordfile D:\development\vmap_else\cmd\setup.xml/../password vmapDomain	1220
org.apache.tools.ant.launch.Launcher -cp .;D:\Program Files (x86)\QuickTime\QTSystem\QTJava.zip -buildfile setup.xml	3280
com.sun.enterprise.server.PELaunch start verbose	4268
sun.tools.jconsole.JConsole	4948

この内、重要なプロセスは CLIMain と PELaunch。(他は ANT のプロセスと JConsole 自身のプロセス。) で、CLIMain (asadmin のプロセス) の main スレッドを調べて見たら…。

名前: main
状態: RUNNABLE
ブロック : 27  待機中 : 0

stack trace: 
java.lang.ProcessImpl.waitFor(Native Method)
com.sun.enterprise.admin.servermgmt.launch.ASLauncher.executeBackgroundCommand(ASLauncher.java:620)
com.sun.enterprise.admin.servermgmt.launch.ASLauncher.executeCommand(ASLauncher.java:480)
com.sun.enterprise.admin.servermgmt.launch.ASLauncher.process(ASLauncher.java:445)
com.sun.enterprise.admin.servermgmt.pe.PEInstancesManager.startInstanceAllJava(PEInstancesManager.java:287)
com.sun.enterprise.admin.servermgmt.pe.PEInstancesManager.startInstance(PEInstancesManager.java:162)
   - ロックされる java.lang.Class@7889fe65
com.sun.enterprise.ee.admin.servermgmt.EEDomainsManager.startDomain(EEDomainsManager.java:476)
com.sun.enterprise.cli.commands.StartDomainCommand.startDomain(StartDomainCommand.java:148)
com.sun.enterprise.cli.commands.StartDomainCommand.runCommand(StartDomainCommand.java:215)
com.sun.enterprise.cli.framework.CLIMain.invokeCommand(CLIMain.java:171)
com.sun.enterprise.cli.framework.CLIMain.main(CLIMain.java:79)

ここで注目なのは、ProcessImpl.waitFor が何を待ってるの?って事。既にプロセスが終わっている場合は、Process#waitForはすぐに終了する仕様だから…残りのプロセスは PELaunch 。これって、どう考えても アプリケーションサーバのプロセス? そんなのいつまで待っても終わらない… 試しに asadmin stop-domainと別のDOS窓から打つと、どっかいってたプロンプトが復活する…。

これって、たぶんバグじゃない?って話…。

スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する

トラックバック
この記事のトラックバックURL
この記事へのトラックバック
Copyright © ふらふら技術者の日記 All Rights Reserved.
Powered by FC2 Blog
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。