Аплет не инициализируется в браузере при использовании jms для подключения к activemq

Я создал java-апплет, который действует как доска и передает координаты в реальном времени с помощью jms, подключенного к брокеру activemq с помощью сервера приложений Websphere.

Пока я запускаю апплет в программе просмотра апплетов eclipse, мой код работает нормально, а принимающая сторона рисует координаты на доске.

когда я вставляю апплет в html-файл и пытаюсь запустить его через браузер, я получаю сообщение об ошибке «апплет не инициализирован». Я попытался запустить то же самое через appletviewer, предоставленный sun (я использую linux-fedora), я получаю эту ошибку в терминале: -


java.lang.ExceptionInInitializerError в org.apache.activemq.ActiveMQConnectionFactory.setBrokerURL (ActiveMQConnectionFactory.java:373) в org.apache.activemq.ActiveMQConnectionFactory. (ActiveMQConnectionFactory.ActiveMQConnectionFactory. (ActiveMQConnectionFactory.ActiveMQConnectionFactory. (ActiveMQConnectionFactory). java: 131) в jmspub.Pub.init (Pub.java:26) в sun.applet.AppletPanel.run (AppletPanel.java:436) в java.lang.Thread.run (Thread.java:636) Причина: java.security.AccessControlException: доступ запрещен (java.util.PropertyPermission * чтение, запись) в java.security.AccessControlContext.checkPermission (AccessControlContext.java:342) в java.security.AccessController.checkPermission (AccessController.java:553) в java.lang.SecurityManager.checkPermission (SecurityManager.java:549) в java.lang.SecurityManager.checkPropertiesAccess (SecurityManager.java:1269) в java.beans.PropertyEditorManager.setEditorSearchPath (в PropertyEditor:16Manager) .activemq.util.IntrospectionSupport. (IntrospectionSupport.java:57) ... еще 6


ошибка находится в этой строке кода: - ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory ("tcp: // localhost: 61616");

Пожалуйста, помогите мне найти решение ....


person Chirag    schedule 14.02.2011    source источник
comment
Вы должны указать, какую версию activemq вы используете.   -  person Hiram Chirino    schedule 15.02.2011


Ответы (2)


AccessControlExceptions указывают на то, что этому апплету нужно доверять.

OTOH это утверждение подозрительно.

ActiveMQConnectionFactory factory = new 
    ActiveMQConnectionFactory("tcp://localhost:61616");

Как формируется эта Строка? Указывает ли он на «домашний» сервер? Если это так, JRE кажется сбитым с толку и апплет не будет нуждаться в подписи.

person Andrew Thompson    schedule 15.02.2011

Похоже, ActiveMQ пытается зарегистрировать PropertyEditor, что не разрешено изолированной программной средой безопасности апплета. Я открыл отчет об ошибке AMQ-3181. Все должно работать нормально, даже если редактор свойств не зарегистрирован, так что это простой случай, когда нужно просто перехватить исключение.

person Hiram Chirino    schedule 15.02.2011