我想在eclipse中运行jms教程文件。我已正确配置glassfish并添加了jms资源。如果我在netbeans中运行它就可以了。
我在eclipse中创建了一个“应用程序客户端项目”。
以下是注入资源的地方:
@Resource(mappedName = "jms/ConnectionFactory")
private static ConnectionFactory connectionFactory;
@Resource(mappedName = "jms/Queue")
private static Queue queue;
@Resource(mappedName = "jms/Topic")
private static Topic topic;
然后,当它到达时:
connection = connectionFactory.createConnection();
我收到NullPointerException。由于某种原因,它无法从服务器获取资源,因此它们为空。
如果我在eclipse中构建项目然后使用appclient从命令行运行它,它会起作用:
appclient Producer topic 4
应用程序客户端模块用于包含全功能客户端 连接并使用Java的Java™应用程序(非基于Web) 服务器中定义的EE资源。将客户端代码放入时 一个应用程序客户端模块,而不是一个简单的JAR文件, 应用程序客户端受益于服务器的资源(它没有 需要重新指定Java EE和服务器JAR文件的类路径) 以及更简单的JNDI查找(客户端容器填写 初始背景和其他参数)。
所以我似乎在正确的轨道上,但也许我错过了一些日食配置。
答案 0 :(得分:4)
正如您已经注意到的,如果您在独立模式下运行应用程序,您将无法访问服务器资源,这是设计使然。您需要使用Glassfish appclient
(或其他应用程序服务器的类似工具)才能运行Java EE Client App。
这是另一个可以帮助您将项目配置为正确运行的线程:eclipse howto start a application client on java ee glassfish appl srv。