jsf2+spring3+jpa 在jboss 6.1.0上的JMS配置遇到的問題(採用jboss hornetq訊息中介軟體)
寫下一些配置過程遇到的問題 (application.xml裡怎麼配置什麼的網上很多,就不寫了)
<jee:jndi-lookup id="jmsConnectionFactory" jndi-name="java:ConnectionFactory"></jee:jndi-lookup>
遇到"ConnectionFactory not bound"的錯誤,可是在jboss jmx-console上檢視jndi name 是有ConnectionFactory,說明有bound的
解決辦法:把伺服器的deployment設定為 user workspace metadata,而不是jboss deploy folder
(斯認為是部署的順序不同導致的,放在jboss deploy folder(在jboss 6.10下是\${JBOSS_HOME}\server\default\deploy),部署application.xml的時候可能connectionfactory還沒有bound,而程式部署在use workspace metadata時,是先部署完jboss伺服器的一些東西,再部署程式的.還未研究jboss啟動過程部署的順序,有了解的同學希望解答)
自己定義了一個存放訊息的類Msg
訊息實體採用ObjectMessage
傳送訊息objectMessage.setObjcet(msg)的時候沒有問題,傳送成功
但在訊息監聽器onMessage()收到訊息的時候呼叫ObjectMessage.getObjce()方法的時候報 "class not found :packageName.Msg "之類的錯誤,百度google好像是jboss horneqt 自帶的類載入器的問題
解決辦法:
ClassLoader originalTCCL = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); //設定類載入器為當前的類載入器
try {
if(message instanceof ObjectMessage)
{
msg=(ChatMessage) ((ObjectMessage) message).getObject();
//處理msg
}
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
Thread.currentThread().setContextClassLoader(originalTCCL); //退出後再恢復成原來的類載入器
}
相關文章
- 請教各位大蝦:在JBoss下使用JMS通訊機制遇到的問題
- 訊息中介軟體與JMS標準
- WID/WPS 中開發、配置 JMS 作為訊息中介軟體的應用
- 中介軟體jboss7配置log日誌與配置
- 在jboss上部署應用的問題。
- 訊息中介軟體應用的常見問題與方案
- jboss中介軟體應用伺服器下載地址伺服器
- 一個jboss的應用問題
- 訊息中介軟體的應用場景
- 在如何實現兩個JBoss之間的訊息通訊?
- 訊息中介軟體
- JBoss和WebService的問題Web
- 中介軟體之訊息中介軟體-pulsar
- 得物技術訊息中介軟體應用的常見問題與方案
- Jboss3.0和Jbuilder7的配置問題?S3UI
- 訊息中介軟體rabbitMQMQ
- redhat5.4部署中介軟體jboss7Redhat
- JBOSS與JBuilder的整合問題!UI
- jboss下mysql的中文問題MySql
- 螞蟻訊息中介軟體 (MsgBroker) 在 YGC 優化上的探索GC優化
- 訪問jboss上EJB遠端介面問題
- JBoss下配置資料來源問題
- 訊息中介軟體—RocketMQ訊息傳送MQ
- jboss訪問資料庫的問題資料庫
- 訊息中介軟體選型
- 訊息中介軟體之ActiveMQMQ
- 分散式訊息中介軟體分散式
- jboss直接執行類的問題?
- jboss建立新檔案的問題
- 使用JBOSS開發CMP的問題?
- JBOSS 做專案時的問題 有關Jboss, Mbean, Session bean 求助BeanSession
- 訊息中介軟體—Kafka 的設計思想Kafka
- 訊息中介軟體Notify和MetaQ-阿里中介軟體阿里
- 請教:在linux上透過程式啟動jboss321的問題LinuxS3
- JBOSS遇到‘jboss.mq:service=DestinationManager’報錯MQ
- 訊息中介軟體—RocketMQ的RPC通訊(一)MQRPC
- 在JBoss裡部署testWeb出現了問題Web
- 淺談訊息佇列及常見的訊息中介軟體佇列