Запуск менеджера баз данных hsqldb из консоли jmx с помощью jboss 6.0 - PullRequest
1 голос
/ 19 октября 2011

Используя модуль входа в систему сервера базы данных для аутентификации в jboss 6, я нашел очень полезным управление принципалами и ролями с помощью менеджера баз данных hsqldb.Это может быть вызвано через консоль JMX.Нет проблем вообще, когда сервер приложений находится на том же компьютере, с которого я использую консоль JMX.

Теперь я нахожусь в ситуации, когда сервер приложений работает, например, на другом компьютере.linux box, к которому я подключаюсь через ssh, tail -f логи для отладки и прочего, и я разрабатываю на машине с простой установкой Vista.

Конечно, консоль JMXвсе еще доступно, но на этот раз мне не удается отобразить окно менеджера баз данных hsqldb.

Я установил классический XMing X-сервер без какой-либо специальной настройки (я не очень хорошо разбираюсь в X-серверах,поэтому я практически использую настройки по умолчанию), и все, что я обнаружил, - это необходимость установить и экспортировать переменную окружения DISPLAY на удаленной машине, чтобы она указала на машину для разработки, как в:

 set DISPLAY=192.168.0.5:0
 export DISPLAY

Я также настроил свой ssh-клиент (простую замазку) для пересылки X11 на тот же ip-адрес, который находится на удаленной точке переменной DISPLAYs to.

Теперь, когда я пытаюсь вызвать менеджер баз данных из консоли 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

1 Ответ

1 голос
/ 14 ноября 2011

Решено после некоторого поворота!Проблема была в моих параметрах конфигурации Xming.Был файл с именем «X0.hosts», в который я добавил ip-адрес компьютера, на котором запущен экземпляр jboss.

Я полагаю, это может быть эквивалентным шагом для выполнения некоторого «xhost +» на linux box.

...