JMSContext空指针异常-wildfly 8.2.0默认队列
我试图将消息发送到wildfly中的默认队列,当我调用“sendMessage()”时,JMSContext会给我一个空指针异常。我能修什么JMSContext空指针异常-wildfly 8.2.0默认队列,jms,wildfly-8,Jms,Wildfly 8,我试图将消息发送到wildfly中的默认队列,当我调用“sendMessage()”时,JMSContext会给我一个空指针异常。我能修什么 public class SendMsg { @Resource(lookup = "java:/ConnectionFactory") ConnectionFactory connectionFactory; JMSContext context=connectionFactory.createContext(); @Resource(map
public class SendMsg {
@Resource(lookup = "java:/ConnectionFactory")
ConnectionFactory connectionFactory;
JMSContext context=connectionFactory.createContext();
@Resource(mappedName="java:/jms/queue/test")
Queue queue;
public void sendMessage(String message) {
System.out.println("fancy beans");
context.createProducer().send(queue, message);
}
}我刚刚遇到了同样的错误(在我的例子中,我试图将JMSContext注入Servlet) 它是一个丢失的
beans.xml
文件。在我的例子中,它属于war文件的WEB-INF文件夹。显然,焊接子系统仅在存在时启动:
尽管我怀疑它也是在其他情况下启动的-我有一个EJB应用程序,它不需要任何
bean.xml
来让CDI工作。你不能这么早就调用连接工厂。它不会在构建bean的过程中被注入。直接注入JMSContext可能更容易
public class SendMsg {
//@Resource(lookup = "java:/ConnectionFactory")
//ConnectionFactory connectionFactory;
@Inject
JMSContext context; //=connectionFactory.createContext();