0

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

当我在 Eclipse 的小程序查看器中运行小程序时,我的代码运行良好,接收端在白板上绘制坐标

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


java.lang.ExceptionInInitializerError at org.apache.activemq.ActiveMQConnectionFactory.setBrokerURL(ActiveMQConnectionFactory.java:373) at org.apache.activemq.ActiveMQConnectionFactory.(ActiveMQConnectionFactory.java:135) at org.apache.activemq.ActiveMQConnectionFactory.(ActiveMQConnectionFactory. java:131) at jmspub.Pub.init(Pub.java:26) at sun.applet.AppletPanel.run(AppletPanel.java:436) at java.lang.Thread.run(Thread.java:636) 原因: java.security.AccessControlException:在 java.security.AccessController.checkPermission(AccessController.java:553) 的 java.security.AccessControlContext.checkPermission(AccessControlContext.java:342) 的访问被拒绝 (java.util.PropertyPermission * 读、写) java.lang.SecurityManager.checkPermission(SecurityManager.java:549) 在 java.lang.SecurityManager。checkPropertiesAccess(SecurityManager.java:1269) at java.beans.PropertyEditorManager.setEditorSearchPath(PropertyEditorManager.java:169) at org.apache.activemq.util.IntrospectionSupport.(IntrospectionSupport.java:57) ... 6 更多


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

请帮助我找到解决方案....

4

2 回答 2

0

AccessControlExceptions 表明这个小程序需要被信任。

OTOH这个说法是可疑的。

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

那个字符串是怎么形成的?它是否指向“家庭”服务器?如果是这样,JRE 似乎会被混淆,并且小程序不需要签名。

于 2011-02-15T02:14:48.650 回答
0

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

于 2011-02-15T13:02:14.757 回答