JBoss [EAP] 5.0.0.GA를 사용하고 있으며 사용하는 JMS 대기열의 존재 여부에 따라 일부 MDB가 포함 된 EJB jar가 포함 된 EAR이 있습니다. .../server/all/deploy/messaging/myqueues-service.xml
에 대기열을 구성 할 때 아무런 문제가 없었습니다.JBoss 5에서 EJB 및 JMS 대기열 구성 배포를 주문하는 방법은 무엇입니까?
그러나 JBoss 구성을 직접 변경하지 않아도되도록 EAR 파일에 대기열을 구성하려고합니다. 문제 없습니다, 나는 EAR의 루트에 내 myqueues-service.xml
파일을 두지 다음과 같이 내 jboss-app.xml
에 대한 참조를 추가 : 그러나
<jboss-app>
<module-order>strict</module-order>
<loader-repository>
seam.jboss.org:loader=my-ear.ear
</loader-repository>
<module>
<service>myqueues-service.xml</service>
</module>
</jboss-app>
, 나는 보스가 내 귀에 포함 된 EJB 항아리 (로드하도록 할 때. ear)을 먼저 구성한 다음 나중에 JMS 대기열을 구성합니다. MDB를로드 할 때이 오류가 발생합니다
12:16:12,698 INFO [JmsActivation] Attempting to reconnect [email protected]
12:16:12,823 INFO [JmsActivation] Reconnected with messaging provider.
을하지만 난 정말 어떤을 피하기 위해 싶습니다
12:16:02,714 WARN [JmsActivation] Failure in jms activation [email protected] .....
javax.naming.NameNotFoundException: MyQueue not bound
그것은으로 나중에 MDB를 성공적으로 JMS에 다시 연결, 큰 문제가되지 않습니다 오류가 발생하고이를 수행하기 위해 EJB jar를로드하기 전에 먼저 JBoss가 JMS 대기열을 강제로 구성하도록해야합니다. 이 일을 할 수있는 방법이 있습니까? 참고로, 여기에 EAR에 대한 application.xml
있어 :
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
<display-name>my-ear</display-name>
<module>
<ejb>my-ejb.jar</ejb>
</module>
<module>
<web>
<web-uri>my.war</web-uri>
<context-root>myroot</context-root>
</web>
</module>
</application>
모든 제안은 감사합니다.
myqueues-service.xml 파일을 .../server/all/deploy/messaging/폴더에 넣지 않으려면 다음과 같이하면됩니다. EAR 중 하나를 선택하면 .../server/all/deploy /에 넣을 수 있습니다 (Eclipse에서 "Deploy Deployable"을 사용하거나 거기에 복사). 따라서 MDB에서 명시 적 종속성을 선언 할 필요가 없으며, 동시에 기본 JBoss 서버 구성을 변경하지 않아도됩니다. – mluisbrown