2014-10-03 7 views
0

JBoss 5 프로세스에 MDB를 배포하는 데 정말로 필요한 설정 등록 정보를 이해하려고합니다. 리모트 JMS 프로 Y 이더에 설정된 큐의 메시지. ejb-jar.xml을 사용하여 정품 인증 사양을 구성 할 계획이며 더 이상 필요하지 않은 제품 만 구성하도록하지는 않습니다. 내 이해는 사양에 대한 허용 된 구성이 사용중인 ra.xml에 구성되어 있다는 것입니다. 나는 JMS-ra.rar에서 ra.xml에 대한 보면 나는 아래 inbound-resourceadapter 요소MDB가 기본 jms-ra.rar를 사용하여 JBoss 5의 원격 대기열을 수신 대기해야하는 활성화 설정 속성

<inbound-resourceadapter> 
    <messageadapter>   
     <messagelistener> 
      <messagelistener-type>javax.jms.MessageListener</messagelistener-type> 
      <activationspec> 
       <activationspec-class>org.jboss.resource.adapter.jms.inflow.JmsActivationSpec</activationspec-class> 
       <required-config-property> 
        <config-property-name>destination</config-property-name> 
       </required-config-property> 
      </activationspec> 
     </messagelistener> 
    </messageadapter> 
    </inbound-resourceadapter> 

만을 대상 속성이 필수입니다을 볼 수 있습니다. 필자의 경우이 대상은 원격이므로 필요한 JNDI 속성을 가진 JMSProviderLoader와이 JMSProviderLoader를 참조하는 연결 팩토리를 모두 구성하기 위해 추가 한 새 [myprovidername] -ds.xml 파일에서 구성했습니다. 나는 단지 대상을 추가하면 MDB는 그 특정 원격 JMS 공급자로부터 알고하는 방법을 이해할 수 없다, 나는 ra.xml에서 outbound-resourceadapter 요소는 아래 지정하는 보는가 :

<config-property> 
    <description>The jndi name of the provider of connection factories</description> 
    <config-property-name>JmsProviderAdapterJNDI</config-property-name> 
    <config-property-type>java.lang.String</config-property-type> 
    <config-property-value>java:DefaultJMSProvider</config-property-value> 
</config-property> 

그러나에서 판단 단어는 인바운드 흐름에는 적용되지 않습니다.

요약하면 MDB가 수신 대기하도록하려면 대상 만 필요합니까? 그렇다면 동일한 대상 이름을 가진 여러 공급자를 가질 수 있다는 점에서 JMS 공급자가 어떤 것인지 어떻게 알 수 있습니까?

감사

답변

0

마법은 인바운드 ResourceAdapter에에 구성된 활성화 사양과 함께 제공 :

<activationspec-class>org.jboss.resource.adapter.jms.inflow.JmsActivationSpec</activationspec-class> 

소스 쇼에 찾고, 그 자바 :/DefaultJMSProvider는 기본적으로 하드 세트입니다 providerAdapterJNDI이므로이 부분은 아웃 바운드 부분에 대해 명시 적으로 구성된 것과 동일하게 자동으로 사용됩니다.

다른 모든 것들은 JmsActivationSpec에서 실행 가능한 기본값을 가지고 있기 때문에 목적지는 필수 속성으로 만 필요합니다.

은 당신이 당신의 *의 -ds.xml에서 "기본"하나가 될 수있는 자신의 JMSProviderLoader 이름으로, 모든 작동합니다 :

<attribute name="ProviderName">DefaultJMSProvider</attribute> 

그렇지 않으면 당신이 명시 적으로 따라 속성을 설정해야 할 것입니다 귀하의 MDB에 대한 활성화 스펙