我创建了一个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");
请帮我找一个解决方案......
答案 0 :(得分:0)
AccessControlExceptions指示此applet需要信任。
OTOH这句话很可疑。
ActiveMQConnectionFactory factory = new
ActiveMQConnectionFactory("tcp://localhost:61616");
该String是如何形成的?它是否指向“主页”服务器?如果确实如此,那么JRE似乎很困惑,applet也不需要签名。
答案 1 :(得分:0)
看起来ActiveMQ正在尝试注册applet安全沙箱不允许的PropertyEditor。我已经打开了错误报告AMQ-3181。即使属性编辑器没有注册,每件事都应该可以正常工作,所以这只是一个简单的例子,只需要捕获异常。