2009-12-14 16 views
5

मैं रिमोट कतार में संदेश भेजना चाहता हूं? मुझे क्या कदम उठाने चाहिए मुझे इसके बारे में कोई दस्तावेज नहीं मिल रहा है? कोई भी मदद कर सकता है ?? ?जेबॉस जेएमएस रिमोट कतार?

उत्तर

6

अपने $ {JBOSS_CONF} /deploy/messaging/jms-ds.xml में एक और "JMSProvider" जोड़ें। मैं इस उदाहरण में प्रदाता नाम "RemoteJMSProvider" का उपयोग करें:

<tx-connection-factory> 
    <jndi-name>RemoteJMSConnectionFactory</jndi-name> 
    <xa-transaction/> 
    <rar-name>jms-ra.rar</rar-name> 
    <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition> 
    <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Queue</config-property> 
    <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/RemoteJMSProvider</config-property> 
    <max-pool-size>20</max-pool-size> 
    <security-domain-and-application>JmsXARealm</security-domain-and-application> 
    <depends>jboss.messaging:service=ServerPeer</depends> 

अब भी, कभी भी आप एक बनाने के लिए:

<!-- Remote JMS Server--> 
<mbean code="org.jboss.jms.jndi.JMSProviderLoader" 
    name="jboss.mq:service=JMSProviderLoader,name=RemoteJMSProvider,server=your_remote_host"> 
    <attribute name="ProviderName">RemoteJMSProvider</attribute> 
    <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute> 
    <!-- The connection factory --> 
    <attribute name="FactoryRef">XAConnectionFactory</attribute> 
    <!-- The queue connection factory --> 
    <attribute name="QueueFactoryRef">XAConnectionFactory</attribute> 
    <!-- The topic factory --> 
    <attribute name="TopicFactoryRef">XAConnectionFactory</attribute> 
    <!-- Connect to JNDI on the host "the-remote-host-name" port 1099--> 
    <attribute name="Properties"> 
     java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 
     java.naming.factory.url.pkgs=org.jnp.interfaces 
     java.naming.provider.url=your_remote_host:1099 
    </attribute> 

इसके बाद, एक "दूरस्थ कनेक्शन फैक्टरी" जोड़ने "रिमोटजेएमएस फैक्टरी" के लिए कनेक्शन फैक्ट्री संदर्भ, आपके द्वारा संदर्भित किसी भी कतार को दूरस्थ सर्वर पर देखा जाएगा:

ConnectionFactory factory =(ConnectionFactory)JNDIContext.lookup("java:/RemoteJMSConnectionFactory"); 
queue = (Destination) JNDIContext.lookup("queue/myqueue"); 
connection = factory.createConnection(); 
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 
MessageProducer sender = session.createProducer(queue); 
sender.send(jmsMessage); 

यह भी देखें: http://community.jboss.org/wiki/HowDoIConfigureAnMDBToTalkToARemoteQueue

+0

यू बहुत बहुत धन्यवाद मैं इसे –

+0

किया होगा रिमोट विषय के लिए यह काम। मैं आईबीएम एमक्यू पर रिमोट विषय सुनने के लिए जेबीएसएस पर ईजेबी 3 एमडीबी का उपयोग कर रहा हूं। –

0

अपने jboss स्थापना के दस्तावेज़/उदाहरणों में देखें। रिमोट कतार से कनेक्ट करने के लिए आवश्यक एकमात्र परिवर्तन रिमोट ऐपसेवर के जेएनडीआई पोर्ट को संदर्भित करने के लिए अपना प्रारंभिक संदर्भ सेट करना है।