JMSContext空指针异常-wildfly 8.2.0默认队列

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

我试图将消息发送到wildfly中的默认队列,当我调用“sendMessage()”时,JMSContext会给我一个空指针异常。我能修什么

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();