使用jms连接到activemq时,Applet未在浏览器上初始化

时间:2011-02-14 20:52:48

标签: applet jms activemq appletviewer whiteboard

我创建了一个java applet,其作用类似于白板,并使用连接到activemq代理的jms使用Websphere应用服务器传输实时坐标。

当我在eclipse的applet查看器中运行applet时,我的代码运行正常,接收端在白板上绘制坐标

当我将applet嵌入到html文件中并尝试通过浏览器运行时,我得到一个错误" applet未初始化"。 我尝试通过sun提供的appletviewer运行相同的程序(iam使用linux-fedora),我在终端中收到此错误: -


java.lang.ExceptionInInitializerError     在org.apache.activemq.ActiveMQConnectionFactory.setBrokerURL(ActiveMQConnectionFactory.java:373)     在org.apache.activemq.ActiveMQConnectionFactory。(ActiveMQConnectionFactory.java:135)     在org.apache.activemq.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 * read,write)     at 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)     at java.beans.PropertyEditorManager.setEditorSearchPath(PropertyEditorManager.java:169)     在org.apache.activemq.util.IntrospectionSupport。(IntrospectionSupport.java:57)     ......还有6个


错误出现在这行代码中: - ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(" tcp:// localhost:61616");

请帮我找一个解决方案......

2 个答案:

答案 0 :(得分:0)

AccessControlExceptions指示此applet需要信任。

OTOH这句话很可疑。

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

该String是如何形成的?它是否指向“主页”服务器?如果确实如此,那么JRE似乎很困惑,applet也不需要签名。

答案 1 :(得分:0)

看起来ActiveMQ正在尝试注册applet安全沙箱不允许的PropertyEditor。我已经打开了错误报告AMQ-3181。即使属性编辑器没有注册,每件事都应该可以正常工作,所以这只是一个简单的例子,只需要捕获异常。