Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107

    [Java] Jboss e topic remote

    Ciao a tutti; qualcuno sa come posso configurare JBoss affinché riesca a comunicare su topic remoti?
    Cioè.... supponiamo io abbia un server A; su questo server A ho un topic in cui il mio publisher publica i messaggi;
    ora sui server B e C ho degli MDB e vorrei che questi fossero in ascolto sul topic presente sul server A.... come posso fare?
    Uso JBoss 3.2.5
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao a tutti; nel caso dovesse servire a qualcuno ecco i passi da seguire:

    codice:
    1.	Inserire sulla macchina dove è montato l’MDB (e cioè quella che è in ascolto sul topic remoto) nel file il jms-ds.xml il seguente tag:
    <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
    	 name="jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=Whatever">
        <attribute name="ProviderName">RemoteJMSProvider</attribute>
        <attribute name="ProviderAdapterClass">
          org.jboss.jms.jndi.JNDIProviderAdapter
        </attribute>
        
        <attribute name="QueueFactoryRef">XAConnectionFactory</attribute>
        
        <attribute name="TopicFactoryRef">XAConnectionFactory</attribute>
        
        <attribute name="Properties">
           java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
           java.naming.factory.url.pkgs=org.jnp.interfaces
           java.naming.provider.url=nomeHost:1099
        </attribute>
    
      </mbean>
    Senza sostituire il vecchio MBean.
    2.	Settare in jboss.xml l’invoker bindings che sarà di questo tipo:
      <invoker-proxy-bindings>
        <invoker-proxy-binding>
          <name>RemoteTopic</name>
          <invoker-mbean>remote</invoker-mbean>
          <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
          <proxy-factory-config>
            <JMSProviderAdapterJNDI>RemoteJMSProvider</JMSProviderAdapterJNDI>
            <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
            <MinimumSize>1</MinimumSize>
            <KeepAliveMillis>30000</KeepAliveMillis>
            <MaxMessages>10</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>
    
    3.	Il file jboss.xml alla fine sarà:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
    <jboss>
      <enterprise-beans>
        <message-driven>
          <ejb-name>TestBean</ejb-name>
          <destination-jndi-name>topic/angelo</destination-jndi-name>
          <mdb-subscription-id>mySubscription</mdb-subscription-id>
          <invoker-bindings>
            <invoker>
              <invoker-proxy-binding-name>RemoteTopic</invoker-proxy-binding-name>
            </invoker>
          </invoker-bindings>
        </message-driven>
      </enterprise-beans>
      <invoker-proxy-bindings>
        <invoker-proxy-binding>
          <name>RemoteTopic</name>
          <invoker-mbean>remote</invoker-mbean>
          <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
          <proxy-factory-config>
            <JMSProviderAdapterJNDI>RemoteJMSProvider</JMSProviderAdapterJNDI>
            <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
            <MinimumSize>1</MinimumSize>
            <KeepAliveMillis>30000</KeepAliveMillis>
            <MaxMessages>10</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>
    Ciao a tutti
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.