2015-01-14 21 views
0

我想发送消息到我的默认队列在wildfly和当我调用“sendMessage()”JMSContext给我一个空指针异常。我可以修复什么?JMSContext空指针异常 - wildfly 8.2.0默认队列

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

}

回答

0

我只是绊了同样的错误(在我的情况,我试图注入JMSContext成一个Servlet)。

这是一个失踪的beans.xml文件。在我的情况下,它属于war文件的WEB-INF文件夹。我有犯规需要CDI任何bean.xml工作EJB应用程序 - 尽管我怀疑它在其他情况年代开始以及https://docs.jboss.org/author/display/WFLY8/Developer+Guide#DeveloperGuide-Whicharetheimplicitmoduledependencies%3F

:显然,焊接子系统才开始时,它是存在的。

0

你不能调用“提前”的连接工厂。它不会在你的豆建设期间注入。直接注入JMSContext可能更容易。

public class SendMsg { 


//@Resource(lookup = "java:/ConnectionFactory") 
//ConnectionFactory connectionFactory; 

@Inject 
JMSContext context; //=connectionFactory.createContext();