Clustering a JMS Topic
I'm trying to create a distributed JMS topic using the wlconfig ant task (MBean).
I can create a topic on a single server fine, but I can't figure out how to create a distributed topic that I could access on any server in the cluster.
This is what I have so far, which seems to run, but I can't lookup the topic under the JNDI name in the server,
<wlconfig url="t3://${JEE_HOST}:7001/" username="${JEE_USER}" password="${JEE_PASSWORD}">
<query domain="mydomain" type="Cluster" name="*" property="cluster"/>
<query domain="mydomain" type="Server" name="server1" property="server1"/>
<query domain="mydomain" type="Server" name="server2" property="server2"/>
<query domain="mydomain" type="Server" name="server3" property="server3"/>
<create type="JMSConnectionFactory" name="EmployeeTopicConnectionFactory">
<set attribute="JNDIName" value="jms/EmployeeTopicConnectionFactory"/>
<set attribute="XAServerEnabled" value="false"/>
<set attribute="Targets" value="${cluster}"/>
</create>
<create type="JMSServer" name="EmployeeJMSServer1">
<set attribute="Targets" value="${server1}"/>
</create>
<create type="JMSServer" name="EmployeeJMSServer2">
<set attribute="Targets" value="${server2}"/>
</create>
<create type="JMSServer" name="EmployeeJMSServer3">
<set attribute="Targets" value="${server3}"/>
</create>
<create type="JMSDistributedTopic" name="EmployeeTopic">
<set attribute="JNDIName" value="jms/EmployeeTopic"/>
<set attribute="LoadBalancingPolicy" value="Random"/>
<set attribute="Targets" value="${cluster}"/>
</create>
</wlconfig>
This produces the following in the config.xml
<jms-server>
<name>EmployeeJMSServer1</name>
<target>server1</target>
</jms-server>
<jms-server>
<name>EmployeeJMSServer2</name>
<target>server2</target>
</jms-server>
<jms-server>
<name>EmployeeJMSServer3</name>
<target>server3</target>
</jms-server>
<migratable-target>
<name>server1 (migratable)</name>
<notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
<user-preferred-server>server1</user-preferred-server>
<cluster>employee-cluster</cluster>
</migratable-target>
<migratable-target>
<name>server2 (migratable)</name>
<notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
<user-preferred-server>server2</user-preferred-server>
<cluster>employee-cluster</cluster>
</migratable-target>
<migratable-target>
<name>server3 (migratable)</name>
<notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
<user-preferred-server>server3</user-preferred-server>
<cluster>employee-cluster</cluster>
</migratable-target>
<jms-interop-module>
<name>interop-jms</name>
<sub-deployment>
<name>EmployeeTopicConnectionFactory</name>
<target>employee-cluster</target>
</sub-deployment>
<sub-deployment>
<name>EmployeeTopic</name>
<target>employee-cluster</target>
</sub-deployment>
<descriptor-file-name>jms/interop-jms.xml</descriptor-file-name>
</jms-interop-module>
and the jms interop xml
<connection-factory name="EmployeeTopicConnectionFactory">
<jndi-name>jms/EmployeeTopicConnectionFactory</jndi-name>
<transaction-params>
<xa-connection-factory-enabled>false</xa-connection-factory-enabled>
</transaction-params>
</connection-factory>
<distributed-topic name="EmployeeTopic">
<jndi-name>jms/EmployeeTopic</jndi-name>
<load-balancing-policy>Random</load-balancing-policy>
</distributed-topic>
You might want to post this to the JMS forum:
http://forum.java.sun.com/forum.jspa?forumID=29
Similar Messages
-
Can JMS topics and queues be clustered in a WLS 7.0 Cluster?
We are installing a weblogic 7.0 cluster with 1 admin server and 2 managed
node servers. Two nodes have been clustered. We are at the point where we
need to configure JMS. Has any one implemented JMS in WLS 7 clustered
environment? What are the things to watch out when clustering JMS? Can JMS
topics and queues be clustered?
TIA for any helpful hints and comments.
Regards
"Karim Ali" <[email protected]> wrote:
>> Has any one implemented JMS in WLS 7 clustered
>> environment?
I'm currently working on a project with WLS 7 here at work, involving
the implementation of BEA's JMS Cluster. So far, I really haven't had
many hiccups.
"Karim Ali" <[email protected]> wrote:
>> What are the things to watch out when clustering JMS?
At least in WLS 7, the biggest thing that stands out is the lack of
automatic failover. Also, Message Paging -- make sure you configure
paging high/low thresholds. Or, if you don't wish for it to occur but
can't stop the server (very common these days with SLAs), set that
byte/message high threshold to a very large number (correct me if I'm
wrong, but I believe BEA recommends 2^63 -1).
"Karim Ali" <[email protected]> wrote:
>> Can JMS topics and queues be clustered?
Well, since Topics and Queues are extensions of the
javax.jms.Destination interface, the answer is: Yes!
(SIDE NOTE: most people usually refer to them as a [JMS] "destination"
-- it avoids a lot of conceptual baggage and plus, less typing!)
You'll probably want to see this section of BEA's e-docs:
http://edocs.bea.com/wls/docs70/adminguide/jms.html#config_distributed_destinations
later,
Brian J. Mitchell
BEA Systems Administrator
TRX
Atlanta, GA
email: [email protected]
office: 404-327-7238
mobile: 678-283-6530
-
JMS Topic Load Balancing on Cluster
Folks
How do we load balance JMS Topic on a cluster.
We have a 2 App Server configuration to a single cluster.
If we have Topic A on both OC4J instances 1,2 - and we send a message to 1 - only clients connected to 1 get the message.
What do we need to do to setup JMS clustering so that the messages sent to Topic A can be handled by both OC4J instances.Hi Ravi,
Check this forum:
/thread/24959 [original link is broken]
Load Balancing for J2EE Web Applications
http://help.sap.com/saphelp_nw04/helpdata/en/ce/4522d557b26942b202e05ff9ee1f3a/frameset.htm
SAP Web Dispatcher - Load balancing EP6.0 SP2
/thread/19304 [original link is broken]
Reward points if this helps
Regards
Pragathi. -
1 "simple" JMS topic and 2 cluster elements with OSB
Hi,
I have 1 simple jms topic (not distributed, not on migratable target) and cluster with 2 members - OSB as main application. My OSB proxy service reads from this topic and saves data to file.
The problem is that reading from topic appears twice - once by each cluster member. How to configure topic or proxy service for only one reading?FYI - At this year's Oracle OpenWorld, which is being held in conjunction with this year's JavaOne, Oracle will be announcing a set of enhancements that are designed to cover this exact use case.
Tom Barnes
Session ID: S317469
Title: New Service-Oriented Architecture Patterns with Enterprise Grid Messaging
Abstract: Messaging systems are essential in enabling the flexibility and loosely coupled nature of a service-oriented architecture (SOA). Oracle WebLogic Java Message Service (JMS) includes new pub-sub capabilities that make architectures more adaptable, allowing message producers to be ignorant of who is the consumer of a message or how many consumers there are. It also enables easy scale out and dynamic adaptability through clustering and message-driven bean (MDB) enhancements, all while still guaranteeing strict message ordering. This session will outline new JMS capabilities and show how they enable new designs with Oracle WebLogic Server and Oracle Service Bus.
Speaker(s): Dongbo Xiao, Oracle, Principal Member of Technical Staff
Biography not available.
David Cabelus, Oracle USA, Senior Principal Product Manager
Dave Cabelus is a Senior Principal Product Manager in the WebLogic Server group at Oracle. Dave's responsibilities include product strategy and direction for various pieces of WebLogic Server, including Java Messaging, Operations and Management, Diagnostics, and various other initiatives, and previously included database connectivity, transactions, and Web tier integration. In the industry since 1996 and involved in Java since 1999, Dave worked at various software companies including Logic Works, Platinum Software, Kana, and a few startups before coming to Oracle (BEA) in 2001.
Event: JavaOne and Oracle Develop
Stream(s): ORACLE DEVELOP, DEVELOP
Track(s): Application Grid and Oracle WebLogic
Tags: Add
Session Type: Conference Session
Session Category: Features
Duration: 60 min.
Schedule: Thursday, September 23, 11:00AM | Hotel Nikko, Nikko Ballroom II Available
Edited by: TomB on Aug 12, 2010 1:21 PM -
Tom !!! Help needed in JMS Topic Lookup Cluster DOMAIN
Hi Tom,
We have a clustered domain with 2 managed servers and our application is an Applet-Servlet based application.We user JMS Topic for some of online blotters.
And on looking up we get the following error,
weblogic.jms.common.JMSException: <055053> <java.rmi.RemoteException: CORBA INTERNAL 1398079712 Maybe; nested exception is: org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 224 completed: Maybe >
weblogic.jms.client.JMSConnectionFactory.setupJMSConnection(JMSConnectionFactory.java:272)at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal(JMSConnectionFactory.java:299)at weblogic.jms.client.JMSConnectionFactory.createTopicConnection(JMSConnectionFactory.java:198)at
Pls note while looking up for the Initial context since it is a cluster environment, we look up using comma separated Ipaddresses.
Pls note, we use JRE 1.4.2_13 for the applet to launch,.
Earlier also for JMS failover i sought your help and your suggestions have really invaluable.
Request you to provide me some more suggestions on this issue as well.
Regards
SureshThe exception is thrown by the JVM's built in Sun IIOP (CORBA) libraries. I don't know the cause, but a google search for "SUN minor code: 224 completed: Maybe" yields a single hit that might help. See the July 23/24 posts for "Re: iiop: error with bidirectional connections" in the weblogic rmi-iiop newsgroup:
http://forums.bea.com/thread.jspa?threadID=300001651
Tom -
How to resolve JMSExceptions:045032 when creating a JMS Topic
I am using Weblogic 12c (12.1.1.0). I have created a new managed server. I have created a JMS server targeted to the new managed server. I have created a JMS module targeted to the new managed server. I have created a JMS Subdeployment which targets both the new managed server and the new JMS server. I've created a JMS connection factory which targets the JMS Subdeployment.
Now everything I've done so far has worked fine. No problems. The problem happens when I try to create a JMS Topic. I select to create a new regular Topic; I target the new JMS Subdeployment, and after selecting the Subdeployment Weblogic refreshes the page and shows the JMS server. So this all seems OK. When I try to finish and create the JMS Topic, I get the following error: [JMSExceptions:045032]While attempting to create destination [TOPIC_NAME] in module [MODULE_NAME] the JMS server [MANAGED_SERVER_NAME] could not be found.
Any thoughts on this? I've googled around but haven't found anything useful.I replicated this at my end. This is caused by Subdeployment target to both the new managed server and the new JMS server.
Please try creating a new Subdeployment and target it to JMS Server only, as described in the document below.
https://docs.oracle.com/cd/E24329_01/web.1211/e24385/best_practice.htm#JMSAD633
"Populate the subdeployment only with JMS servers - not WebLogic servers. Only include the JMS servers that you wish to host destinations. This ensures that when the JMS resources are configured, they are targeted to the correct JMS servers. For modules that support non-distributed destinations, the subdeployment must only reference a single JMS Server. If you have a mix of distributed and non-distributed destinations, use two modules each with its own subdeployment."
Best Regards
Luz -
JMS Topic - Can there be multiple pubs/subs
I belive JMS Topic supports multiple publishers, subscribers
for the same topic right? I am sure about the multiple subsicriber part because
I have done it before (with one publisher). However, I am changing my
design to have multiple publishers now as well. Is this possible?
Thanks
Ashique wrote:
> I belive JMS Topic supports multiple publishers, subscribers
> for the same topic right?
Yes.
> I am sure about the multiple subsicriber part because
> I have done it before (with one publisher). However, I am changing my
> design to have multiple publishers now as well. Is this possible?
>
Yes.
>
> Thanks
-
JMS Topic - Deliver to only one Durable Subscriber
Hi,
Is it possible to put a message onto a topic but only have it delivered to a single durable subscriber?
I realise this breaks the rules of what a topic is but this is for a scenario where a single subscriber has errored when processing the original message from the topic. I am putting a user interaction process to recover it and if the user selects ‘resubmit’ I want to put the message back on the topic but only deliver it to the one subscriber that failed to process the message.
My ways to achieve this (in order of preference) would be.
1. JMS Adapter
2. Writing Java to use JMS API
If neither of these are possible than:
3. Create a System Resubmit queue and have every composite look for message on the resubmit queue (with their client ID) as well as the normal topic they use
Of course I would like to avoid 3 as it introduces a complication into every process we create that takes messages from a JMS Topic.
Thanks for your help.
RobertI could suggest a (dirty) trick:
all subscribers subscribe to the topic using a filter (message selector, http://docs.oracle.com/javaee/6/tutorial/doc/bnceh.html#bncer)
SUBSCRIBER1 uses:
destination = ALL OR SUBSCRIBER1
SUBSCRIBER2 uses:
destination = ALL OR SUBSCRIBER2
etc
The first message has the property destination set to ALL, so all subscribers will process it.
The resubmitted message will have destination = SUBSCRIBER<N>, where N is the failed subscriber -
Error :- while accessing JMS topic messages in Design Studio
Hi,
Am getting this error while clicking update button in Design Studio to populate a dataobject using JMS Topic messages sent by oracle Bpel manager.
IMessageSourceReceiver->messageReceive: javax.naming.NoInitialContextException: Cannot instantiate class: oracle.j2ee.rmi.RMIInitialContextFactory. Root exception is java.lang.ClassNotFoundException: oracle.j2ee.rmi.RMIInitialContextFactory
Can you tell me where to find the class and how to use it to resolve the problem?
P.S:-
If you can provide any document how oracle BPEL process manager use JMS topic to send message to Oracle BAM and display in reports.
Thanks in advance
Cheers,
Praveen G
iSOFT R& D Pvt Ltd.
[email protected]Hi,
We are using BAM 10.1.3 against BPEL 10.1.2 and we cannot get it to work.
We are also getting the error "javax.naming.NoInitialContextException: Cannot instantiate class: oracle.j2ee.rmi.RMIInitialContextFactory...." .
Our startup paramters for Enterprise Source “Oracle (AS JMS and OJMS) looks like this:
JMS*".;C:\OracleBAM\OC4J\j2ee\home\lib\jms.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jndi.jar;C:\OracleBAM\OC4J\j2ee\home\oc4j.jar;C:\OracleBAM\OC4J\j2ee\home\oc4jclient.jar;C:\OracleBAM\OC4J\j2ee\home\lib\oc4j-internal.jar;C:\OracleBAM\OC4J\j2ee\home\lib\ejb.jar;C:\OracleBAM\OC4J\j2ee\home\lib\servlet.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jta.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jms.jar;C:\OracleBAM\OC4J\j2ee\home\lib\javax88.jar;C:\OracleBAM\OC4J\j2ee\home\lib\javax77.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jmxri.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jmx_remote_api.jar;C:\OracleBAM\OC4J\j2ee\home\lib\adminclient.jar;C:\OracleBAM\OC4J\j2ee\home\ojspc.jar;C:\OracleBAM\OC4J\j2ee\home\jazn.jar;C:\OracleBAM\OC4J\opmn\lib\optic.jar;C:\OracleBAM\OC4J\rdbms\jlib\aqapi.jar;"".;c:\TIBCO\JMS\clients\java\tibjms.jar;c:\TIBCO\JMS\clients\java\jms.jar;c:\TIBCO\JMS\clients\java\jndi.jar;c:\TIBCO\JMS\clients\java\jta-spec1_0_1.jar;c:\TIBCO\JMS\clients\java\jcert.jar;c:\TIBCO\JMS\clients\java\jnet.jar;c:\TIBCO\JMS\clients\java\jsse.jar;c:\TIBCO\JMS\clients\java\tibcrypt.jar;"".;C:\Program Files\IBM\WebSphere MQ\Java\lib\com.ibm.mq.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\com.ibm.mqjms.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\connector.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\jms.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\jndi.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\jta.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\providerutil.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\fscontext.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\ldap.jar;"".;C:\Program Files\SonicSoftware\SonicMQ\lib\sonic_Client.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\gnu-regexp-1.0.6.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\jaxp.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\xerces.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\tools.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\providerutil.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\fscontext.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\sslj.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\jsafe.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\certj.jar;"".;C:\bea\weblogic700\server\lib\weblogic.jar;"".;C:\eGate\client\classes\stcjms.jar;C:\eGate\client\JRE\1.3\lib\ext\fscontext.jar;C:\eGate\client\JRE\1.3\lib\ext\providerutil.jar;C:\eGate\client\ThirdParty\sun\jms.jar;C:\eGate\client\ThirdParty\sun\jndi.jar;C:\eGate\client\ThirdParty\sun\jta.jar;"".;C:\JNDI-Directory_WebMethods\fscontext.jar;C:\JNDI-Directory_WebMethods\providerutil.jar;C:\JNDI-Directory_WebMethods\javax.jms.jar;C:\Program Files\webMethods6\Broker\lib\BrokerJMS60.jar;C:\Program Files\webMethods6\common\lib\client60.jar;C:\Program Files\webMethods6\Broker\lib\xerces.jar;"
We are trying to get to our oc4j container on our BPEL server. We have the following settings on our created message sourcein BAM architect:
Initial Context Factory: oracle.j2ee.rmi.RMIInitialContextFactory
JNDI Service Provider URL: opmn:ormi://hostname:6003:OC4J_BPEL
TopicConnectionFactory Name: java:comp/resource/ojms_ipl/TopicConnectionFactories/iplerror
Topic Name: java:comp/resource/ojms_ipl/Topics/iplerror
ojms_ipl refers to the datasource on our BPEL server that is defined in application.xml.
Where is the class located?
Best regards -
Invoke Error while inserting consumed JMS Topic msg in table thru DBadapter
Hi All,
To brief abt my requirement, I am integrating Peoplesoft HRMS module with Oracle SOA i.e.,
+
1. PS HRMS module will publish a JMS msg into a JMS Topic
2. I will consume the same msg using JMS adapter consume operation in my SOA project
3. The Payload(msg) is coming into RECEIVE activity and thru ASSIGN activity invoking the DB adapter to insert the msg into a table.
4. INVOKE activity is throwing the below error(along with the error, able to see the payload in INVOKE activity )
<part name="summary"> +
<summary>*Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'insert' failed due to: Mapping Not Found Exception. The mapping [EMPLID] for descriptor [class insert.Employee] could not be found. The input xml record had an element [Employee/EMPLID]. Most likely the wrong xml input variable (not matching the expected xsd) was passed to this invoke. Make sure that the input xml is valid relative to the xsd and that the mapping exists in the Mappings.xml. If an old version of the descriptor without this mapping has been loaded by the database adapter, you may need to bounce the app server. If the same descriptor is described in two separate Mappings.xml files, make sure both versions include this attribute/mapping. ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. *</summary>
</part>
Please, provide some suggestions.
Regards,
SatyaHi Satya,
Try replacing the Assign activity with a Transform acitivity.
Also please check the schema that comes of the DB adapter is having the similar sort of definition that you are getting in your input.
What I mean is to check for length of fields, type of the fields etc.
Thanks,
Deepak.
Edited by: DeepakDabbiru on Oct 23, 2012 3:29 AM -
ORABPEL-12165 error while publishing a 77KB message payload to a JMS topic
Our BPEL process reports the above exception when we tried to publish a 23 line PO to a JMS topic with the default partner link settings (on a dev workstation using the OC4J JMS provider). We do not see the above errror manifest itself on smaller size purchase orders (1-6 line orders). The stack trace from the domain long is shown below:
<2006-04-05 16:28:13,390> <DEBUG> <default.collaxa.cube.ws> <JMSAdapter::Outbound> XMLHelper_setJmsMessageHeadersAndPropertiesFromXML: No headers/properties set because element is null
<2006-04-05 16:28:13,406> <ERROR> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JmsProducer_execute: A resource exception occured while producing message
<2006-04-05 16:28:13,406> <ERROR> <default.collaxa.cube.ws> <JMSAdapter::Outbound>
ORABPEL-12165
ERRJMS_PROVIDER_ERR.
Could not produce message due to JMS provider error.
Please examine the log file to determine the problem.
at oracle.tip.adapter.jms.JMS.JMSMessageProducer.produce(JMSMessageProducer.java:209)
at oracle.tip.adapter.jms.outbound.JmsProducer.execute(JmsProducer.java:114)
at oracle.tip.adapter.jms.JmsInteraction.executeProduce(JmsInteraction.java:195)
at oracle.tip.adapter.jms.JmsInteraction.execute(JmsInteraction.java:154)
at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:458)
at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:647)
at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:448)
at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327)
at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189)
at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317)
at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:188)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3408)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1836)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:166)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:252)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5438)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1217)
at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:511)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335)
at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796)
at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
Caused by: javax.jms.JMSException: storeMessage(ID:Oc4jJMS.Message.OCS1PC.737371:10a6c2453eb:-8000.352,c0:a7:7:1f:24:2c:0:0:29:0:0:0:0:0:0:0:0:2a:1:a:6c:2b:84:11)
at com.evermind.server.jms.JMSUtils.makeJMSException(JMSUtils.java:1844)
at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1860)
at com.evermind.server.jms.ServerStore.storeMessage(ServerStore.java:757)
at com.evermind.server.jms.ServerStore.enq(ServerStore.java:157)
at com.evermind.server.jms.ServerTopic.enq(ServerTopic.java:464)
at com.evermind.server.jms.ServerTopic.enq(ServerTopic.java:97)
at com.evermind.server.jms.JMSProvider.enqMessage(JMSProvider.java:574)
at com.evermind.server.jms.EvermindSession.send(EvermindSession.java:1099)
at com.evermind.server.jms.EvermindMessageProducer.send(EvermindMessageProducer.java:409)
at com.evermind.server.jms.EvermindMessageProducer.send(EvermindMessageProducer.java:201)
at com.evermind.server.jms.EvermindTopicPublisher.publish(EvermindTopicPublisher.java:77)
at oracle.tip.adapter.jms.JMS.JMSMessageProducer.produce(JMSMessageProducer.java:195)
... 30 morelook into the jms.log - can be found @ $BPEL_HOME/integration\orabpel\system\appserver\oc4j\j2ee\home\log
maybe this gives some more information..
hth clemens -
How to configure a error queue for weblogic jms topic
Hi guys.
I want to configure a error queue for weblogic jms topic. Wanted: The message goes to error destination when messages have expired or reached their redelivery limit.
1. using jms transport configure proxy service:
Retry Count :3
Retry Interval:10
Error Destination: ErrorTopic
Expiration Policy: Redirect
I tried use the proxy service to consume message from the jms topic . and generation an error in the proxy message flow. But the message didn't goes into the error topic.
Any suggestions for this topic? Can anyone provide some helps or any useful links.
Thanks in advance.
MingzhuangMingzhuang
I want to configure a error queue for weblogic jms topic. Wanted: The message goes to error destination when messages have expired or reached their redelivery limit.
1. using jms transport configure proxy service:
Retry Count :3
Retry Interval:10
Error Destination: ErrorTopic
Expiration olicy: RedirectUnlike File/SFTP, JMS proxy service definition does not have the concept of Error Destination. To accomplish similar functionality go to JMSQ on (for which proxy is configured) server console (http://localhost:7001/console) and configure the Error Destination. Following URL will help in how to configure JMS Q.
http://edocs.bea.com/wls/docs103/ConsoleHelp/taskhelp/jms_modules/queues/ConfigureQueues.html
http://edocs.bea.com/wls/docs103/ConsoleHelp/taskhelp/jms_modules/queues/ConfigureQueueDeliveryFailure.html
I tried use the proxy service to consume message from the jms topic . and generation an error in the proxy message flow. But the message didn't goes into the error topic.If every thing is configured as per above step, then the after retries, the weblogic server will put the message into JMS topic configured. Your proxy will receive from this topic.
Let me know if we are not on same page.
Cheers
Manoj -
Getting DOM Parsing Exception in translator while Dequeuing the message from JMS topic
Hi All,
Hope you all doing good.
I have an issue.
I am running on 11.1.1.5 SOA suite version on Linux.
In my aplication I have 4 projects which are connected by with topic/queue.
But in one of the communication, the JMS topic throws me the below error in the log, but dequeue happend perfectly fine and the application runs smoothly.
[ERROR] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@530c530c] [userId: <anonymous>
] [ecid: 5552564bd7cf9140:-117a2347:142149c715a:-8000-00000000069dd133,0] [APP: soa-infra] JMSAdapter <project1>
JmsConsumer_sendInboundMessage:[des
tination = <TOPIC NAME> subscriber = <Consumer project name>
Error (DOM Parsing Exception in translator.[[
DOM parsing exception in inbound XSD translator while parsing InputStream.
Please make sure that the xml data is valid.
) while preparing to send XMLRecord JmsXMLRecord
[ERROR] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@530c530c] [userId: <anonymous>
] [ecid: 5552564bd7cf9140:-117a2347:142149c715a:-8000-00000000069dd133,0] [APP: soa-infra] JMSAdapter <project name>
java.lang.Exception: DOM Parsing Exception in translator.
DOM parsing exception in inbound XSD translator while parsing InputStream.
Please make sure that the xml data is valid.
at oracle.tip.adapter.jms.inbound.JmsConsumer.translateFromNative(JmsConsumer.java:603)
at oracle.tip.adapter.jms.inbound.JmsConsumer.sendInboundMessage(JmsConsumer.java:403)
at oracle.tip.adapter.jms.inbound.JmsConsumer.send(JmsConsumer.java:1161)
at oracle.tip.adapter.jms.inbound.JmsConsumer.run(JmsConsumer.java:1048)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
But when I try putting the archived data on this topic, it throws me the same error but even dequeuing doesnt happen.
I have extracted the payload and validated against the xsd, it looks fine and even the validator doesnt throw me any error.
But I guess I am missing something, which I am immediately not getting.
Please let me know, if I am soemthing here which is causing this erro.
Thanks,
ChandruI searched about this error, but no luck.
First time when the message dequeues, the consumer can consume the message but throws the error in the log.
But when I put the message back into queue from archive directory, the consumer doesnt consume message and throws me the same error.
Does anyone faced this sort of issue.
I checked my xsd throughly, and validated it externally. but didnt fine any error.
if anyone knows, suggest me how to resolve this issue.
thanks & regards
Chandru -
Messages in JMS Topic Error destination
Hi,
I have a JMS Topic with an error destination queue configured. Now, In our scenario , there are two subscribers of topic for the same message. Suppose for a message published to topic, subscriber1 is able to processes message successfully but subscriber2 throws errors when processing the same message.
1. Once the redelivery limit is reached and subscriber2 continues to throw exception, Will the message get en queued to Error Destination (in spite of the fact that subscriber 1 has processed the same message successfully) ?
2. For a consumer (e.g MDB) listening to Error destination and consuming error messages, Is it possible to determine which topic subscriber was unable to process the message ?
Please let me know
Regards,
ArifHere it depends on the state of the message, if the message is visible then the message would be available for consumption, else it is not. In case the subscriber 2 failed to consume the message and the message is still visible then a retry would be made, else the message would not be retried.
In case the message is visible then the message would be move to the error queue based on the configured redelivery attempts.
Additionally, an MDB can find the destination using the getJMSDestination() call. But as per my understanding we will only be able to get the name of the last destination which in this case would be error queue:
http://docs.oracle.com/javaee/1.4/api/javax/jms/Message.html#getJMSDestination%28%29 -
Jms adapter not polling messages from jms topic
Hi
We have a jms adapter configured in BPEL process which need to poll messages from JMS topic.Unfortunately its not polling message from JMS Topic if we add Message Selector and Durable Subscriber properties in jca file.Please find jca file content below
<adapter-config name="SyncCustomerPartyListCDHJMSConsumer" adapter="JMS Adapter" wsdlLocation="oramds:/apps/AIAMetaData/AIAComponents/ApplicationConnectorServiceLibrary/CDH/V1/ProviderABCS/SyncCustomerPartyListCDHProvABCSImpl.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
<connection-factory location="eis/jms/aia/syncCustomerParty_cf" UIJmsProvider="WLSJMS" UIConnectionName="Dev"/>
<endpoint-activation portType="Consume_Message_ptt" operation="Consume_Message">
<activation-spec className="oracle.tip.adapter.jms.inbound.JmsConsumeActivationSpec">
<!--property name="DurableSubscriber" value="XYZ"/-->
<property name="PayloadType" value="TextMessage"/>
<!--property name="MessageSelector" value="Target in ('XYZ')"/-->
<property name="UseMessageListener" value="true"/>
<property name="DestinationName" value="jms/aia/Topic.jms.COMMON.CustomerParty.PUBLISH"/>
</activation-spec>
</endpoint-activation>
</adapter-config>
If we remove Durable subscriber and message selector properties,its able to poll messages.
Any pointer will help
thanks in advance
BajiAfter changing below property in jca file.JMS adapter is able to poll messages from JMS Topic.
<property name="UseMessageListener" value="false"/>
But if i un comment below line and deploy my code again, it stop pulling the messages from topic.
<property name="DurableSubscriber" value="XYZ"/>
If i bounce the server after above change and deployment ,it will start polling the message.I am not sure why i need to restart my server after adding above property.
Thanks
Baji
Maybe you are looking for
-
How do you grey out/disable fields under a radio button if another radio button is selected in Adobe Acrobat XI Pro? I'm creating a form where the user has three options to make a payment. 1. charge to my credit card 2. charge associated costs to ban
-
The database DLL 'crdb_oracle.dll' could not be loaded
Post Author: rbirney CA Forum: Data Connectivity and SQL I realise this is a common problem but it is now driving me round the bend. I have an embedded a Crystal Report in my Visual Basic program and i get this error, when i try to run it through the
-
Call a function in a where clause of a select
hello, is it possible to call a function in a where clause of a select???? ex: select col1, col2 from my_table where my_package.my_function(32199, 2008, col3, 'P'); and i have error message "ORA-00920: invalid relational operator" FUNCTION my_functio
-
Is there any way to see if any other FaceTime id or iCloud account has logged into my personal iPhone and iPad
-
Web Service using SSL certificates
Hi All, I built an Adaptive Web service model using a WSDL file. The web service is from a third party provider and it requests exchange certificates. When I tried to consume any of the methods of the web service I get an error: sometime is an invali