jboss 6 で認証にデータベース サーバー ログイン モジュールを使用しているときに、hsqldb データベース マネージャー GUI でプリンシパルとロールを管理するのに非常に役立つことがわかりました。これは、JMX コンソールから呼び出すことができます。JMX コンソールを使用しているのと同じマシンにアプリケーション サーバーが存在する場合、まったく問題はありません。
現在、アプリケーションサーバーが別のマシンで実行されている状況にあります。たとえば、ssh経由で接続するLinuxボックス、 デバッグなどのログをtail -fし、プレーンなVistaがインストールされたマシンで開発しています.
もちろん、JMX コンソールには引き続きアクセスできますが、今回は hsqldb データベース マネージャー ウィンドウを表示することができません。
私は特別な設定をせずに従来の XMing X サーバーをインストールしました (私は X サーバーにあまり詳しくないので、実際にはデフォルト設定を使用しています)、DISPLAY 環境変数を設定してエクスポートする必要があることがわかりました次のように、リモート マシン上で開発マシンを指すようにします。
set DISPLAY=192.168.0.5:0
export DISPLAY
また、リモート DISPLAY 変数が指す同じ IP アドレスへの X11 転送用に、ssh クライアント (単純なパテ) を構成しました。
JMX コンソールからデータベース マネージャーを起動しようとすると、次の例外トレースが表示されます。
ERROR [org.jboss.jdbc.HypersonicDatabase] (Thread-33) Failed to start database manager: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_17]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [:1.6.0_17]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [:1.6.0_17]
at java.lang.reflect.Method.invoke(Method.java:616) [:1.6.0_17]
at org.jboss.jdbc.HypersonicDatabase$1.run(HypersonicDatabase.java:530) [:6.0.0.Final]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
at java.lang.Class.forName0(Native Method) [:1.6.0_17]
at java.lang.Class.forName(Class.java:186) [:1.6.0_17]
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82) [:1.6.0_17]
at java.awt.Window.init(Window.java:385) [:1.6.0_17]
at java.awt.Window.<init>(Window.java:438) [:1.6.0_17]
at java.awt.Frame.<init>(Frame.java:419) [:1.6.0_17]
at javax.swing.JFrame.<init>(JFrame.java:218) [:1.6.0_17]
at org.hsqldb.util.DatabaseManagerSwing.main(Unknown Source) [:6.0.0.Final]
... 5 more