2012-03-15 19 views
0

私のモジュールでJOptionPane.showMessageDialog(null,ExNull)を使用しています。WeblogicサーバーにデプロイされたときにJOptionPane.showMessageDialog(null、ExNull)が表示されない

Exnullは、キャッチブロック内にトラップするとSQLExceptionです。

私の問題はTomcatサーバーで同じことがテストされたときです。JOptionPaneはうまく動作しますが、同じものがWeblogicサーバーに展開されているときにはポップアウトがポップアウトしないようです。

誰でもここで助けてもらえますか、これに代わる方法を提案できますか?

私は取得していますエラーは次のとおりです。

java.awt.HeadlessException 
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159) 
    at java.awt.Window.<init>(Window.java:431) 
    at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1673) 
    at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:846) 
    at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:650) 
    at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:621) 
    at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:592) 

答えて

0

あなたがエラーを報告するためにGUIを使用しないでくださいWebアプリケーションを開発する場合。明らかに、WebLogicはヘッドレスモードで実行することによってもこれを禁止します(つまり、GUI要素は表示できません)。

サーバアプリケーションでエラーを報告する通常の方法は、それを記録することです(たとえば、スタックトレースをファイルに書き込むなど)。周囲には多くのログライブラリ(例:Apache commons-logginglog4jまたはSLF4J)があり、簡単なものはJavaのコアAPIでもあります(API documentation of the java.util.logging packageを参照)。

EDIT:あなたは本当にWebLogic設定を変更することが可能なはずである(私はそれに対してお勧めします)GUIを表示したい場合は、次の-Djava.awt.headless=trueを探し、falseに変更します。

  • をあなたが「迅速かつ汚い」何かをデバッグしたい場合は、単にSystem.outにそれを書くことができます:あなたが考えることができ、複数の代替の回避策があるやりたい内容に応じて

  • Webアプリケーションを管理または監視する場合は、Webアプリケーションに特別な管理ページを作成することができます。したがって、アプリケーションの残りの部分と同じように、ブラウザでこの管理ページにアクセスできるので、別個のGUIは必要ありません。
  • 完全な別のアプリケーションを作成し、Webアプリケーションと通信できるようにすることも可能です(たとえば、管理/監視/デバッグポートに接続するなど)。

最後の2つの回避策を使用すると、サーバーをリモートコントロールする必要なく、開発者マシンからWebアプリケーションを監視することができます。

+0

これにはどのような工夫がありますか?あなたが何かを調査したいので、あなたがこれをしているとしましょう。 – Zo72

+0

@ Zo72:答えを編集しました。これはあなたを助けますか? – siegi

関連する問題