JMS Dequeue issue -- OSB
Hi,
We have created a JMS Queue in WLS 10.3.0 and OSB (10.3.1) process is using proxy service - JMS transport to dequeue messages.
WLS JMS Queue -->OSB Proxy --> Business Service (JCA Db adapter) to insert data into a table
IF error in db --> Invoke OSB error handler and write to a file
Case - Success
Messages are deleted from the queue
Case - Failure
Messages are not deleted from the queue. Error handler is invoked in OSB and messages are written to a file.
This is creating an issue since OSB retries and number of files are created. We have tried setting retry settings in OSB, but in vain.
Please provide inputs, this is a bit of emergency.
Regards,
AP
Edited by: ARPL on Oct 15, 2009 3:41 AM
Am also dumb...
You need to create a new proxy service (and select the message type which suits your process, anysoap any xml, wsdl, etc), on the second tab you can select the transport.
In here select jms from the listbox and for the endpoint insert "jms://yourhost:yourpost/yourconnectionfactory/yourqueue"
thats all what is needed to let your proxy service pick up the messages from the queue.
eventually you want to route this message to something else, so for that you need to decide what sort of business service you use (webservice wsdl based, or just some other jms endpoint,or file...you name it)
@@JMS implementation in OSB
OSB concepts are really hard to digest if u r SOA developer from start. Proxy Service will act as a Inbound for JMS. It still shows the "Destination type" in JMS Transport Config tab
Really Confussing....
Sushil
Edited by: Sushil Deshpande on Jan 26, 2011 2:22 AM
Similar Messages
-
Need help to connect tibco jms queues from OSB
Hi,
We have a requirement in our project "to connect tibco JMS Queues from OSB".
The Queres are created by some othes in remote system, they provided us the details to connect the Queue. the detail are:
Queue Name :EXT_WEALTHHUB.TO_EXT.SYNC.REQ
Jndi Factory :SSLQueueConnectionFactory
and hostName , PORT
Credentails are provided.
We entered the same details in Business service in transport page by choosing 'jms' as protocol and EndpointURI as.
"jms://100.10.XX.YY:1234/SSLQueueConnectionFactory/EXT_WEALTHHUB.TO_EXT.SYNC.REQ"
And we created a service account to maintain the credentials and browsed the same at service account in the business service.
In JMS Transport Page we selected
Response Queue : One for all Request URI's
Response Pattern : JMS CorrelaltionID
Response UI :jms://100.10.XX.YY:1234/SSLQueueConnectionFactory/EXT_WEALTHHUB.TO_EXT.SYNC.RESP
when we are trying to establish a connection with the above queue getting
javax.naming.CommunicationException [Root exception is weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: er.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:733)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:689)
at weblogic.jms.common.CDS$DD2Listener$1.run(CDS.java:1018)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS$DD2Listener.getInitialContextFromListener(CDS.java:1012)
at weblogic.jms.common.CDS$DD2Listener.getInitialContext(CDS.java:984)
at weblogic.jms.common.CDS$1.run(CDS.java:436)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS.createInitialContext(CDS.java:431)
at weblogic.jms.common.CDS.getDDMembershipInformation(CDS.java:270)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createMDManagers(MessageDrivenBeanInfoImpl.java:1455)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.activate(MessageDrivenBeanInfoImpl.java:1252)
at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1320)
at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:493)
at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:227)
at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:531)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:165)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:157)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1267)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: weblogic.socket.UnrecoverableConnectException: [Login failed for an unknown reason: in.checkLoginSuccess(Login.java:131)
at weblogic.rjvm.t3.MuxableSocketT3.connect(MuxableSocketT3.java:403)
at weblogic.rjvm.t3.ConnectionFactoryT3.createConnection(ConnectionFactoryT3.java:34)
at weblogic.rjvm.ConnectionManager.createConnection(ConnectionManager.java:1777)
at weblogic.rjvm.ConnectionManager.findOrCreateConnection(ConnectionManager.java:1417)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:437)
at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:316)
at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:254)
at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:197)
at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
at weblogic.jndi.WLInitialContextFactoryDelegate$1.run(WLInitialContextFactoryDelegate.java:345)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:340)
at weblogic.jndi.Environment.getContext(Environment.java:315)
at weblogic.jndi.Environment.getContext(Environment.java:285)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:198)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl$2.run(MessageDrivenBeanInfoImpl.java:748)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.doPrivilagedAction(MessageDrivenBeanInfoImpl.java:2238)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:733)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageDrivenBeanInfoImpl.java:689)
at weblogic.jms.common.CDS$DD2Listener$1.run(CDS.java:1018)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS$DD2Listener.getInitialContextFromListener(CDS.java:1012)
at weblogic.jms.common.CDS$DD2Listener.getInitialContext(CDS.java:984)
at weblogic.jms.common.CDS$1.run(CDS.java:436)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.jms.common.CrossDomainSecurityManager.runAs(CrossDomainSecurityManager.java:130)
at weblogic.jms.common.CDS.createInitialContext(CDS.java:431)
at weblogic.jms.common.CDS.getDDMembershipInformation(CDS.java:270)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createMDManagers(MessageDrivenBeanInfoImpl.java:1455)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.activate(MessageDrivenBeanInfoImpl.java:1252)
at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1320)
at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:493)
at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:227)
at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:532)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:165)
at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:158)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1269)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409)
at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
at weblogic.deploy.internal.targetserver.DeploymentM
Any pointers on how to resolve the above issue will be a greate help to us.
Thanks in AdvanceWrong forum, please ask this on dedicated weblogic or soa forums
-
Read message synchronously from JMS queue using OSB
Hi,
Is it possible to read message from the JMS queue using OSB based on the request invocation. I know messages can be read from the queue but it will be polling based.
The requirement is to have an OSB proxy service (HTTP service ) an an interface to the client application. Client application invokes the proxy service and the proxy service need to read message from the JMS queue and provide the message as response to the client.
Let me know if there are any pointers.
Thanks
SandeepHi,
I spent some time trying to do this and apart from creating custom database tables etc. I was not able to achieve this.
We wanted to use in memory JMS queues in our situation.
In the end we developed a Java Web Service which preformed the on-demand read from the queue (using a particular message selector)
This is working for us without a problem
Robert -
Can anyone help me how to work with jms server in osb?
Hi,
I am new in osb. I have requirement in osb listeners.
I want to put some data in to jms server using osb in one project and then consume that data using osb in diffrent projects.
how to configure jms server to work above scenario?
how to construct business and proxy sevices?
jms protocal format?
My requirement is topic in jms server
Regards,
Raju..Hi,
The below link will help you to create simple JMS in weblogic
https://blogs.oracle.com/soaproactive/entry/how_to_create_a_simple
How to push message and consume message
http://rangarb.wordpress.com/2012/04/18/working-with-jms-in-osb-11g/
Another example of subscription of jms
http://oraclesoaandoim.blogspot.co.uk/2012/04/oracle-service-11116-consume-jms.html
Give points - it is good etiquette to reward an answerer points (5 - helpful; 10 - correct) for their post if they answer your question.
Thanks,
Vijay -
Hi All,
I have been using JMS queues for few of my OSB projects.
From what I have noticed, the JMS server fails to queue messages often.
This is solved once the weblogic server is restarted.
I come across this problem atlest thrice a week. Everytime I restart the weblogic server to overcome this issue.
Is there any configuration setting within the JMS to avoid this?
Or is there any other way to overcome this?
Thanks,
Maniweblogic.messaging.kernel.KernelException: Error persisting message.
But sometimes i dont get any errors. The transaction seems successul.
But the message has not been queued.
Thanks,
Mani -
JMS Dequeue not working after upgrade from 11gR1 to 11gR2
Our database was migrated to a new database with new hardware running 11gR2
enqueue appears to be working as the queue table just grows and grows
However, my JMS async subscriber is never getting messaged.
Is there any logical reason for this?
in select * from all_queues my queue does show ENQUEUE and DEQUEUE enabled
also
the user that makes the subscription has DEQUEUE grant priviledge
Is there anything else that is needed for this to work?
I have already recreated the queue and queue table and ended up in the same place with no JMS consumer being able to consume.
when enabling trace on JMS I see
Caused by: oracle.jms.AQjmsException: JMS-122: Internal error Corrupted message
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:334)
at oracle.jms.AQjmsUtil.getTextData(AQjmsUtil.java:718)
at oracle.jms.AQjmsTextMessage.readGenMessageContainer(AQjmsTextMessage.java:322)
at oracle.jms.AQjmsTextMessage.<init>(AQjmsTextMessage.java:172)
at oracle.jms.AQjmsConsumer.dequeue(AQjmsConsumer.java:2481)
What incompatibilities exist b/w 11gR1 and 11gR2 ... my client is using aqapi 11.1
Edited by: steffi on Jan 14, 2013 3:14 PMIt's looking like it was a missing jar in this case the orai18n.jar
Is there any kind of release notes for how to move working AQ from 11gR1 to 11gR2? -
Embedded JMS/OC4J issue while running an application in Jdeveloper 10.1.3.2
Hi,
I am facing an issue while running an application on my laptop.I downloaded Jdeveloper 10.1.3.2.Installed Jheadstart along with that.
Created a new application specified in HR demo.When I run the application I get following messages,After that it does not show my application pages.It does not even open browser window.
[waiting for the server to complete its initialization...]
Aug 29, 2007 6:01:47 PM com.evermind.server.jms.JMSMessages log
INFO: JMSServer[]: OC4J JMS server recovering transactions (commit 0) (rollback 0) (prepared 0).
Aug 29, 2007 6:01:47 PM com.evermind.server.jms.JMSMessages log
INFO: JMSServer[]: OC4J JMS server recovering local transactions Queue[jms/Oc4jJmsExceptionQueue].
07/08/29 18:01:55 Oracle Containers for J2EE 10g (10.1.3.1.1) initialized
When I delete persistnce directory files under embedded oc4j (specifically jms.state), It logs following messages.But it does not run my application pages and not even open browser window to display some error.
[Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
C:\jdevstudio10132\jdev\system\oracle.j2ee.10.1.3.40.66\embedded-oc4j\config>
C:jdevstudio10132\jdk\bin\javaw.exe -client -classpath C:jdevstudio10132\j2ee\home\oc4j.jar;C:jdevstudio10132\jdev\lib\jdev-oc4j-embedded.jar -Xverify:none -XX:MaxPermSize=256m -DcheckForUpdates=adminClientOnly -Doracle.application.environment=development -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doc4j.jms.usePersistenceLockFiles=false oracle.oc4j.loader.boot.BootStrap -config C:\jdevstudio10132\jdev\system\oracle.j2ee.10.1.3.40.66\embedded-oc4j\config\server.xml
[waiting for the server to complete its initialization...]
07/08/29 18:06:16 Oracle Containers for J2EE 10g (10.1.3.1.1) initialized.
I tried by creating another standalone application with simple html page, it throws same logs and does not show up browser window.I even tried with Jdeveloper 10.1.3.3, but still same issue .
can you please throw some light on this issue and any suggestion for resolutions.
Thanks.Can someone throw somelight on this issue?
I posted the same issue in Jdeveloper forum but did not receive any reply .appreciate your suggestions.
Thanks
Sekar. -
Hi,
I am facing an issue while running an application on my laptop.I downloaded Jdeveloper 10.1.3.2.Installed Jheadstart along with that.
Created a new application specified in HR demo.When I run the application I get following messages,After that it does not show my application pages.It does not even open browser window.
[waiting for the server to complete its initialization...]
Aug 29, 2007 6:01:47 PM com.evermind.server.jms.JMSMessages log
INFO: JMSServer[]: OC4J JMS server recovering transactions (commit 0) (rollback 0) (prepared 0).
Aug 29, 2007 6:01:47 PM com.evermind.server.jms.JMSMessages log
INFO: JMSServer[]: OC4J JMS server recovering local transactions Queue[jms/Oc4jJmsExceptionQueue].
07/08/29 18:01:55 Oracle Containers for J2EE 10g (10.1.3.1.1) initialized
When I delete persistnce directory files under embedded oc4j (specifically jms.state), It logs following messages.But it does not run my application pages and not even open browser window to display some error.
[Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
C:\jdevstudio10132\jdev\system\oracle.j2ee.10.1.3.40.66\embedded-oc4j\config>
C:jdevstudio10132\jdk\bin\javaw.exe -client -classpath C:jdevstudio10132\j2ee\home\oc4j.jar;C:jdevstudio10132\jdev\lib\jdev-oc4j-embedded.jar -Xverify:none -XX:MaxPermSize=256m -DcheckForUpdates=adminClientOnly -Doracle.application.environment=development -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doc4j.jms.usePersistenceLockFiles=false oracle.oc4j.loader.boot.BootStrap -config C:\jdevstudio10132\jdev\system\oracle.j2ee.10.1.3.40.66\embedded-oc4j\config\server.xml
[waiting for the server to complete its initialization...]
07/08/29 18:06:16 Oracle Containers for J2EE 10g (10.1.3.1.1) initialized.
I tried by creating another standalone application with simple html page, it throws same logs and does not show up browser window.I even tried with Jdeveloper 10.1.3.3, but still same issue .
can you please throw some light on this issue and any suggestion for resolutions.
Thanks.I am also facing the same issue on my laptop. I searched for forum but no luck.
appreciate if anybody can throw some light on this. -
Hi all,
I've setup an OSB cluster with 2 managed servers.
From WLS console I created successfully the below JMS resources:
1. new file store, name and directory: MyFileStore_m01, target: bnk01osbm01 migratable
2. new file store, name and directory: MyFileStore_m02, target: bnk01osbm02 migratable
3. new jms server, name: MyJMSServer_m01, persistent store: MyFileStore_m01, target: bnk01osbm01 migratable
4. new jms server, name: MyJMSServer_m02, persistent store: MyFileStore_m02, target: bnk01osbm02 migratable
5. new jms module, name: MyJMSSystemModule, targets: cluster bnk01osbcluster + all servers in the cluster
6. new xa conn factory, name: MyXAConnectionFactory, jndi name: MyXAConnectionFactory
(targets as proposed by WLS itself: cluster bnk01osbcluster + all servers in the cluster)
+ XA Connection Factory Enabled: true
7. new Distributed Queue, name: MyDistributedQueue1, jndi name: MyDistributedQueue1, load balancing policy: round-robin
(targets as proposed by WLS itself: cluster bnk01osbcluster + all servers in the cluster)
+ allocate members uniformly: true
and I recorded that into the included recorded_by_wls.py. As said no error has been raised.
Then I removed the above JMS resources and I executed the recorded_by_wls.py from command line getting the error that I reported at the end of the email.
I changed slightly the original py produced by WLS by adding only the below first 5 lines:
print "Starting the script ..."
connect("weblogic", "weblogic", "t3://wasdv1r3n1.dev.b-source.net:7031")
edit()
startEdit()
cd('/')
I included also the recorded_by_wls.py source at the end of the email.
For information I reported also what I saw on WLS console when I created manually my JMS resources.
Do you have an idea why a successfully recorded WLS session fails when executed from a command line ?
Any help will be very appreciate.
Thanks in advance.
Regards
ferp
Error:
java weblogic.WLST recorded_by_wls.py Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
Starting the script ...
Connecting to t3://wasdv1r3n1.dev.b-source.net:7031 with userid weblogic ...
Successfully connected to Admin Server 'bnk01osbadm' that belongs to domain 'bnk01osb'.
Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.
Location changed to edit tree. This is a writable tree with
DomainMBean as the root. To make changes you will need to start an edit session via startEdit().
For more help, use help(edit)
Starting an edit session ...
Started edit session, please be sure to save and activate your changes once you are done.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Starting an edit session ...
Started edit session, please be sure to save and activate your changes once you are done.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
This Exception occurred at Mon Sep 07 15:31:33 CEST 2009.
weblogic.application.ModuleException: ERROR: Unable to add destination MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 to the back end wlsbJMSServer_auto_2
at weblogic.jms.module.JMSModule.prepareUpdate(JMSModule.java:618)
at weblogic.jms.module.ModuleCoordinator.prepareUpdate(ModuleCoordinator.java:487)
at weblogic.application.internal.flow.DeploymentCallbackFlow$5.next(DeploymentCallbackFlow.java:514)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepareUpdate(DeploymentCallbackFlow.java:280)
at weblogic.application.internal.BaseDeployment$PrepareUpdateStateChange.next(BaseDeployment.java:679)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
at weblogic.application.internal.BaseDeployment.prepareUpdate(BaseDeployment.java:444)
at weblogic.application.internal.SingleModuleDeployment.prepareUpdate(SingleModuleDeployment.java:16)
at weblogic.application.internal.DeploymentStateChecker.prepareUpdate(DeploymentStateChecker.java:221)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepareUpdate(AppContainerInvoker.java:149)
at weblogic.deploy.internal.targetserver.operations.DynamicUpdateOperation.doPrepare(DynamicUpdateOperation.java:130)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: weblogic.jms.common.JMSException: [JMSExceptions:045050]A destination of name MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 has a jms-create-destination-identifier of name MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1. However, another destination of name MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 has the same jms-create-destination-identifier. Two destinations with the same jms-create-destination-identifier cannot be co-located on the JMSServer named wlsbJMSServer_auto_2.
at weblogic.jms.backend.BackEnd.addDestination(BackEnd.java:1527)
at weblogic.jms.backend.BEDestinationRuntimeDelegate.prepare(BEDestinationRuntimeDelegate.java:195)
at weblogic.jms.backend.udd.UDDEntity.prepare(UDDEntity.java:444)
at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1704)
at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1667)
at weblogic.jms.module.JMSModule$EntityState.access$100(JMSModule.java:1608)
at weblogic.jms.module.JMSModule.addEntity(JMSModule.java:936)
at weblogic.jms.module.JMSModule.addEntity(JMSModule.java:841)
at weblogic.jms.module.JMSModule.access$1500(JMSModule.java:87)
at weblogic.jms.module.JMSModule$JMSModuleListener.prepareUpdate(JMSModule.java:1485)
at weblogic.descriptor.internal.DescriptorImpl$Update.prepare(DescriptorImpl.java:481)
at weblogic.descriptor.internal.DescriptorImpl.prepareUpdateDiff(DescriptorImpl.java:195)
at weblogic.descriptor.internal.DescriptorImpl.prepareUpdate(DescriptorImpl.java:174)
at weblogic.jms.module.JMSModule.prepareUpdate(JMSModule.java:614)
Problem invoking WLST - Traceback (innermost last):
File "/products/software/tmp/recorded_by_wls.py", line 92, in ?
File "<iostream>", line 364, in activate
WLSTException: Error occured while performing activate : Error while Activating changes.ERROR: Unable to add destination MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 to the back end wlsbJMSServer_auto_2 Use dumpStack() to view the full stacktrace
recorded_by_wls.py source
print "Starting the script ..."
connect("weblogic", "weblogic", "t3://wasdv1r3n1.dev.b-source.net:7031")
edit()
startEdit()
cd('/')
cmo.createFileStore('MyFileStore_m01')
cd('/FileStores/MyFileStore_m01')
cmo.setDirectory('MyFileStore_m01')
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm01 (migratable),Type=MigratableTarget')], ObjectName))
activate()
startEdit()
cd('/')
cmo.createFileStore('MyFileStore_m02')
cd('/FileStores/MyFileStore_m02')
cmo.setDirectory('MyFileStore_m02')
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm02 (migratable),Type=MigratableTarget')], ObjectName))
activate()
startEdit()
cd('/')
cmo.createJMSServer('MyJMSServer_m01')
cd('/Deployments/MyJMSServer_m01')
cmo.setPersistentStore(getMBean('/FileStores/MyFileStore_m01'))
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm01 (migratable),Type=MigratableTarget')], ObjectName))
activate()
startEdit()
cd('/')
cmo.createJMSServer('MyJMSServer_m02')
cd('/Deployments/MyJMSServer_m02')
cmo.setPersistentStore(getMBean('/FileStores/MyFileStore_m02'))
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm02 (migratable),Type=MigratableTarget')], ObjectName))
activate()
startEdit()
cd('/')
cmo.createJMSSystemResource('MyJMSSystemModule')
cd('/SystemResources/MyJMSSystemModule')
set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbcluster,Type=Cluster')], ObjectName))
activate()
startEdit()
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule')
cmo.createConnectionFactory('MyXAConnectionFactory')
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory')
cmo.setJNDIName('MyXAConnectionFactory')
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory/SecurityParams/MyXAConnectionFactory')
cmo.setAttachJMSXUserId(false)
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory')
cmo.setDefaultTargetingEnabled(true)
activate()
startEdit()
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory/TransactionParams/MyXAConnectionFactory')
cmo.setTransactionTimeout(3600)
cmo.setXAConnectionFactoryEnabled(true)
activate()
startEdit()
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule')
cmo.createUniformDistributedQueue('MyDistributedQueue1')
cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/UniformDistributedQueues/MyDistributedQueue1')
cmo.setJNDIName('MyDistributedQueue1')
cmo.setLoadBalancingPolicy('Round-Robin')
cmo.setDefaultTargetingEnabled(true)
activate()
startEdit()
-- source end --
ON WLS console
Name Type Target
MyFileStore_m01 FileStore bnk01osbm01 (migratable)
MyFileStore_m02 FileStore bnk01osbm02 (migratable)
FileStore_auto_1 FileStore bnk01osbm01
FileStore_auto_2 FileStore bnk01osbm02
WseeFileStore_auto_1 FileStore bnk01osbm01
WseeFileStore_auto_2 FileStore bnk01osbm02
Name Persistent Store Target Current Server
MyJMSServer_m01 MyFileStore_m01 bnk01osbm01 (migratable) bnk01osbm01
MyJMSServer_m02 MyFileStore_m02 bnk01osbm02 (migratable) bnk01osbm02
wlsbJMSServer_auto_1 FileStore_auto_1 bnk01osbm01 bnk01osbm01
wlsbJMSServer_auto_2 FileStore_auto_2 bnk01osbm02 bnk01osbm02
WseeJmsServer_auto_1 Wsee FileStore_auto_1 bnk01osbm01 bnk01osbm01
WseeJmsServer_auto_2 Wsee FileStore_auto_2 bnk01osbm02 bnk01osbm02
Name Type
MyJMSSystemModule System
configwiz-jms System
jmsResources System
WseeJmsModule System
Name Type JNDI Name Subdeployment Targets
MyDistributedQueue1 Uniform Distributed Queue MyDistributedQueue1 Default Targetting bnk01osbcluster
MyXAConnectionFactory Connection Factory MyXAConnectionFactory Default Targetting bnk01osbclusterHi Ferp,
Do you have an idea why a successfully recorded WLS session fails when executed from a command line ?It should not fail. Each and every successfully (activation has been done without reporting an error/conflict) recorded session will execute on other servers successfully until a unique name constraint gets violated.
In your case this violation has happened. Your script is trying to create a distributed destination "MyDistributedQueue1" under module "MyJMSSystemModule", targetted to JMS Server "wlsbJMSServer_auto_2" but a Distributed Queue with same JNDI name already exists there.
Please check.
Regards,
Anuj -
BPEL process failing in many instances due to JMS performance issue...
Hi All,
We are using a JMS adapter as partner link in a BPEL process to produce messages to JMS Queue.
We are getting an error while producing a message to a JMS Queue.
The error comes for 1 or 2 instances among 5 to10 intsances. (all these instances ran with in 1 or 2 seconds).
We are using Oracle 10G SOA suite.
This error is getting in the Production environment.
The error is as follows (took error from server log).
Failed to handle dispatch message ... exception ORABPEL-05002
Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault}
messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
parts: {{summary=file:/sw/appaia/product/SOA/bpel/domains/default/tmp/.bpel_CurrencyExchangeListEbizJMSProducer_1.0_4ec528ec93a8a6ff0278fab9701dcc71.tmp/CurrencyExchangeListEbizJMSProducerV1.wsdl [ Produce_Message_ptt::Produce_Message(OutputParameters) ] - WSIF JCA Execute of operation 'Produce_Message' failed due to: Adapter Framework unable to create outbound JCA connection.
file:/sw/appaia/product/SOA/bpel/domains/default/tmp/.bpel_CurrencyExchangeListEbizJMSProducer_1.0_4ec528ec93a8a6ff0278fab9701dcc71.tmp/CurrencyExchangeListEbizJMSProducerV1.wsdl [ Produce_Message_ptt::Produce_Message(OutputParameters) ] - : The Adapter Framework was unable to establish an outbound JCA connection due to the following issue: oracle.j2ee.connector.proxy.ProxyInterceptException: javax.resource.ResourceException: RollbackException: Transaction has been marked for rollback: null [Caused by: RollbackException: Transaction has been marked for rollback: null]
; nested exception is:
ORABPEL-12511
Adapter Framework unable to create outbound JCA connection.
I tried the below JMS tunings with differnt combination, but no improvem
Please let me know if any other logs or any other information is required.
Thanks,
PershadOne of the values in the oc4j-ra.xml has the below values:
<connector-factory location="OracleASjms/MyXAQCF" connector-name="OracleASjms">
<config-property name="jndiLocation" value="jms/XAQueueConnectionFactory"/>
<config-property name="autoCloseSession" value="false"/>
<connection-pooling use="private">
<property name="waitTimeout" value="300" />
<property name="scheme" value="fixed_wait" />
<property name="maxConnections" value="50" />
<property name="minConnections" value="0" />
</connection-pooling>
<security-config use="principal-mapping-entries">
<principal-mapping-entries>
<principal-mapping-entry>
<initiating-user>servletuser</initiating-user>
<res-user>jmsuser</res-user>
<res-password>->jmsuser</res-password>
</principal-mapping-entry>
</principal-mapping-entries>
</security-config>
<connectionfactory-interface>javax.jms.XAQueueConnectionFactory</connectionfactory-interface>
</connector-factory>
Where do we need to change ?
Please suggest .
Thanks -
Dequeue issue with MQ adapter but can enqueue
I was trying to do a POC for MQ adapter. Even though I was able to write messages into a MQ queue, I could not read from MQ queue. I got the message below in the domain.log.
<2009-06-05 16:57:48,343> <ERROR> <default.collaxa.cube.activation> <MQSeries Adapter::Inbound>
ORABPEL-13080
Error.
"[QueueProcessor] could not get message from Queue :TEST.EPOS.QUEUE"
Contact oracle support if error is not fixable.
at oracle.tip.adapter.mq.inbound.QueueProcessor.dequeueMessage(QueueProcessor.java:598)
at oracle.tip.adapter.mq.inbound.QueueProcessor.run(QueueProcessor.java:172)
at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:272)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2394
at com.ibm.mq.MQQueue.get(MQQueue.java:1012)
at oracle.tip.adapter.mq.inbound.QueueProcessor.dequeueMessage(QueueProcessor.java:587)
... 4 more
The steps I have done are
1. Created a JNDI entry for MQ Adapter in oc4j_ra.xml (Channel, Queue Manager, Host are all correct)
2. Restarted the oc4j_soa only from front end.
3. Created a BPEL process to write message to a particular MQ. This was working. I checked the message using a java client.
4. Created a BPEL process to receive the message from the same queue (all details were same as earlier one). No instance of the BPEL process instantiated.
I tried to dequeue the message using a java client and it was working. I was getting MQ reason number 2394. I am not sure about the reason. May be you have faced the same problem. Do you have any idea or suggestion?Can you increase the logging? I just wonder if you can get any more information.
On the surface it looks like you are sending duplicate messges to the adapter? SOA Suite likes the group id / correlation id to be unique every time, otherwise it thinks it has processed that message.
If you restart SOA Suite does one message get read then stop, if so then this looks to be the issue.
What you need to do is populate the group id and correclation id with unique values every time.
To increase the logging, in BPEL Configuration increase the default.collaxa.cube.activation to debug.
cheers
James -
Receiver JMS adapter issue in PI 7.1
Hi All,
We are using JMS receiver adapter for one of our scenarios. I'm facing different type of issue in production system
Issues:
If the channel is functioning the messages are successfully delivering to end system. If there are NO messages for long time the channel is not sending any message to end system and messages are getting failed in PI.
If i STOP and START the channel after few minutes channel able to deliver the messages.
I'm not not able to figure out where the issue is causing.
Please assist me to get ride of this issue.
Thanks in advance
- VRHello Rajesh and all,
Below is the error message i'm receiving. This issue is happens when there is no message flow for few hours and when a new message comes adapter channel in RWB through below error message.
Please assist with inputs
Message processing failed. Cause:com.sap.engine.interfaces.messaging.api.exception.MessagingException:Connector for ConnectionProfile of Channel:IN_JMS_xxxx
node:xxxx havingobject id:xxxxxxx encountered error:MQJMSxxx:an internal error has occured. Please contact your system administrator. Detail: com.ibm.mqservices.MQInternalException:MQJE001:
An MQException occurred:Completion Code 2,Reason 2195 MQJE046:Unsupported codeset:0 in sending to destination queue:///xxxxxx.QUEUE?targetClient=1, the message message:JMS Message class:jms_txt JMSType: null
JMSDeliveryMode:2 JMSExpiration:0 JMSPriority: 4 JMSMessageID: null JMSTimestamp: 0 -
How to do service callout with the incoming JMS message in OSB 11g
Hello All,
I have a specific requirement for which I am creating a kind of POC where I need some help in OSB, however am new to OSB.
My Environment:
1> I have a request queue (deployed on a WLS domain) - WFReq_WS
2> I have a response queue (deployed on a WLS domain) - WFRes_WS
3> I have created a ProxyService (request/response type) in OSB 11g which is simply mapping the incoming message in WFReq_WS to WFRes_WS
4> I have a WebService (it is currently a simple hello WebService for testing) which takes a string and returns the same string with an added 'Hi' in front of it (e.g. If you send Jack, it will return 'Hi Jack')
My Requirement:
1> I have to do some mechanism in OSB, by which while mapping the message from WFReq_WS to WFRes_WS (through the proxy service I have), it will pick the JMS message (which will be a string/text) and will make a service callout to the Webservice I mentioned using the message as the input parameter of the WebService.
2>Now when the response of the WebService will come, OSB should send this response as the message in the response queue (WFRes_WS) I mentioned above.
To simplify the requirement using an example:
A> I will send a text/String message (say Jack) to the request queue (WFReq_WS)
B> OSB should pick the message (Jack) and make a service callout to the webservice
C> webservice will return 'Hi Jack'
D> OSB should send this to the response queue (WFRes_WS)
I know the above might look very basic question to the PROs, but please elaborate (step by step) what need to be done, since I do not know OSB.
Thanks a lot for your help !Your example points A and D are easily done by having a "Proxy Service" which has the following details:
Service Type = Messaging Service
Request and Response type = Text
Protocol = jms
Endpoint URI = your request queue (format like 'jms://localhost:7013/weblogic.jms.XAConnectionFactory/QueueJNDIName')
Checkmark "response" so that the proxy service automatically delivers the response to another queue - your response queue
Response URI = jms://localhost:7013/weblogic.jms.XAConnectionFactory/QueueResponse
Now since your "Hello" webservice is (probably) a SOAP xml service you need to "convert" your text based JMS message to xml before sending it on to the "Hello" service.
Your JMS proxy can do that by just doing a "Assign <whom>{$body/text()}</whom>" to a variable (lets call it 'reqHello')
Now your JMS proxy should actually call the Hello service and since your JMS proxy is text and the Hello service is SOAP you cannot just "pass" on to the Hello service in a "Route to". Instead you can do a Service Callout where you can specify your "reqHello" variable as payload and a "respHello" as response variable.
Now you have the "<whom>Hi jack</whom>" in the response variable and since the JMS response needs to be text format you can "extract" the text value into the body variable of the JMS proxy (use "replace /* in body with $respHello/text()" - replace node contents)
The actual Hello service is a simple "SOAP" based Proxy Service. Add a pipeline and add a stage in the reponse pipeline. Do a ...
Assign fn:concat("Hi ",$body/whom/text()) to $whomVar
Replace whom in body with $whomVar (replace node contents) -
PI 7.31 is getting issue while connecting to Webshere MQ version 6.0.2.10.
The error in JMS sender communication channel is - "Error connecting due to missing class com.ibm.mq.jms.MQQueueConnectionFactory. Please ensure all resources are present in JMS provider library : com.sap.aii.adapter.lib.sda"
Few weeks back, MQ jar files were deployed by Basis.
I have attached jar file content. Do we have to deploy different jar files,the jar files are of websphere mq 6.0.2.10.
They were deployed on com.sap.aii.adapter.lib.sda
rgdsHi ,
Go through below links once.
Receiver JMS Adapter Communication channel Error
JMS inbound and outbound queue
Regards
Venkat -
Hello
I actually stole some of the text of this question from a previous post. The post hasn't had any activity for over a month, so I thought I would repost as I need a solution. I have modified it to my situation.
I need to implement following scenario in my BPEL process:
1. BPEL enqueues using JMS Adapter message to queue 1. (Invoke activity)
2. BPEL dequeues using JMS Adapter message from queue 2. (Receive activity)
I need to correlate this two actions. How do I do this? I have tried the following with no success.
1. BPEL produces messages on queue 1 with JMS corr_id header variable set
2. Program dequeuing from queue 1 stores corr_id value in database.
3. Program finishes processing work and produces message on queue 2 specifying corr_id from value stored in database.
4. BPEL consumes message from queue 2. Here it is not working. The correlation does not seem to be happening.
Any ideas?
Thanks
KirkI think you need to define the correlation/correlation sets in BPEL Invoke and receive activities. The correlation identifier can very well be the JMS corr_id field value. I think what you tried is JMS message correlation as opposed to correlation in BPEL processes.
I haven't tried this myself. So my suggestion is purely conceptual.
HTH
Rajesh
Maybe you are looking for
-
Iam not getting the data on screen after using the user exit zxpadu01
Dear Freinds As per my requirement when the user enters value Ansal it should get defaulted to Amount field (bet01 ) based on the wage type i have written calculation ( q0008-bet01 = ansal/100) before it getting defaulted to bet01, i fou
-
I bought this iPhone while backpacking through Europe 2 years ago. It was the first thing i did after i got off the airplane to help me navigate, book hostels, trains, flights, and talk with family back home. it cost me around 700-800 US dollars, ful
-
I am trying to condense my itunes library from a desktop to a laptop. I only want a few songs from my original library so I can have more room on my ipod, I turned on home sharing so I could import the songs i wanted. then once I imported the select
-
How do I get playlists off of my old ipod to my new one
How do I get playlists off of my old ipod to my new one?
-
TS1398 imessage randomly stopped working. Any ideas?
iPhone 4 appears to be connect to the WiFi, but is not accessing web pages (i.e., YouTube, iMessage, FaceTime). We reset the network, turned phone on and off, no luck. Any ideas?