在部署ejb的消息驅(qū)動bean時遇到了如下的錯誤:
error [org.jboss.resource.adapter.jms.inflow.jmsactivation] (workmanager(2)-2) unable to reconnect
org.jboss.resource.adapter.jms.inflow.jmsactivationspec@2705ea(ra=org.jboss.resource.adapter.jms.
jmsresourceadapter@737612 destination=queue/myqueue destinationtype=javax.jms.queue tx=true durable=false
reconnect=10 provider=java:/defaultjmsprovider user=null maxmessages=1 minsession=1 maxsession=15 keepalive=60000
usedlq=true dlqhandler=org.jboss.resource.adapter.jms.inflow.dlq.genericdlqhandler dlqjndiname=queue/dlq
dlquser=null dlqmaxresent=5)
javax.naming.namenotfoundexception: myqueue not bound
解決方案一:
在jboss根目錄\server\default\deploy下的mail-service.xml文件中添加以下代碼:
queue/myqueue jboss.mq:service=destinationmanager
解決方案二:
在jboss的server\default\deploy目錄中建立一個xxx-service.xml文件,其中xxx可以任意取值,但必須跟“-service”后綴,例如,mdb-service.xml。該文件可以放在deploy或其子目錄(可以是多層子目錄)中。該文件的內(nèi)容如下:
jboss.mq:service=destinationmanager
原因:
消息驅(qū)動bean的注解如下:
@messagedriven( activationconfig = { @activationconfigproperty(propertyname="destinationtype", propertyvalue="javax.jms.queue"), @activationconfigproperty(propertyname="destination", propertyvalue="queue/myqueue") } )
消息驅(qū)動bean需要使用@messagedriven進行注解。要注意的是destination屬性的值是queue/myqueue。jboss不會自已建立一個queue對象,因此,需要手工來配置queue對象。
ok,采用以上解決方案的一種即可解決此問題,只需重新部署一下我們編寫的消息驅(qū)動bean,然后運行客戶端,你會發(fā)現(xiàn)已經(jīng)成功的調(diào)用到了我們的消息驅(qū)動bean。
- jsp+servlet實現(xiàn)文件上傳與下載功能
- EJB3.0部署消息驅(qū)動Bean拋javax.naming.NameNotFoundException異常
- 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
- 秒殺系統(tǒng)Web層設(shè)計的實現(xiàn)方法
- 將properties文件的配置設(shè)置為整個Web應用的全局變量實現(xiàn)方法
- JSP使用過濾器防止Xss漏洞
- 在JSP頁面中動態(tài)生成圖片驗證碼的方法實例
- 詳解JSP 內(nèi)置對象request常見用法
- 使用IDEA編寫jsp時EL表達式不起作用的問題及解決方法
- jsp實現(xiàn)局部刷新頁面、異步加載頁面的方法
- Jsp中request的3個基礎(chǔ)實踐
- JavaServlet的文件上傳和下載實現(xiàn)方法
- JSP頁面的靜態(tài)包含和動態(tài)包含使用方法