activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From thaibox1 <thaib...@yahoo.com>
Subject Re: ActiveMQ JMS Bridge to Websphere MQ
Date Wed, 26 Sep 2007 18:09:45 GMT

Well, I named both Brokers the same, that's why the message is the way it is. 
At this point I'm at a total loss as to what it can be.  I followed all the
documentation I could find to the tee and this doesn't work.  Any help at
all would be well appreciated.  Thanks for your response though, I did try
some different things  but to no avail.



Daryl Richter-3 wrote:
> 
> On Sep 24, 2007, at 2:29 PM, thaibox1 wrote:
> 
>>
>> Does anyone require anything more from me to help diagnose this issue?
>>
>> Thanks...
> 
> Well, this is just a stab in the dark here, but one thing that looks  
> a bit funny to me is that your ActiveMQ server is named ALERTQ, yet  
> the error message you are getting says " MQJMS2005: failed to create  
> MQQueueManager for '10.52.92.78:ALERTQ'
> 
> I doesn't seem quite right to me that you would be trying to create  
> an "MQQueueManager" for an ActiveMQ server.  Shouldn't that be your  
> Websphere MQ?
> 
> I am sure this is totally off-base, sorry.
> 
> I do have ActiveMQ successfully bridged to SonicMQ in production and  
> it works fine (except for being unable to reconnect when Sonic goes  
> away).  Admittedly, I am using a 5.0-SNAPSHOT build and not 4.1.1,  
> though.
> 
> 
>>
>>
>>
>> thaibox1 wrote:
>>>
>>> I'm using MQ series 5.2 (I know it's old, but it's supposedly JMS
>>> compliant).  We're looking to move off Websphere MQ and I'm  
>>> evaluating
>>> ActiveMQ, but we're still going to need to hook it up to Websphere MQ
>>> since most of our remote clients use that app for remote  
>>> messaging.  The
>>> problem I'm facing is that I'm struggling to configure the JMS  
>>> bridge to
>>> successfully connect to Websphere MQ. Here is the activemq.xml  
>>> file that
>>> I'm using:
>>>
>>> <beans>
>>>
>>>   <!-- Allows us to use system properties as variables in this
>>> configuration file -->
>>>   <bean
>>> class="org.springframework.beans.factory.config.PropertyPlaceholderCo 
>>> nfigurer"/>
>>>
>>>   <broker xmlns="http://activemq.org/config/1.0"
>>>           brokerName="ALERTQ"
>>>           useJmx="true"
>>>           persistent="true">
>>>
>>>     <!--  Use the following to set the broker memory limit -->
>>>     <memoryManager>
>>>         <usageManager id="memory-manager" limit="256 MB"/>
>>>     </memoryManager>
>>>
>>>     <destinations>
>>>        <queue physicalName="US.TO.THEM" />
>>>        <queue physicalName="THEM.TO.US" />
>>>        <topic physicalName="ALERT.TOPIC" />
>>>     </destinations>
>>>
>>>     <transportConnectors>
>>>        <transportConnector name="openwire" uri="tcp://mqserver: 
>>> 31313" />
>>>                            <!-- discoveryUri="multicast://default"  
>>> -->
>>>     </transportConnectors>
>>>
>>>     <networkConnectors>
>>>       <!-- by default just auto discover the other brokers -->
>>>       <!-- <networkConnector name="default-nc" uri="multicast:// 
>>> default"/>
>>> -->
>>>     </networkConnectors>
>>>
>>>     <!-- Use the following to configure how ActiveMQ is exposed in  
>>> JMX -->
>>>     <managementContext>
>>>        <managementContext connectorPort="5099"
>>>                           jmxDomainName="org.apache.activemq"/>
>>>     </managementContext>
>>>
>>> 	<jmsBridgeConnectors>
>>> 		<jmsQueueConnector outboundQueueConnectionFactory="#remoteFactory">
>>> 			<inboundQueueBridges>
>>> 				<inboundQueueBridge inboundQueueName="THEM.TO.US"
>>> 				                    localQueueName="THEM.TO.US"/>
>>> 			</inboundQueueBridges>
>>> 			<outboundQueueBridges>
>>> 				<outboundQueueBridge outboundQueueName="US.TO.THEM"
>>> 				                     localQueueName="US.TO.THEM"/>
>>> 			</outboundQueueBridges>
>>> 		</jmsQueueConnector>
>>> 	</jmsBridgeConnectors>
>>> 	
>>>     <!-- In ActiveMQ 4, you can setup destination policies -->
>>>     <destinationPolicy>
>>>       <policyMap><policyEntries>
>>>           <policyEntry topic="ALERT.>">
>>>             <dispatchPolicy>
>>>               <strictOrderDispatchPolicy />
>>>             </dispatchPolicy>
>>>             <subscriptionRecoveryPolicy>
>>>               <lastImageSubscriptionRecoveryPolicy />
>>>             </subscriptionRecoveryPolicy>
>>>           </policyEntry>
>>>       </policyEntries></policyMap>
>>>     </destinationPolicy>
>>>
>>>
>>>     <persistenceAdapter>
>>>         <journaledJDBC journalLogFiles="5"
>>> dataDirectory="${activemq.base}/activemq-data"/>
>>>     </persistenceAdapter>
>>>
>>>   </broker>
>>>
>>>   <bean id="remoteFactory"
>>> class="com.ibm.mq.jms.MQQueueConnectionFactory">
>>> 	<property name="transportType" value="1"/>
>>> 	<property name="hostName" value="remoteIP"/>
>>> 	<property name="port" value="1444"/>
>>> 	<property name="queueManager" value="ALERTQ"/>
>>> 	<property name="channel" value="US.TO.THEM"/>
>>>   </bean>
>>>
>>> When I start it up, I get:
>>>
>>> ./activemq
>>> ACTIVEMQ_HOME: /u/pkgs/activemq/4.1.1
>>> ACTIVEMQ_BASE: /u/home/admin/work/activemq/build
>>> Loading message broker from: xbean:activemq.xml
>>> INFO  CollectionFactory              - JDK 1.4+ collections available
>>> INFO  XBeanXmlBeanDefinitionReader   - Loading XML bean  
>>> definitions from
>>> class path resource [activemq.xml]
>>> INFO  ClassPathXmlApplicationContext - Bean factory for application
>>> context
>>> [org.apache.xbean.spring.context.ClassPathXmlApplicationContext;hashC 
>>> ode=14247437]:
>>> org.springframework.beans.factory.support.DefaultListableBeanFactory
>>> defining beans
>>> [org.springframework.beans.factory.config.PropertyPlaceholderConfigur 
>>> er,org.apache.activemq.xbean.XBeanBrokerService,remoteFactory];
>>> root of BeanFactory hierarchy
>>> INFO  ClassPathXmlApplicationContext - 3 beans defined in application
>>> context
>>> [org.apache.xbean.spring.context.ClassPathXmlApplicationContext;hashC 
>>> ode=14247437]
>>> INFO  ClassPathXmlApplicationContext - Unable to locate  
>>> MessageSource with
>>> name 'messageSource': using default
>>> [org.springframework.context.support.DelegatingMessageSource@9ffe3f]
>>> INFO  ClassPathXmlApplicationContext - Unable to locate
>>> ApplicationEventMulticaster with name  
>>> 'applicationEventMulticaster': using
>>> default
>>> [org.springframework.context.event.SimpleApplicationEventMulticaster@ 
>>> 18352d8]
>>> INFO  DefaultListableBeanFactory     - Pre-instantiating  
>>> singletons in
>>> factory
>>> [org.springframework.beans.factory.support.DefaultListableBeanFactory
>>> defining beans
>>> [org.springframework.beans.factory.config.PropertyPlaceholderConfigur 
>>> er,org.apache.activemq.xbean.XBeanBrokerService,remoteFactory];
>>> root of BeanFactory hierarchy]
>>> INFO  BrokerService                  - ActiveMQ 4.1.1 JMS Message  
>>> Broker
>>> (ALERTQ) is starting
>>> INFO  BrokerService                  - For help or more  
>>> information please
>>> see: http://incubator.apache.org/activemq/
>>> INFO  JDBCPersistenceAdapter         - Database driver recognized:
>>> [apache_derby_embedded_jdbc_driver]
>>> INFO  DefaultDatabaseLocker          - Attempting to acquire the  
>>> exclusive
>>> lock to become the Master broker
>>> INFO  DefaultDatabaseLocker          - Becoming the master on  
>>> dataSource:
>>> org.apache.derby.jdbc.EmbeddedDataSource@8a1977
>>> INFO  JournalPersistenceAdapter      - Journal Recovery Started from:
>>> Active Journal: using 5 x 20.0 Megs at:
>>> /etrade/home/mrodrig9/work/activemq/build/activemq-data/journal
>>> INFO  JournalPersistenceAdapter      - Journal Recovered: 0 message 
>>> (s) in
>>> transactions recovered.
>>> INFO  TransportServerThreadSupport   - Listening for connections at:
>>> tcp://someserver:31313
>>> INFO  TransportConnector             - Connector openwire Started
>>> INFO  ManagementContext              - JMX consoles can connect to
>>> service:jmx:rmi:///jndi/rmi://localhost:5099/jmxrmi
>>> Unable to load message catalog - mqji
>>> ERROR JmsQueueConnector              - Failed to initialize the
>>> JMSConnector
>>> javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager  
>>> for
>>> '10.52.92.78:ALERTQ'
>>>         at
>>> com.ibm.mq.jms.services.ConfigEnvironment.newException 
>>> (ConfigEnvironment.java:546)
>>>         at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java: 
>>> 1137)
>>>         at
>>> com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:799)
>>>         at
>>> com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:255)
>>>         at
>>> com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:78)
>>>         at
>>> com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection 
>>> (MQQueueConnectionFactory.java:142)
>>>         at
>>> org.apache.activemq.network.jms.JmsQueueConnector.initializeForeignQu 
>>> eueConnection(JmsQueueConnector.java:216)
>>>         at
>>> org.apache.activemq.network.jms.JmsQueueConnector.init 
>>> (JmsQueueConnector.java:54)
>>>         at
>>> org.apache.activemq.network.jms.JmsConnector.start 
>>> (JmsConnector.java:114)
>>>         at
>>> org.apache.activemq.broker.BrokerService.startAllConnectors 
>>> (BrokerService.java:1494)
>>>         at
>>> org.apache.activemq.broker.BrokerService.start(BrokerService.java: 
>>> 402)
>>>         at
>>> org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet 
>>> (XBeanBrokerService.java:47)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBean 
>>> Factory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java: 
>>> 1062)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBean 
>>> Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
>>>         at
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBean 
>>> Factory.createBean(AbstractAutowireCapableBeanFactory.java:420)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory 
>>> $1.getObject(AbstractBeanFactory.java:245)
>>>         at
>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistr 
>>> y.getSingleton(DefaultSingletonBeanRegistry.java:141)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean 
>>> (AbstractBeanFactory.java:242)
>>>         at
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean 
>>> (AbstractBeanFactory.java:156)
>>>         at
>>> org.springframework.beans.factory.support.DefaultListableBeanFactory. 
>>> preInstantiateSingletons(DefaultListableBeanFactory.java:290)
>>>         at
>>> org.springframework.context.support.AbstractApplicationContext.refres 
>>> h(AbstractApplicationContext.java:348)
>>>         at
>>> org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init> 
>>> (ClassPathXmlApplicationContext.java:161)
>>>         at
>>> org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init> 
>>> (ClassPathXmlApplicationContext.java:51)
>>>         at
>>> org.apache.activemq.xbean.XBeanBrokerFactory.createBroker 
>>> (XBeanBrokerFactory.java:41)
>>>         at
>>> org.apache.activemq.broker.BrokerFactory.createBroker 
>>> (BrokerFactory.java:57)
>>>         at
>>> org.apache.activemq.console.command.StartCommand.startBroker 
>>> (StartCommand.java:82)
>>>         at
>>> org.apache.activemq.console.command.StartCommand.runTask 
>>> (StartCommand.java:47)
>>>         at
>>> org.apache.activemq.console.command.AbstractCommand.execute 
>>> (AbstractCommand.java:50)
>>>         at
>>> org.apache.activemq.console.command.ShellCommand.runTask 
>>> (ShellCommand.java:82)
>>>         at
>>> org.apache.activemq.console.command.AbstractCommand.execute 
>>> (AbstractCommand.java:50)
>>>         at
>>> org.apache.activemq.console.command.ShellCommand.main 
>>> (ShellCommand.java:46)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native  
>>> Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke 
>>> (NativeMethodAccessorImpl.java:39)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke 
>>> (DelegatingMethodAccessorImpl.java:25)
>>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>>         at org.apache.activemq.console.Main.runTaskClass(Main.java: 
>>> 202)
>>>         at org.apache.activemq.console.Main.main(Main.java:91)
>>> INFO  JmsConnector                   - JMS Connector Connector:0  
>>> Started
>>> INFO  BrokerService                  - ActiveMQ JMS Message Broker
>>> (ALERTQ, ID:dev6m3-53031-1190315038649-1:0) started
>>> ERROR TransportConnector             - Could not accept connection  
>>> from
>>> /remoteIP:52978: java.io.IOException: Wire format negociation  
>>> timeout:
>>> peer did not send his wire format.
>>> java.io.IOException: Wire format negociation timeout: peer did not  
>>> send
>>> his wire format.
>>>         at
>>> org.apache.activemq.transport.WireFormatNegotiator.oneway 
>>> (WireFormatNegotiator.java:88)
>>>         at
>>> org.apache.activemq.transport.MutexTransport.oneway 
>>> (MutexTransport.java:47)
>>>         at
>>> org.apache.activemq.broker.TransportConnection.dispatch 
>>> (TransportConnection.java:1138)
>>>         at
>>> org.apache.activemq.broker.TransportConnection.processDispatch 
>>> (TransportConnection.java:805)
>>>         at
>>> org.apache.activemq.broker.TransportConnection.start 
>>> (TransportConnection.java:885)
>>>         at
>>> org.apache.activemq.broker.TransportConnector$1.onAccept 
>>> (TransportConnector.java:148)
>>>         at
>>> org.apache.activemq.transport.tcp.TcpTransportServer.run 
>>> (TcpTransportServer.java:167)
>>>         at java.lang.Thread.run(Thread.java:595)
>>>
>>> So here we see that activemq tries to connect to websphere MQ and  
>>> fails
>>> miserably and then every so often, WebsphereMQ tries to connect to
>>> Activemq and falls down as well.
>>>
>>> Any help you can offer would be greatly appreciated.
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/ActiveMQ-JMS- 
>> Bridge-to-Websphere-MQ-tf4489485s2354.html#a12865475
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
> 
> -- 
> Daryl
> http://itsallsemantics.com
> 
> "2 + 2 = 5, for sufficiently large values of 2."
>      -- Ron Jeffries
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ActiveMQ-JMS-Bridge-to-Websphere-MQ-tf4489485s2354.html#a12906683
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message