2015-01-14 57 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();