JMS Cluster error
Hi,
We have clustered two WLS 6.1 instances which has two JMS servers one deployed on each server instance. There are two destinations(Queues) with same JNDI name but deployed under different JMS servers. We are getting this following error while starting the servers. We have seen messages going to both the destinations. What could be the problem here ?
Thanks.
Bijan
<Cluster> <Conflict start: You tried to bind an object under the name obs.queue.OBSMSMQueueError in the JNDI tree. The object you have bound from 172.26.136.113 is non clusterable and you have tried to bind more than once from two or more servers. Such objects can only deployed from one server.>
On 12 Dec 2002 16:41:13 -0800, Bijan <[email protected]> wrote:
The error says it all. The JNDI name of any "non-clustered" object
within the cluster must be unique - queues, applications, etc.
I suspect you are attempting to "distribute" the queue. Either
upgrade to 6.1 or check out the "emulating distributed destinations
in 6.1" section of the "JMS Performance white-paper" - available at
dev2dev.bea.com.
Tom, BEA
>Hi,
>
>We have clustered two WLS 6.1 instances which has two JMS servers one deployed on each server instance. There are two destinations(Queues) with same JNDI name but deployed under different JMS servers. We are getting this following error while starting the servers. We have seen messages going to both the destinations. What could be the problem here ?
>
>Thanks.
>
>Bijan
>
>-----------------------------
><Cluster> <Conflict start: You tried to bind an object under the name obs.queue.OBSMSMQueueError in the JNDI tree. The object you have bound from 172.26.136.113 is non clusterable and you have tried to bind more than once from two or more servers. Such objects can only deployed from one server.>
Similar Messages
-
Need suggestion on implementing JMS message error recovery
Hi,
Our application has a JMS topic where we publish application events. Now, there can be scenarios where the consumers cannot process the message due to some infrastructure issues and would error out. We need a way so that those messages can be reprocessed again later. we are thinking of the following design for JMS message error recovery
1. Use a persistent TOPIC (this would ensure guaranteed delivery)
2. Configure a error destination on JMS topic e.g a jms queue
3. Have an error handling MDB listening to the Error destination. An error handling MDB would dequeue the errored messages from error destination and persist it to a Data base "error" table..
4. Provide a mechanism to republish those messages to topic (e.g a scheduler or admin ui or a command line utility) .. The messages would deleted from database "error" table and published to topic again....
A. Are there any issues with the above design which we need to handle?
B. Are there any additional steps required in a Cluster environment with a distributed topic and distribute error destination? (our error mdb will have one-copy-per-application setting)
B. From a performance angle, Is it OK to use persistent TOPIC ? Or will it better to persist the message to the db table and then publish it as a non persistent message ... ? (But i guess the performance should be more or less the same in both of these approaches)
C. Are there any other recommended design patterns for error recovery of JMS messages
Please advise.
Regards,
ArifThanks Tom !
We may not be able to go with the approach of delaying/pausing redelivery of the messsage because
1. Pausing entire MDB approach: Our MDB application consumes messages generated by different producers and our MDB needs to continue processing the messages even if messages corresponding to one producer is erroring out
2. Redelivery delay : This would only delay the retry of an errored message. But there would still be a problem if the message fails during all retries (i.e redelivery limit count). We don't want to lose this message. In our case, It is possible that a particular message cannot be processed due to unavailability of a third party system for hours or may be a day.
Basically, i am looking on approaches for a robust and performant error recovery/retry framework for our application (refer details in my first post on this thread) while fully making use of all features provided by middleware (WLS). Please advise.
Regards,
Arif -
hi All,
I am beginner in OSB 11g. Please excuse me if I am asking any dumb question.
I am trying to post messages to Oracle AQ by configuring JMS Destination in OSB Alert destination
I have configured AQ JMS in weblogic 10.3.3 ( OSB PS2) following the blog (http://jianmingli.com/wp/?p=2950)
When i invoked my proxy OSB proxy service i am getting following exception. Can you please help if i am missing any kind of setup while configuring the JMS Module.
Caused By: oracle.jms.AQjmsException: Error creating the db_connection
at oracle.jms.AQjmsDBConnMgr.getConnection(AQjmsDBConnMgr.java:625)
at oracle.jms.AQjmsDBConnMgr.<init>(AQjmsDBConnMgr.java:399)
at oracle.jms.AQjmsXAConnection.<init>(AQjmsXAConnection.java:112)
at oracle.jms.AQjmsXAQueueConnectionFactory.createAllXAConnection(AQjmsXAQueueConnectionFactory.java:320)
at oracle.jms.AQjmsXAQueueConnectionFactory.createXAQueueConnection(AQjmsXAQueueConnectionFactory.java:198)
at weblogic.deployment.jms.JMSConnectionHelper.openConnection(JMSConnectionHelper.java:282)
at weblogic.deployment.jms.JMSConnectionHelper.<init>(JMSConnectionHelper.java:144)
at weblogic.deployment.jms.JMSSessionPool.getConnectionHelper(JMSSessionPool.java:517)
at weblogic.deployment.jms.PooledConnectionFactory.createConnectionInternal(PooledConnectionFactory.java:355)
at weblogic.deployment.jms.PooledConnectionFactory.createQueueConnection(PooledConnectionFactory.java:188)
at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext.getSession(JmsOutboundMessageContext.java:399)
at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext.newMessage(JmsOutboundMessageContext.java:621)
at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext.setRequestMetaData(JmsOutboundMessageContext.java:229)
at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext.access$100(JmsOutboundMessageContext.java:72)
at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext$SendAction.run(JmsOutboundMessageContext.java:788)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.security.Security.runAs(Security.java:61)
at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext.send(JmsOutboundMessageContext.java:551)
at com.bea.wli.sb.transports.jms.JmsTransportProvider.sendMessageAsync(JmsTransportProvider.java:680)
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:597)
at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
at $Proxy111.sendMessageAsync(Unknown Source)
at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageWithoutService(TransportManagerImpl.java:489)
at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:417)
at com.bea.wli.sb.init.FrameworkStarter$TransportServiceImpl.sendMessageAsync(FrameworkStarter.java:391)
at com.bea.alsb.alert.action.jms.JmsActionProvider.executeAction(JmsActionProvider.java:345)
at com.bea.alsb.alert.AlertDestinationHandlerImpl.sendAlertToDestination(AlertDestinationHandlerImpl.java:105)
at com.bea.alsb.alert.pipeline.PipelineAlertManager.processAlert(PipelineAlertManager.java:59)
at stages.logging.runtime.AlertRuntimeStep.processMessage(AlertRuntimeStep.java:125)
at com.bea.wli.sb.pipeline.debug.DebuggerRuntimeStep.processMessage(DebuggerRuntimeStep.java:74)
at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
at stages.routing.runtime.RouteRuntimeStep.processMessage(RouteRuntimeStep.java:102)
at com.bea.wli.sb.pipeline.debug.DebuggerRuntimeStep.processMessage(DebuggerRuntimeStep.java:74)
at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
at com.bea.wli.sb.pipeline.RouteNode.doRequest(RouteNode.java:106)
at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:922)
at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:214)
at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:99)
at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:593)
at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:591)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:590)
at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessageSender.java:329)
at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMessageSender.java:76)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:134)
at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessageSender.java:132)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageSender.java:137)
at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.java:454)
at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:172)
at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceEJBBean.java:167)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestService_sqr59p_EOImpl.java:353)
at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: java.lang.ClassCastException: weblogic.jdbc.rmi.SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection_1033_WLStub cannot be cast to oracle.jdbc.internal.OracleConnection
at oracle.jms.AQjmsGeneralDBConnection.getProviderKey(AQjmsGeneralDBConnection.java:96)
at oracle.jms.AQjmsGeneralDBConnection.<init>(AQjmsGeneralDBConnection.java:65)
at oracle.jms.AQjmsDBConnMgr.getConnection(AQjmsDBConnMgr.java:566)
at oracle.jms.AQjmsDBConnMgr.<init>(AQjmsDBConnMgr.java:399)
at oracle.jms.AQjmsXAConnection.<init>(AQjmsXAConnection.java:112)
at oracle.jms.AQjmsXAQueueConnectionFactory.createAllXAConnection(AQjmsXAQueueConnectionFactory.java:320)
at oracle.jms.AQjmsXAQueueConnectionFactory.createXAQueueConnection(AQjmsXAQueueConnectionFactory.java:198)
at weblogic.deployment.jms.JMSConnectionHelper.openConnection(JMSConnectionHelper.java:282)
at weblogic.deployment.jms.JMSConnectionHelper.<init>(JMSConnectionHelper.java:144)
at weblogic.deployment.jms.JMSSessionPool.getConnectionHelper(JMSSessionPool.java:517)
at weblogic.deployment.jms.PooledConnectionFactory.createConnectionInternal(PooledConnectionFactory.java:355)
at weblogic.deployment.jms.PooledConnectionFactory.createQueueConnection(PooledConnectionFactory.java:188)hi All,
Here is the actual exception while posting message into AQ ( AQ JMS) from OSB.
Caused By: java.lang.ClassCastException: weblogic.jdbc.rmi.SerialConnection_weblogic_jdbc_rmi_internal_ConnectionImpl_weblogic_jdbc_wrapper_JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection_1033_WLStub cannot be cast to oracle.jdbc.internal.OracleConnection
at oracle.jms.AQjmsGeneralDBConnection.getProviderKey(AQjmsGeneralDBConnection.java:96)
at oracle.jms.AQjmsGeneralDBConnection.<init>(AQjmsGeneralDBConnection.java:65)
Not sure what is missing in my AQ JMS configuration. Please help.
Regards,
Nagi -
JMS cluster and happen JMS Queue Exception javax.naming.NameAlreadyBoundExc
Hi,
Sorry I not sure how to setup JMS cluster in WLS 10.3.2. We have two manager server in two machine. And will join into one cluster. After configure the JMS module & JMS server. We found it only can work in one server. And will faill in another server. And reply the error message as below :
Any one can help to tell me why one server success. And other is fail !
javax.naming.NameAlreadyBoundException: JMS_Queue_misdel_a is already bound; rem
aining name ''
at weblogic.jndi.internal.BasicNamingNode.bindHere(BasicNamingNode.java:357)
at weblogic.jndi.internal.ServerNamingNode.bindHere(ServerNamingNode.java:140)
at weblogic.jndi.internal.BasicNamingNode.bind(BasicNamingNode.java:317)
at weblogic.jndi.internal.WLEventContextImpl.bind(WLEventContextImpl.jav
==> config for JMS
<jms-server>
<name>JMS_Server_cim_a</name>
<target>ebowls05</target>
<persistent-store xsi:nil="true"></persistent-store>
<hosting-temporary-destinations>true</hosting-temporary-destinations>
<temporary-template-resource xsi:nil="true"></temporary-template-resource>
<temporary-template-name xsi:nil="true"></temporary-template-name>
<message-buffer-size>-1</message-buffer-size>
<expiration-scan-interval>30</expiration-scan-interval>
</jms-server>
<jms-server>
<name>JMS_Server_cim_b</name>
<target>ebowls06</target>
<persistent-store xsi:nil="true"></persistent-store>
<hosting-temporary-destinations>true</hosting-temporary-destinations>
<temporary-template-resource xsi:nil="true"></temporary-template-resource>
<temporary-template-name xsi:nil="true"></temporary-template-name>
<message-buffer-size>-1</message-buffer-size>
<expiration-scan-interval>30</expiration-scan-interval>
</jms-server>
<migratable-target>
<name>ebowls06 (migratable)</name>
<notes>This is a system generated default migratable target for a server. Do
not delete manually.</notes>
<user-preferred-server>ebowls06</user-preferred-server>
<cluster>ebouatCluster</cluster>
</migratable-target>
<migratable-target>
<name>ebowls05 (migratable)</name>
<notes>This is a system generated default migratable target for a server. Do
not delete manually.</notes>
<user-preferred-server>ebowls05</user-preferred-server>
<cluster>ebouatCluster</cluster>
</migratable-target>
<jms-system-resource>
<name>JMS_ConnFactory_cim</name>
<target>ebouatCluster</target>
<descriptor-file-name>jms/JMS_ConnFactory_cim/JMS_ConnFactory_cim-jms.xml</d
escriptor-file-name>
</jms-system-resource>
<jms-system-resource>
<name>JMS_Queue_promis</name>
<target>ebouatCluster</target>
<sub-deployment>
<name>JMS_Queue_promis@JMS_Server_cim_a</name>
<target>JMS_Server_cim_a</target>
</sub-deployment>
<sub-deployment>
<name>JMS_Queue_promis@JMS_Server_cim_b</name>
<target>JMS_Server_cim_b</target>
</sub-deployment>
<descriptor-file-name>jms/JMS_Queue_promis/JMS_Queue_promis-jms.xml</descrip
tor-file-name>
</jms-system-resource>
<jms-system-resource>
<name>JMS_Template_cim</name>
<target>ebouatCluster</target>
<descriptor-file-name>jms/JMS_Template_cim/JMS_Template_cim-jms.xml</descrip
tor-file-name>
</jms-system-resource>
<jms-system-resource>
<name>JMS_Queue_misdel_a</name>
<target>ebouatCluster</target>
<sub-deployment>
<name>JMS_Queue_misdel_a@JMS_Server_cim_a</name>
<target>JMS_Server_cim_a</target>
</sub-deployment>
<sub-deployment>
<name>JMS_Queue_misdel_a@JMS_Server_cim_b</name>
<target>JMS_Server_cim_b</target>
</sub-deployment>
<descriptor-file-name>jms/JMS_Queue_misdel_a/JMS_Queue_misdel_a-jms.xml</des
criptor-file-name>
</jms-system-resource>
<jms-system-resource>
<name>JMS_Queue_misdel_b</name>
<target>ebouatCluster</target>
<sub-deployment>
<name>JMS_Queue_misdel_b@JMS_Server_cim_a</name>
<target>JMS_Server_cim_a</target>
</sub-deployment>
<sub-deployment>
<name>JMS_Queue_misdel_b@JMS_Server_cim_b</name>
<target>JMS_Server_cim_b</target>
</sub-deployment>
<descriptor-file-name>jms/JMS_Queue_misdel_b/JMS_Queue_misdel_b-jms.xml</des
criptor-file-name>
</jms-system-resource>1 - JMS clustering is an advanced concept, and, in most cases, uses "distributed queues". In case you haven't already, I highly recommend reading the JMS chapter of the new book "Professional Oracle WebLogic" as well as the related chapters in the JMS Programmer's Guide in the edocs.
2 - The basic problem below is that you have two different queues that have matching JNDI names, but are in the same cluster.
3 - The config snippet supplied below does not include the queue configuration. Queue configuration is embedded within the referenced module files.
4 - Please ensure that you follow configuration best practices, as per: http://download.oracle.com/docs/cd/E15523_01/web.1111/e13738/best_practice.htm#CACJCGHG -
Hi,
I have a 6.1 cluster that has a JMS server A and a JMS Server B
deployed and running on each of the managed nodes. As destination I
created a topic with the same name for each JMS Server. The connection
factories I deployed to the cluster only.
My problem is, when I start the second managed server, I get the
following error:
<Error> <Cluster> <Conflict start: You tried to bind an object under
the name
com.csg.pb.tit.tms.TMSSignalTopic in the JNDI tree. The object you
have bound
from 169.59.5.26 is non clusterable and you have tried to bind more
than once
from two or more servers. Such objects can only deployed from one
server.>
When I understand correctly, this happens because the JNDI tree gets
distributed to all nodes of the cluster, so there would be two object
with the same name. How do I solve this situation? Do I have the
specify different names for topics in different JMSServer running in a
cluster? How would the load balancing work?
Please help. Thanks in advance
Juerg
Tom,
Thanks for your help so far, I installed the patch and got things
working. However I still have some open points where you might be able
to help.
Let's assume I don't have these smart forwarders and I have four
topics per JMSServer deployed to two managed nodes. Connection
factories deployed to the cluster. When I connect N publishers
through the cluster, messages from one publisher end up in the
appropriate topic on nodeA, messages from another publisher end up in
the appropriate topic on nodeB. Now when I connect a durable
subscriber via the cluster I only get messages from topics from one of
the managed nodes, right? (This is exactly what I am seeing in my
tests) Connecting durable subscribers to each managed node is not
possible because of JNDI (throws exception like
InstanceAlreadyExists). How would I connect a subscriber so that it
subscribes to the right topics on the right node ( one the works with
the previously described publisher)?
All this leads me to the conclusion, that without the forwarders, a
JMS cluster with Weblogic 6.1 is not so powerful, it basically does
just load balacing.
Is this correct or am I missing something important here?
Thanks a lot and have a nice weekend
Juerg
Tom Barnes <[email protected]> wrote in message news:<[email protected]>...
> Juerg Staub wrote:
> > Tom,
> >
> > Thanks a lot. Bascially I did everything right, just need the patch.
> >
> > In the other hand I'd like to know what the benefits of the smart
> > forwarders would be. When I understand correctly, every message would
> > be forwarded to the appropriate topic in the different JMS servers.
> > What would that bring in the case of a failure(one node of a cluster
> > goes down)? As far as I can see, I still would need to 're-establish'
> > the connection factory, topic session, topic and publisher in order to
> > publish messages again?
> >
>
> Yep. I think we are on the same page:
>
> The "smart-forwarders" would do what the 7.0 distributed topic
> forwarders do for you. They would forward messages bound to
> a particular physical topic to all instances of the topic.
> This can be implemented via a durable subscription on a
> member topic by each remote member topic's host.
> MDBs could be used to service the durable subscription,
> as they already have the reconnect logic built in.
> (Durable subscriptions are used if you wish to guard against
> lost messages). The forwarders
> need to change a property on the message to indicate
> that the message is already forwarded, and forward
> only messages that have'nt been forwarded (to prevent
> endless loops!).
>
>
> > Thanks
> >
> > Juerg
> >
> > Tom Barnes <[email protected]> wrote in message news:<[email protected]>...
> >
> >>I suggest you read the "emulating 7.0 distributed destinations"
> >>section of the JMS performance white-paper available on dev2dev.bea.com.
> >>You will need to apply the referenced enhancement patch on top of SP3 to
> >>disable JNDI replication (or update to 6.1SP4).
> >>
> >>If you need to create a true distributed topic, you will also need to
> >>write your own "smart-forwarders" to forward messages
> >>between the different physical instances of the topic. Or simply
> >>use WL JMS 7.0 (the upgrade from 6.1 is straight-forward).
> >>
> >>Tom
> >>
> >>Juerg Staub wrote:
> >>
> >>>Hi,
> >>>
> >>>I have a 6.1 cluster that has a JMS server A and a JMS Server B
> >>>deployed and running on each of the managed nodes. As destination I
> >>>created a topic with the same name for each JMS Server. The connection
> >>>factories I deployed to the cluster only.
> >>>
> >>>My problem is, when I start the second managed server, I get the
> >>>following error:
> >>>
> >>><Error> <Cluster> <Conflict start: You tried to bind an object under
> >>>the name
> >>>com.csg.pb.tit.tms.TMSSignalTopic in the JNDI tree. The object you
> >>>have bound
> >>>from 169.59.5.26 is non clusterable and you have tried to bind more
> >>>than once
> >>>from two or more servers. Such objects can only deployed from one
> >>>server.>
> >>>
> >>>
> >>>When I understand correctly, this happens because the JNDI tree gets
> >>>distributed to all nodes of the cluster, so there would be two object
> >>>with the same name. How do I solve this situation? Do I have the
> >>>specify different names for topics in different JMSServer running in a
> >>>cluster? How would the load balancing work?
> >>>
> >>>
> >>>Please help. Thanks in advance
> >>>
> >>>Juerg
> >>
-
JMS adapter error in MQSeries connection
Dear All,
i am getting the below error in Communicatin Channel Monitoring for my sender JMS adapter:
Error during channel initialization; exception trace: javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for '<IP_ADRESS>:<MQ_QUEUE_MANAGER>'
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)
com.ibm.mq.MQException: Message catalog not found
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:171)
at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:228)
i have written '<IP_ADRESS>:<MQ_QUEUE_MANAGER>' just to hide the data - i am getting <IP_ADRESS> as IP Adress i gave in JMS adapter and <MQ_QUEUE_MANAGER> as Queue Manager i gave in JMS adapter.
i am using the correct IP and 1414 port of MQSeries server. I have used a MQQueueManager defined in MQSeries. i have deployed JMS adapter properly in XI server.
So can anybody suggest what could be the possible reason of this error and how to rectify it. It is slightly urgent.
Thanks and Regards,
Rajeev Gupta
Edited by: RAJEEV GUPTA on Jan 29, 2008 2:32 PM
Edited by: RAJEEV GUPTA on Jan 29, 2008 2:39 PMHi,
Check this as well [http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.csqzaw.doc%2Fjm35210_.htm]
Regards,
Venkata S Pagolu -
JMS Internal Error at Server Client Adapter!JMS Service is not started
Hi
Can any one tell me how to trouble shoot for following errors:
Failed to Create Connection! Reason: Response from the server could not be reached.
JMS Internal Error at Server Client Adapter!JMS Service is not started
The following hosts could not be reached 143:223:221:10:50310
We are trying to send the request from SONICMQ JMS to R/3 and trying to post the response to Sonic Queue. but we are facing some problems for JMS adapter .
but in JMS sender and receiver adapter i gave different IP and port for listen the SONIC queue. why it is showing in different IP here? this message got from logviewer.
regards
Rambarki...Rambarki,
What is the error displayed on the Adapter Monitoring pages?
Generally the correct error descriptions for connectivity issues are found on adapter monitoring UI than any other.
Other possible reasons could be :
<i>JMS Service is not started
The following hosts could not be reached 143:223:221:10:50310</i> This might be issue with your network settings i.e. XI server is unable to reach the specified IP on specified port.
Regards,
Amol -
Hi ,
I am using Oracle 10g version 10.1.3 and Oracle AS JMS Server
I have a java client that is using the following configuration for JNDI conext.
// set the environment properties
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.evermind.server.rmi.RMIInitialContextFactory");
env.put(Context.PROVIDER_URL,"opmn:ormi://vtun-lap.us.oracle.com:6003:home");
env.put(Context.SECURITY_PRINCIPAL,"oc4jadmin");
env.put(Context.SECURITY_CREDENTIALS,"apps10g");
QueueConnectionFactory queueConnectionFactory =util.getQueueConnectionFactory();
When I execute the following statement
QueueConnection queueConnection = queueConnectionFactory.createQueueConnection();
I am getting the following error:
[PROTOCOL ERROR] JMSRemoteServer[vtun-lap:12601]: "JMS protocol" error, expected "-559,038,735", got
Object Address: 0x529EDEC4
Thank you
Van SioungYour client is using old OC4J JMS classes - you need to set up your client's class-path to point to the .jar files that came with 10.1.3. The exact set of .jar files required for looking up and using OC4J JMS connection factories and destinations over RMI is covered in the 10.1.3 version of the Services Guide - in the JMS Chapter.
-
Hi,
I am encountering the JMS Exception 'Error deserializing object'. I do not have
the stack trace. The same code works perfectly fine 99% of the time. It throws
exception at random very rarely.
Can anyone help me with the possible causes of this exception.
Thanks in advance.Hi Gordon,
I'm getting the EXACT same problem . were you able to resolve this problem . please let me know what the soln is
thanks
mantish -
Hi,
I have deployed JMS application on Oracle 9i Application Server. I have made the necessary configurations in jms.xml(eg., Setting the queue connection factory and the name of the queue). Now when I try to run the client application I get the following error.
JMS communication error = Unable to connect to JMSServer (localhost/127.0.0.1:9127)
The JMS server is running on port 9127....
The rmi server is running on port 23791...
Can anyone help me out as to how this problem could be resolved ?
SirishaHi
Did you try changing jms.xml to point to the real ip instead of host="localhost" ?
sometimes it works.
g'day
nimo -
Cluster Error SAP ECC EHP5 using DB2
Hi, I´m installing SAP ECC EHP5 over Windows Server 2008 R2 in MSCS using DB2 as Database.
I follow the steps in the installation guide and the first node was sucessfully installed. My problem is that when I execute the second step of the installation (database installation), in the sub-step "Now cluster the database" , after installed the database in the second node and run the utility db2mscs the following error occurs when I tried to initialize the DB2 service:
"An error occurred while attemping to bring the resource ''DB2 Server' online"
Error code: 0x8007138f
The cluster resource could not be found
Could you please give any hint to continue the installation?
Thanks a lot.
Kind regardsI made a mistake and opened the thread 2 times. The other one was answered.
Cluster Error SAP ECC EHP5 using DB2
Edited by: Esteban REyes on Oct 18, 2011 10:32 AM -
Load balancing In weblogic 6.1 JMS Cluster
hi
i have implemented distributed queues in weblogic as suggested in the JMS performance
guide.but the problem is that of the 3 queues in cluster the messages always end
up going to the same queue and the remaining 2 remainin queues are empty. i want
to perfomr load balancing but i think this ios available only in weblogic 7.0.can
anyone suggest any alternative workaround ??
I wonder if the JNDINameReplicated setting is taking effect.
Are there any warning or error messages in your logs?
Can you see statistics for all three JMS servers on the console?
Does it work if you use the "./a" syntax?
illusionz70 wrote:
> hi,
> 3 machines are in a cluster.all three machines have their different jms servers
> and queues under them but target teh same connection factory.therefore all three
> servers target 3 different machines which are in a cluster. i have weblogic 6.1
> to which i applied the repective CR(patch) which enables the JNDIREPLICATED parameter.i
> set this parameter to false.as a result i am able to monitor the 3 queues which
> have the same jndi names but under different servers.but the problem is when i
> lookup the queues from client using the machine's ip address(not the cluster ip),
> the results are haywire.... even though i target say a ip of 30 , the msg goes
> to ip 20... i dont know why..do you have any idea.
> NOTE : i dont use the ./a ( where queue is the quename ) syntax in createqueue.
> i look up the queue using the JNDI name.
> thanks
> Tom Barnes <[email protected].bea.com>
> wrote:
>
>>Make sure that your context host and connection
>>factory (CF) host are actually the same as what
>>you're expecting.
>>
>>How, exactly, are your clients:
>> (A) looking up their context
>> (B) looking up their CF
>>
>>What are the targets for the CF?
>>What are the URLs for the servers?
>>What is the URL the clients are using? How is it
>>load-balanced among the servers?
>>Are the servers clustered?
>>
>>Tom
>>
>>illusionz70 wrote:
>>
>>
>>>hi
>>> i have implemented distributed queues in weblogic as suggested in
>>
>>the JMS performance
>>
>>>guide.but the problem is that of the 3 queues in cluster the messages
>>
>>always end
>>
>>>up going to the same queue and the remaining 2 remainin queues are
>>
>>empty. i want
>>
>>>to perfomr load balancing but i think this ios available only in weblogic
>>
>>7.0.can
>>
>>>anyone suggest any alternative workaround ??
>>
>
-
JMS cluster configuration problem
Problem description:
I have a OC4J cluster with two OC4J instances (referred to as I1 and I2) each having their own JMS Server (referred to JMS1 and JMS2). For certain messaging scenarios (not all) it is necessary that I1 puts a message on a queue of I2.
In order to do that I use the following configuration:
I2 -> jms.xml
<jms-server host="[ALL]" port="9127">
<queue-connection-factory location="xyz.ConnectionFactory" host="I1" />
<queue name="queue1" location="xyz.queue" persistence-file="queue1.file"/>
I1 -> jms.xml
<jms-server host="[ALL]" port="9127">
<queue-connection-factory location="xyz.ConnectionFactory" />
<queue name="queue1" location="xyz.queue" persistence-file="queue1.file"/>
When I try to send a message from I2 to I1, using the connection factory stored under xyz.ConnectionFactory I get the following exception:
Caused by: javax.transaction.RollbackException at com.evermind.server.ApplicationServerTransaction.handleCommitSystemException(ApplicationServerTransaction.java:749) at com.evermind.server.ApplicationServerTransaction.twoPhaseCommit(ApplicationServerTransaction.java:688) at com.evermind.server.ApplicationServerTransaction.commitBasedOnResourceCount(ApplicationServerTransaction.java:514) at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:246) at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:126)
at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:433) at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:757)
... 45 more
Caused by: oracle.as.j2ee.transaction.tpc.ConnectionLostException: Handing off to RecoveryManager due to lost connection to resource or RMERR. Branch: [null, Xid( Global Id da.f9.b0.f7.ff.ff.ff.ff.0a.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00, Format Id 4660, Branch Id e8.df.1f.91.00.00.00.00.00.00.00.00.00.00.00.01), null, state={ACTIVE}, exception error code=-3]
at oracle.as.j2ee.transaction.tpc.Coordinator.lostResourceCleanup(Coordinator.java:628)
at oracle.as.j2ee.transaction.tpc.Coordinator.checkForLostConnection(Coordinator.java:600)
at oracle.as.j2ee.transaction.tpc.Coordinator.actOnEligibleBranch(Coordinator.java:553)
at oracle.as.j2ee.transaction.tpc.Coordinator.doRollback(Coordinator.java:499)
at oracle.as.j2ee.transaction.tpc.Coordinator.doRollbackWithRollbackException(Coordinator.java:229)
at oracle.as.j2ee.transaction.tpc.Coordinator.doPrepare(Coordinator.java:216)
at oracle.as.j2ee.transaction.tpc.Coordinator.doResolve(Coordinator.java:278)
at oracle.as.j2ee.transaction.tpc.Coordinator.resolve(Coordinator.java:115)
at oracle.as.j2ee.transaction.tpc.TwoPhaseCommitEngine.commit(TwoPhaseCommitEngine.java:93)
at com.evermind.server.ApplicationServerTransaction.twoPhaseCommit(ApplicationServerTransaction.java:686)
... 50 more
Question:
1: Do I use the right configuration for above messaging scenario (the Oracle documentation I’ve read about this subject (High Availability Guide) is very vague) ?
2: So yes, what do I do wrong?
Any help would be greatly appreciated!Above problem could be resolved.
1. The problem only occured when sending a message within a transaction. Without transaction everything worked fine.
2. Due to this strange behaviour we assumed that this is a bug - and it was. This bug has the issue nummer: 5331629. In version 10.1.3.1.0 this issue is resolved. We tested it and indeed it worked as excpected. -
I am trying to deploy a Web Service EAR using stateless session beans across 2
servers in a cluster. The Admin server is not part of the cluster. I am using
WLS 7.0 SP1. I am getting this error in one of the server traces :
<Conflict start: You tried to bind an object under the name XscGenericSOAPInterfaceXscGenericSOAPInterface.jarSOAPBusinessServiceOneEJB_EO
in the JNDI tree. The object you have bound from striker.mk.telcordia.com is non
clusterable and you have tried to bind more than once from two or more servers.
Such objects can only deployed from one server.>
How do I proceed?
Thanks for all the help from this newsgroup.Hi,
SOAP has nothing to do with JMS, althout a SOAP message can be sent into
JMS, nor really do EJBs have anything to with JMS directly, and this is
the jms newsgroup. I think your problem is EJB related, try
weblogic.developer.interest.ejb, or, since your using a web-service, try
the weblogic.developer.interest.webservices newsgroup.
Tom
Suteertha Guha wrote:
> I am trying to deploy a Web Service EAR using stateless session beans across 2
> servers in a cluster. The Admin server is not part of the cluster. I am using
> WLS 7.0 SP1. I am getting this error in one of the server traces :
>
> <Conflict start: You tried to bind an object under the name XscGenericSOAPInterfaceXscGenericSOAPInterface.jarSOAPBusinessServiceOneEJB_EO
> in the JNDI tree. The object you have bound from striker.mk.telcordia.com is
> non clusterable and you have tried to bind more than once from two or more servers.
> Such objects can only deployed from one server.>
>
> How do I proceed?
>
> Thanks for all the help from this newsgroup.
-
Application Server 9.1 JMS connection errors
We are running SJSAS 9.1 on several machines and on one cluster the server logs are getting flooded with errors like this.
Error occurred on connection creation [localhost:37676]. - cause: java.net.ConnectException: Connection refused: connect|#]
After many of these we get messages like: MQJMSRA_RA2001: onException:Reconnect unsuccessfull on loop# 518|#
I was able to trace these back to a point in time where it appears the admin server asked the node agent to shut down the JMS provider. I see the following messages
[#|2008-01-21T07:38:36.334-0500|INFO|sun-appserver9.1|javax.resourceadapter.mqjmsra.lifecycle|_ThreadID=24;_ThreadName=iMQEventHandler-3;|MQJMSRA_RA1101: onEvent:Connection Event:E201:[E201]: Connection closed due to admin requested shutdown: localhost:37676(2243), com.sun.messaging.jms.notification.ConnectionClosedEvent[source=BrokerAddress=localhost:37676(2243), ConnectionID=3785864354043875840, ReconnectEnabled: false, IsConnectedToHABroker: false]|#]
[#|2008-01-21T07:38:36.334-0500|WARNING|sun-appserver9.1|javax.resourceadapter.mqjmsra.lifecycle|_ThreadID=24;_ThreadName=iMQEventHandler-3;_RequestID=7cad7955-d7fc-4448-875f-869f3ccf8a3b;|MQJMSRA_RA2001: onException:Connection Failed:[C4056]: Received goodbye message from broker.|#]
Our application doesn't even use JMS and there are no connection factories or destinations configured. Does anybody know why this is happening, or how to prevent it?Try this:
edit your /etc/hosts file and ensure that your hostname maps to an absolute IP address and not to 127.0.0.1.
Hope that helps
Maybe you are looking for
-
Where is line item display order maintianed in document?
Hello, I am creating a Sales Order using DIAPI. It has 5 line items. The LineNum value is sequencial starting from 0. If I open the order created using DIAPI in SBO UI and insert in the second row the LineNum sequence is broken.This item is shown wit
-
I am hoping to connect my new iMac to broadband as soon as possible. But I am out of my depth when ISP websites contain lines like "There is currently no driver support for Intel based Macs". (You will gather that I know next to nothing about setting
-
Hi its very very urgent. Can anyone tell me about master data conversion. I dont know anything about it, all i know is its done through legacy system migration work bench. Please send any links or doc regarding it. Thanks in advance. I appreciate you
-
What is the use of axis input for set rotation.vi
in the attached vi if i give axis as ( 1 , 0 , 0 ) and angle to some 10 object is rotating 10 degrees if i keep axis as ( 20 , 0 , 0 ) also and if i am giving angle as 10 then also object is rotating 10 degrees only so for the set rotation.vi wh
-
How do l upgrade from Mac OS 10.5.2 to Mac OS 10.5.8
I have a Mac Mini (Mac OS X 10.5.2) and l need to upgrade to 10.5.8 so l can install a later versopm of Microsoft. I downloaded the upgrade and it won't work - anyone got any suggestions for what to do next? many thanks Mags Samba