MDB escutando uma Queue em outra instancia do JBoss

Galera, estou um pouco enrolado pra fazer meu MDB escutar as mensagens de uma fila gerada por JMS numa outra instancia de JBoss. Gostaria que alguám pudesse me ajudar com isso.
Desde já agradeço

Qual o problema mesmo ? :roll:

Meu JMS que esta em uma instancia do JBoss cria a Queue e manda mensagens pra ela. Porém, meu MDB numa outra instacia do JBoss não esta enxergando essa Queue.

Voce tem uma Queue no “JBoss Server A” que cria um MDB que fica escutando por mensagens.

Você faz lookup e envia a mensagem pra ele…
A mensagem nao esta chegando é isso ?

Qual exception ocorre ? Olhou os logs do servidor ?

Isso aqui??

http://wiki.jboss.org/wiki/Wiki.jsp?page=HowDoIConfigureAnMDBToTalkToARemoteQueue

Fiz exatamente oq esta nesse Wiki, porem deu o seguinte erro:
No Attribute found with name: ProviderUrl

[quote=llemosjr]Fiz exatamente oq esta nesse Wiki, porem deu o seguinte erro:
No Attribute found with name: ProviderUrl[/quote]

Qual a versão do seu JBoss ? Pelo que vi no fonte do JMSProviderLoader esta propriedade já era “deprecated” na versão 3.2.5, e, o que é mais relevante, ignorada (cf o que vi no fonte). Isto significa que é possível que ela não mais exista nas versões mais recentes.

Tente usar a variante que aparece logo depois no texto, com o atributo “Properties” definindo os parâmetros de JNDI da outra instância do JBoss.

Cara, colquei dessa forma também e ao subir o JBoss ele da falta do DefaultJMSProvider.
Será que no jms-ds.xml terei q ter os dois? É pq qnd eu coloquei o Remote eu comentei o Default.
Abraços!

meus arquivos estao assim:

  • jms-ds.xml
...
  <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
	 name="jboss.mq:service=JMSProviderLoader,name=RemoteMQProvider,server=queuehost">
    <attribute name="ProviderName">QueuehostJMSProvider</attribute>
    <attribute name="ProviderAdapterClass">
      org.jboss.jms.jndi.JNDIProviderAdapter
    </attribute>
    <!-- The combined connection factory -->
    <attribute name="FactoryRef">java:/XAConnectionFactory</attribute>
    <!-- The queue connection factory -->
    <attribute name="QueueFactoryRef">java:/XAConnectionFactory</attribute>
    <!-- The topic factory -->
    <attribute name="TopicFactoryRef">java:/XAConnectionFactory</attribute>
    <!-- Uncomment to use HAJNDI to access JMS -->
    <attribute name="Properties">
       java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
       java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
       java.naming.provider.url=jnp://localhost:1099
    </attribute>
    
  </mbean>
...
  • jboss.xml
...<jboss>
  <enterprise-beans>
      <message-driven>
         <ejb-name>JmsMonsterBean</ejb-name>
         <destination-jndi-name>queue/filaMalefica</destination-jndi-name>
         <invoker-bindings>
            <invoker>      
               <invoker-proxy-binding-name>my-mdb-invoker</invoker-proxy-binding-name>
            </invoker>
         </invoker-bindings>
      </message-driven>
   </enterprise-beans>
  
  <invoker-proxy-bindings>
  	<invoker-proxy-binding>
      <name>my-mdb-invoker</name>
      <invoker-mbean>does-not-matter</invoker-mbean>
      <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
      <proxy-factory-config>
        <JMSProviderAdapterJNDI>QueuehostJMSProvider</JMSProviderAdapterJNDI>
        <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
        <MinimumSize>1</MinimumSize>
        <MaximumSize>15</MaximumSize>
        <KeepAliveMillis>30000</KeepAliveMillis>
        <MaxMessages>1</MaxMessages>
        <MDBConfig>
           <ReconnectIntervalSec>10</ReconnectIntervalSec>
           <DLQConfig>
              <DestinationQueue>queue/DLQ</DestinationQueue>
              <MaxTimesRedelivered>10</MaxTimesRedelivered>
              <TimeToLive>0</TimeToLive>
           </DLQConfig>
        </MDBConfig>
      </proxy-factory-config>
    </invoker-proxy-binding>
  </invoker-proxy-bindings>

</jboss>
...
  • ejb-jar.xml
...
<message-driven>
         <description>
	              EJB Message-driven bean para obter o monitoramento do chat.
         </description>
         <ejb-name>JmsMonsterBean</ejb-name>
         <ejb-class>JmsMonsterBean</ejb-class>
         <transaction-type>Container</transaction-type>
         <message-driven-destination>
         <destination-type>javax.jms.Queue</destination-type>
         </message-driven-destination>
      </message-driven>
...