ActiveJMS and WebLogic JMS Provider

Hi,
          I am trying to use ActiveJMS with WebLogic JMS
          provider, but struggeling to get the properties right
          for ActiveJMS to connect to the provider. Does
          anybody know what should be the properties for
          ActiveJMS? Has anyone done this before?
          Thanks in advance,
          -Farooque Khan
          http://farooque.150m.com
          

The work-around I was thinking might work for you would be to code your own connection factory "wrapper" and then, inside a startup class, bind a wrapper for each client-id into WebLogic JNDI. WL runs startup classes prior to loading EJBs.
          The classes would need to be in the server's system class path, and the client-ids would need to passed in somehow to the startup class (they must be preset prior to booting the MDBs). Rough pseudo code:
          startup class main() {
          wlcontext = new InitialContext();
          for each client-id:
          wlcontext.bind(weblogicjndiname,
          new WrappedConnectionFactory(
          tibcourl, tibcojndiname, client-id));
          class WrappedConnectionFactory
          implements javax.jms.TopicConnectionFactory {
          createTopicConnection() {
          lookup topic connection in TIBCO JNDI using a TIBCO context
          setClientID (based on clientid that was passed in the constructor)
          The foreign connection factory you already have configured would then need to be changed to refer to the weblogicjndiname in the startup class.
          Tom

Similar Messages

  • Configure backout queue and Dead letter queue in weblogic JMS provider

    Hi,
    How to configure the JMS backout queue and dead letter queue in weblogic JMS provider in weblogic application server console?
    Any links or documents are highly appreciated.
    Thanks.

    Thanks anon. When i say backout message the poisonous message , A poison message is one which cannot be processed by a receiving MDB application. If a poison message is encountered, the JMS MessageConsumer and ConnectionConsumer objects can requeue it according to two queue properties, BOQUEUE, and BOTHRESH.
    Normally this happens in the websphere MQ . Where we will configure the backout queue and dead letter queue.
    The dead letter queue was always used in MQSeries (the last time I used MQ) to store messages that arrived at the queue manager but the queue didn't exist. For eample, if the message was address to queue manager X and queue Y, it would arrive via a channel at manager X. If the receiver channel discovered there was no queue Y, it would be placed in the dead letter queue.
    The backout queue, on the other hand, is more of an application-level thing (at least in terms of MQ). When an MQ client cannot process the message for some reason, it can back it out for later processing (back to it's original queue).If it's backed out too many times (the threshold can be configured), it gets moved to the backout queue.
    The Dead Letter Queue behaves the same as a Backout. I treat the Dead Letter Queue as the Crematorium for messages that cannot be recovered in the Error or Backout queues and have some last, non-business specific data that need be collected. Once the info is captured, the message is put down for good. Backout is good for analyzing messages for data that may need to be recovered to completely reprocess or be sent back to an application area for them to decision on.
    How we configure these in weblogic server both Backout and Deadletter queue , whether this is a simple queue in which we will set the error destination in case of any poisonous message so that it will logged in those queue?
    Thanks.

  • Session Beans  and TIBCO E4JMS and Weblogic JMS 8.1

              Setup:-
              Weblogic Server 8.1 SP2 on Linux
              TIBCO E4JMS 3.1.2
              I have a two Staeless Session Beans which are deployed in both sides of the cluster
              - Cluster is made up of two servers(ManagedServer1 and ManagedServer2) on the
              same machine. The beans have container managed transaction and trans-type set
              to required. The JMS Server is on ManagedServer1. The session bean publishes 100
              messages to TIBCO JMS and Weblogic JMS and calls the second bean which again publishes
              100 messages to TIBCO JMS and Weblogic JMS .
              The connection factories used are XAQueueConnectionFactories.
              This seems to work under the following conditions:-
              a) The session beans are deployed just in ManagedServer1
              b) The WL load balancing scheme manages to run both the beans on ManagedServer1
              c) If I don't publish onto Weblogic JMS( It runs successfully on ManagedServer1
              and ManagedServer2)
              It does not seems to work :-
              When the The WL load balancing scheme manages to run both the beans on ManagedServer2.I
              put debug statements on the beans and it seems to publish everything but fails
              during the commit
              murali@dbuslinux1:~/SessionBeanExample> ant run
              Buildfile: build.xml
              run:
              [java] Run : 0
              [java] InitialContextFactory weblogic.jndi.WLInitialContextFactory
              [java] Provider Url t3://myhost.mycompany.com:18003,myhost.mycompany.com:18005
              [java] javax.transaction.TransactionRolledbackException: Exception while
              commiting Tx : Name=[EJB Case463495.StatelessBean.sendMessageWrap(java.lang.Integer,java.lang.Integer,java.lang.String,boolean,boolean)],Xid=BEA1-000649EC8876A0032A5E(160401684),Status=Rolled
              back. [Reason=javax.transaction.xa.XAException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
              since begin=3,seconds left=30,XAServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN1TCF]=(ServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN1TCF]=(state=rolledback,assigned=ManagedServer2),xar=weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource@a0181b0),XAServerResourceInfo[JMS_MyJMS
              File Store]=(ServerResourceInfo[JMS_MyJMS File Store]=(state=rolledback,assigned=ManagedServer1),xar=null),XAServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN2TCF]=(ServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN2TCF]=(state=rolledback,assigned=ManagedServer2),xar=weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource@98f6821),SCInfo[E4JMSDOMAIN+ManagedServer1]=(state=rolledback),SCInfo[E4JMSDOMAIN+ManagedServer2]=(state=rolledback),properties=({weblogic.transaction.name=[EJB
              Case463495.StatelessBean.sendMessageWrap(java.lang.Integer,java.lang.Integer,java.lang.String,boolean,boolean)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=ManagedServer2+myhost.mycompany.com:18005+E4JMSDOMAIN+t3+,
              XAResources={},NonXAResources={})],CoordinatorURL=ManagedServer2+myhost.mycompany.com:18005+E4JMSDOMAIN+t3+):
              javax.transaction.xa.XAException
              [java] at com.tibco.tibjms.TibjmsXAResource.end(Ljavax.transaction.xa.Xid;I)V(TibjmsXAResource.java:157)
              [java] at weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource.end(Ljavax.transaction.xa.Xid;I)V(Unknown
              Source)
              [java] at weblogic.transaction.internal.XAServerResourceInfo.end(Lweblogic.transaction.internal.ServerTransactionImpl;Ljavax.transaction.xa.Xid;I)V(XAServerResourceInfo.java:1124)
              [java] at weblogic.transaction.internal.XAServerResourceInfo.internalDelist(Lweblogic.transaction.internal.ServerTransactionImpl;I)V(XAServerResourceInfo.java:325)
              [java] at weblogic.transaction.internal.XAServerResourceInfo.delist(Lweblogic.transaction.internal.ServerTransactionImpl;IZ)V(XAServerResourceInfo.java:255)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.delistAll(IZ)V(ServerTransactionImpl.java:1408)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.delistAll(I)V(ServerTransactionImpl.java:1396)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare()V(ServerTransactionImpl.java:1932)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.internalCommit()V(ServerTransactionImpl.java:252)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.commit()V(ServerTransactionImpl.java:221)
              [java] at weblogic.ejb20.internal.BaseEJBObject.postInvoke(Lweblogic.ejb20.interfaces.InvocationWrapper;Ljava.lang.Throwable;)V(BaseEJBObject.java:289)
              [java] at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(Lweblogic.ejb20.interfaces.InvocationWrapper;Ljava.lang.Throwable;)V(StatelessEJBObject.java:141)
              [java] at Case463495.Stateless_soycq8_EOImpl.sendMessageWrap(Ljava.lang.Integer;Ljava.lang.Integer;Ljava.lang.String;ZZ)V(Stateless_soycq8_EOImpl.java:112)
              [java] at Case463495.Stateless_soycq8_EOImpl_WLSkel.invoke(ILweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.OutboundResponse;Ljava.lang.Object;)Lweblogic.rmi.spi.OutboundResponse;(Unknown
              Source)
              [java] at weblogic.rmi.internal.BasicServerRef.invoke(Lweblogic.rmi.extensions.server.RuntimeMethodDescriptor;Lweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.OutboundResponse;)V(BasicServerRef.java:477)
              [java] at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(Lweblogic.rmi.extensions.server.RuntimeMethodDescriptor;Lweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.OutboundResponse;)V(ReplicaAwareServerRef.java:108)
              [java] at weblogic.rmi.internal.BasicServerRef$1.run()Ljava.lang.Object;(BasicServerRef.java:420)
              [java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.subject.AbstractSubject;Ljava.security.PrivilegedExceptionAction;)Ljava.lang.Object;(AuthenticatedSubject.java:353)
              [java] at weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.internal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubject;Ljava.security.PrivilegedExceptionAction;)Ljava.lang.Object;(SecurityManager.java:144)
              [java] at weblogic.rmi.internal.BasicServerRef.handleRequest(Lweblogic.rmi.spi.InboundRequest;)V(BasicServerRef.java:415)
              [java] at weblogic.rmi.internal.BasicExecuteRequest.execute(Lweblogic.kernel.ExecuteThread;)V(BasicExecuteRequest.java:30)
              [java] at weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(ExecuteThread.java:197)
              [java] at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:170)
              [java] at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown
              Source)
              [java] ; nested exception is:
              [java] javax.transaction.xa.XAException
              [java] at weblogic.rjvm.BasicOutboundRequest.sendReceive()Lweblogic.rmi.spi.InboundResponse;(BasicOutboundRequest.java:108)
              [java] at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(Lweblogic.rmi.extensions.server.RemoteReference;Lweblogic.rmi.extensions.server.RuntimeMethodDescriptor;[Ljava.lang.Object;Ljava.lang.reflect.Method;)Ljava.lang.Object;(ReplicaAwareRemoteRef.java:284)
              [java] at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(Ljava.rmi.Remote;Lweblogic.rmi.extensions.server.RuntimeMethodDescriptor;[Ljava.lang.Object;Ljava.lang.reflect.Method;)Ljava.lang.Object;(ReplicaAwareRemoteRef.java:244)
              [java] at Case463495.Stateless_soycq8_EOImpl_812_WLStub.sendMessageWrap(Ljava.lang.Integer;Ljava.lang.Integer;Ljava.lang.String;ZZ)V(Unknown
              Source)
              [java] at Case463495.Client.run()V(Client.java:103)
              [java] at Case463495.Client.sendMessage()V(Client.java:132)
              [java] at Case463495.Client.main([Ljava.lang.String;)V(Client.java:195)
              [java] Caused by: javax.transaction.xa.XAException
              [java] at com.tibco.tibjms.TibjmsXAResource.end(TibjmsXAResource.java:157)
              [java] at weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource.end(Unknown
              Source)
              [java] at weblogic.transaction.internal.XAServerResourceInfo.end(XAServerResourceInfo.java:1124)
              [java] at weblogic.transaction.internal.XAServerResourceInfo.internalDelist(XAServerResourceInfo.java:325)
              [java] at weblogic.transaction.internal.XAServerResourceInfo.delist(XAServerResourceInfo.java:255)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.delistAll(ServerTransactionImpl.java:1408)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.delistAll(ServerTransactionImpl.java:1396)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTransactionImpl.java:1932)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:252)
              [java] at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:221)
              [java] at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:289)
              [java] at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:141)
              [java] at Case463495.Stateless_soycq8_EOImpl.sendMessageWrap(Stateless_soycq8_EOImpl.java:112)
              [java] at Case463495.Stateless_soycq8_EOImpl_WLSkel.invoke(Unknown Source)
              [java] at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
              [java] at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
              [java] at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
              [java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
              [java] at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
              [java] at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
              [java] at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
              [java] at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              [java] at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              [java] at java.lang.Thread.startThreadFromVM(Unknown Source)
              Apologies in advance if this need to be posted in the JTA news group..
              Any ideas?
              Murali
              

    Posting to the transaction newsgroup would probably also be helpful.
              Can you post the code for the session bean so we can see how you're
              enlisting Tibco in the transaction? It looks like you're using the JMS
              provider wrappers from 8.1, which do the transaction enlistment for you, so
              you shouldn't need to mess with JTA at all in your code. Still, something
              weird is going on and it'd be nice to see exactly what your code looks like.
              greg
              "L Muralidharan" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Setup:-
              >
              > Weblogic Server 8.1 SP2 on Linux
              >
              > TIBCO E4JMS 3.1.2
              >
              > I have a two Staeless Session Beans which are deployed in both sides of
              the cluster
              > - Cluster is made up of two servers(ManagedServer1 and ManagedServer2) on
              the
              > same machine. The beans have container managed transaction and trans-type
              set
              > to required. The JMS Server is on ManagedServer1. The session bean
              publishes 100
              > messages to TIBCO JMS and Weblogic JMS and calls the second bean which
              again publishes
              > 100 messages to TIBCO JMS and Weblogic JMS .
              >
              > The connection factories used are XAQueueConnectionFactories.
              >
              > This seems to work under the following conditions:-
              >
              > a) The session beans are deployed just in ManagedServer1
              > b) The WL load balancing scheme manages to run both the beans on
              ManagedServer1
              > c) If I don't publish onto Weblogic JMS( It runs successfully on
              ManagedServer1
              > and ManagedServer2)
              >
              > It does not seems to work :-
              >
              > When the The WL load balancing scheme manages to run both the beans on
              ManagedServer2.I
              > put debug statements on the beans and it seems to publish everything but
              fails
              > during the commit
              >
              > murali@dbuslinux1:~/SessionBeanExample> ant run
              > Buildfile: build.xml
              >
              > run:
              > [java] Run : 0
              > [java] InitialContextFactory weblogic.jndi.WLInitialContextFactory
              > [java] Provider Url
              t3://myhost.mycompany.com:18003,myhost.mycompany.com:18005
              > [java] javax.transaction.TransactionRolledbackException: Exception
              while
              > commiting Tx : Name=[EJB
              Case463495.StatelessBean.sendMessageWrap(java.lang.Integer,java.lang.Integer
              ,java.lang.String,boolean,boolean)],Xid=BEA1-000649EC8876A0032A5E(160401684)
              ,Status=Rolled
              > back.
              [Reason=javax.transaction.xa.XAException],numRepliesOwedMe=0,numRepliesOwedO
              thers=0,seconds
              > since begin=3,seconds
              left=30,XAServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEA
              N1TCF]=(ServerResourceInfo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN1
              TCF]=(state=rolledback,assigned=ManagedServer2),xar=weblogic.deployment.jms.
              WrappedXAResource_com_tibco_tibjms_TibjmsXAResource@a0181b0),XAServerResourc
              eInfo[JMS_MyJMS
              > File Store]=(ServerResourceInfo[JMS_MyJMS File
              Store]=(state=rolledback,assigned=ManagedServer1),xar=null),XAServerResource
              Info[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN2TCF]=(ServerResourceIn
              fo[E4JMSDOMAIN.ManagedServer2.JMSXASessionPool.BEAN2TCF]=(state=rolledback,a
              ssigned=ManagedServer2),xar=weblogic.deployment.jms.WrappedXAResource_com_ti
              bco_tibjms_TibjmsXAResource@98f6821),SCInfo[E4JMSDOMAIN+ManagedServer1]=(sta
              te=rolledback),SCInfo[E4JMSDOMAIN+ManagedServer2]=(state=rolledback),propert
              ies=({weblogic.transaction.name=[EJB
              >
              Case463495.StatelessBean.sendMessageWrap(java.lang.Integer,java.lang.Integer
              ,java.lang.String,boolean,boolean)]}),OwnerTransactionManager=ServerTM[Serve
              rCoordinatorDescriptor=(CoordinatorURL=ManagedServer2+myhost.mycompany.com:1
              8005+E4JMSDOMAIN+t3+,
              >
              XAResources={},NonXAResources={})],CoordinatorURL=ManagedServer2+myhost.myco
              mpany.com:18005+E4JMSDOMAIN+t3+):
              > javax.transaction.xa.XAException
              > [java] at
              com.tibco.tibjms.TibjmsXAResource.end(Ljavax.transaction.xa.Xid;I)V(TibjmsXA
              Resource.java:157)
              > [java] at
              weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource.
              end(Ljavax.transaction.xa.Xid;I)V(Unknown
              > Source)
              > [java] at
              weblogic.transaction.internal.XAServerResourceInfo.end(Lweblogic.transaction
              .internal.ServerTransactionImpl;Ljavax.transaction.xa.Xid;I)V(XAServerResour
              ceInfo.java:1124)
              > [java] at
              weblogic.transaction.internal.XAServerResourceInfo.internalDelist(Lweblogic.
              transaction.internal.ServerTransactionImpl;I)V(XAServerResourceInfo.java:325
              > [java] at
              weblogic.transaction.internal.XAServerResourceInfo.delist(Lweblogic.transact
              ion.internal.ServerTransactionImpl;IZ)V(XAServerResourceInfo.java:255)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.delistAll(IZ)V(ServerTra
              nsactionImpl.java:1408)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.delistAll(I)V(ServerTran
              sactionImpl.java:1396)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.globalPrepare()V(ServerT
              ransactionImpl.java:1932)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.internalCommit()V(Server
              TransactionImpl.java:252)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.commit()V(ServerTransact
              ionImpl.java:221)
              > [java] at
              weblogic.ejb20.internal.BaseEJBObject.postInvoke(Lweblogic.ejb20.interfaces.
              InvocationWrapper;Ljava.lang.Throwable;)V(BaseEJBObject.java:289)
              > [java] at
              weblogic.ejb20.internal.StatelessEJBObject.postInvoke(Lweblogic.ejb20.interf
              aces.InvocationWrapper;Ljava.lang.Throwable;)V(StatelessEJBObject.java:141)
              > [java] at
              Case463495.Stateless_soycq8_EOImpl.sendMessageWrap(Ljava.lang.Integer;Ljava.
              lang.Integer;Ljava.lang.String;ZZ)V(Stateless_soycq8_EOImpl.java:112)
              > [java] at
              Case463495.Stateless_soycq8_EOImpl_WLSkel.invoke(ILweblogic.rmi.spi.InboundR
              equest;Lweblogic.rmi.spi.OutboundResponse;Ljava.lang.Object;)Lweblogic.rmi.s
              pi.OutboundResponse;(Unknown
              > Source)
              > [java] at
              weblogic.rmi.internal.BasicServerRef.invoke(Lweblogic.rmi.extensions.server.
              RuntimeMethodDescriptor;Lweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.O
              utboundResponse;)V(BasicServerRef.java:477)
              > [java] at
              weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(Lweblogic.rmi.extensions.s
              erver.RuntimeMethodDescriptor;Lweblogic.rmi.spi.InboundRequest;Lweblogic.rmi
              .spi.OutboundResponse;)V(ReplicaAwareServerRef.java:108)
              > [java] at
              weblogic.rmi.internal.BasicServerRef$1.run()Ljava.lang.Object;(BasicServerRe
              f.java:420)
              > [java] at
              weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic.security.
              subject.AbstractSubject;Ljava.security.PrivilegedExceptionAction;)Ljava.lang
              .Object;(AuthenticatedSubject.java:353)
              > [java] at
              weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.inter
              nal.AuthenticatedSubject;Lweblogic.security.acl.internal.AuthenticatedSubjec
              t;Ljava.security.PrivilegedExceptionAction;)Ljava.lang.Object;(SecurityManag
              er.java:144)
              > [java] at
              weblogic.rmi.internal.BasicServerRef.handleRequest(Lweblogic.rmi.spi.Inbound
              Request;)V(BasicServerRef.java:415)
              > [java] at
              weblogic.rmi.internal.BasicExecuteRequest.execute(Lweblogic.kernel.ExecuteTh
              read;)V(BasicExecuteRequest.java:30)
              > [java] at
              weblogic.kernel.ExecuteThread.execute(Lweblogic.kernel.ExecuteRequest;)V(Exe
              cuteThread.java:197)
              > [java] at
              weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:170)
              > [java] at
              java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown
              > Source)
              > [java] ; nested exception is:
              > [java] javax.transaction.xa.XAException
              > [java] at
              weblogic.rjvm.BasicOutboundRequest.sendReceive()Lweblogic.rmi.spi.InboundRes
              ponse;(BasicOutboundRequest.java:108)
              > [java] at
              weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(Lweblogic.rmi.extensions.s
              erver.RemoteReference;Lweblogic.rmi.extensions.server.RuntimeMethodDescripto
              r;[Ljava.lang.Object;Ljava.lang.reflect.Method;)Ljava.lang.Object;(ReplicaAw
              areRemoteRef.java:284)
              > [java] at
              weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(Ljava.rmi.Remote;Lweblogic
              .rmi.extensions.server.RuntimeMethodDescriptor;[Ljava.lang.Object;Ljava.lang
              .reflect.Method;)Ljava.lang.Object;(ReplicaAwareRemoteRef.java:244)
              > [java] at
              Case463495.Stateless_soycq8_EOImpl_812_WLStub.sendMessageWrap(Ljava.lang.Int
              eger;Ljava.lang.Integer;Ljava.lang.String;ZZ)V(Unknown
              > Source)
              > [java] at Case463495.Client.run()V(Client.java:103)
              > [java] at Case463495.Client.sendMessage()V(Client.java:132)
              > [java] at
              Case463495.Client.main([Ljava.lang.String;)V(Client.java:195)
              > [java] Caused by: javax.transaction.xa.XAException
              > [java] at
              com.tibco.tibjms.TibjmsXAResource.end(TibjmsXAResource.java:157)
              > [java] at
              weblogic.deployment.jms.WrappedXAResource_com_tibco_tibjms_TibjmsXAResource.
              end(Unknown
              > Source)
              > [java] at
              weblogic.transaction.internal.XAServerResourceInfo.end(XAServerResourceInfo.
              java:1124)
              > [java] at
              weblogic.transaction.internal.XAServerResourceInfo.internalDelist(XAServerRe
              sourceInfo.java:325)
              > [java] at
              weblogic.transaction.internal.XAServerResourceInfo.delist(XAServerResourceIn
              fo.java:255)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.delistAll(ServerTransact
              ionImpl.java:1408)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.delistAll(ServerTransact
              ionImpl.java:1396)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTran
              sactionImpl.java:1932)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
              nsactionImpl.java:252)
              > [java] at
              weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
              Impl.java:221)
              > [java] at
              weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:289)
              > [java] at
              weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.jav
              a:141)
              > [java] at
              Case463495.Stateless_soycq8_EOImpl.sendMessageWrap(Stateless_soycq8_EOImpl.j
              ava:112)
              > [java] at
              Case463495.Stateless_soycq8_EOImpl_WLSkel.invoke(Unknown Source)
              > [java] at
              weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
              > [java] at
              weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
              :108)
              > [java] at
              weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
              > [java] at
              weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
              t.java:353)
              > [java] at
              weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
              > [java] at
              weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
              > [java] at
              weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:3
              0)
              > [java] at
              weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              > [java] at
              weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              > [java] at java.lang.Thread.startThreadFromVM(Unknown Source)
              >
              >
              > Apologies in advance if this need to be posted in the JTA news group..
              >
              > Any ideas?
              >
              > Murali
              >
              

  • CMT and using non-Weblogic JMS in a session bean

              I am writing a session bean which sends a JMS message using a non-weblogic JMS
              provider. This bean is marked for CMT and I want the JMS send to participate in
              this CMT as well. My understanding is that I should be able to do this by defining
              a <resource-ref> element in the ejb-jar.xml and a corresponding <resource-descriptor>
              element in the weblogic-ejb-jar.xml file. The bean would then use the <res-ref-name>
              defined under the <resource-ref> element to lookup the connection factory. What
              do I have to put in weblogic-ejb-jar.xml file to make sure that the connection
              factory specified in <res-ref-name> maps to a connection factory that is in a
              foreign JNDI provider (e.g. in the non-Weblogic JMS provider's JNDI) and not in
              Weblogic's JNDI?
              Thanks in advance for your help.
              

    It sounds like you're using Tibco JMS to receive messages from the MDB, and
              then to send out a message. WLS 7.0 will handle the transaction enlistment
              properly when it receives messages for the MDB, but you'll have to enlist
              the JMS provider yourself when you send the message, using the white paper
              that Tom pointed you to as a guide.
              In WLS 8.1, coming soon, we'll automatically enlist the provider in the
              transaction if you look it up using a "resource-ref" element in the EJB like
              you described. Today, you can use that element but no transaction
              enlistement is being done.
              greg
              "Venkat" <[email protected]> wrote in message
              news:[email protected]...
              >
              > We also need this feature.
              > We are using Weblogic 7.0 and Tibco JMS 3.0,
              > which supports XA.
              >
              > We are mainly interested in subscribing using MDB
              > and publishing using a session bean in one transaction.
              > Do you think by using resource-refs in conjunction
              > with registering with Weblogic JNDI during startup
              > can do the job?
              >
              > Or how about using XAConnectionFactory and XASession
              > classes for JMS publishing ?
              >
              > Thanks.
              >
              > Tom Barnes <[email protected]> wrote:
              > >Hi Mihir,
              > >
              > >Support for automatic enlistment of foreign JMS vendors
              > >via the resource-ref approach is not available in WLS.
              > >This support will be available in the next release:
              > >limited access beta is available now, public beta is available
              > >in 2-3 months. You are the first customer I've heard of that
              > >asked for this feature. Very cool. Good timing.
              > >
              > >As you are not using WebLogic JMS, you will need to do the
              > >transaction enlistment yourself. This isn't that hard
              > >to do. I suggest that you refer to the integrating foreign
              > >JMS vendor white-paper available on dev2dev.bea.com.
              > >Also, refer to the integrating transactions with
              > >MQSeries integration paper, which will likely serve your
              > >purposes better. Note that some JMS vendors
              > >have problems with concurrent transactions in a single
              > >JMS connection, or with transactions that attempt
              > >to switch threads (eg. suspend() in one thread
              > >and resume() in another).
              > >
              >
              >http://dev2dev.bea.com/resourcelibrary/whitepapersdetail.jsp?highlight=whit
              epapers&filePath=components%2Fdev2dev%2Fresourcelibrary%2Fwhitepapers%2Fwp_j
              msproviders.htm
              >
              >http://dev2dev.bea.com/resourcelibrary/whitepapersdetail.jsp?highlight=whit
              epapers&filePath=components%2Fdev2dev%2Fresourcelibrary%2Fwhitepapers%2Fwp_j
              tatransactions.htm
              > >
              > >Tom
              > >
              > >mihir sharma wrote:
              > >> I am writing a session bean which sends a JMS message using a
              non-weblogic
              > >JMS
              > >> provider. This bean is marked for CMT and I want the JMS send to
              participate
              > >in
              > >> this CMT as well. My understanding is that I should be able to do this
              > >by defining
              > >> a <resource-ref> element in the ejb-jar.xml and a corresponding
              <resource-descriptor>
              > >> element in the weblogic-ejb-jar.xml file. The bean would then use the
              > ><res-ref-name>
              > >> defined under the <resource-ref> element to lookup the connection
              factory.
              > >What
              > >> do I have to put in weblogic-ejb-jar.xml file to make sure that the
              > >connection
              > >> factory specified in <res-ref-name> maps to a connection factory that
              > >is in a
              > >> foreign JNDI provider (e.g. in the non-Weblogic JMS provider's JNDI)
              > >and not in
              > >> Weblogic's JNDI?
              > >>
              > >> Thanks in advance for your help.
              > >>
              > >
              >
              

  • WebLogic JMS high memory usage and frequent full GCs

    Hi Team,
                We have below set up in production (and all the lower environment).
    1. WLS: 10.3.6 (64 bit)
    2. Java: HP JDK 1.7.0.06 (64 bit)
    3. Two Manage server instances in cluster with one Migratable target
    4. one JMS server with Persistence store targeted to Migratable target
    5. Messages are persisted in DB
    6. about 37 distributed queues/topics are hosted on one JMS server
    7. .Net JMS clients and WebLogic JMS clients connect to respective JMS distributed Queues/topics to either produce message or consume.
    Since last month, we see that WebLogic Manage server hosting JMS server keeps on chewing memory "even with small (of the order of 28 messages in 4/5 days) load", GC indicates that objects are shifted from PSYoung space to ParOldGen during minor GCs but ParOldGen space keeps on filling up in smaller chunks. After x number of days (where x ranges from 5-7 days), even Full GC is not able to bring down memory significantly and that's when frequent full GCs start with long pauses making JMS highly unstable.
    We don't have JMS Quotas configured but I think something else going on as it is not high on load.  Any additional hints or troubleshooting steps is much appreciated?
    Here is first and last  GC log just to give an idea...
    Heap after GC invocations=661 (full 0):
    {Heap before GC invocations=1 (full 0):
    PSYoungGen      total 1225728K, used 1050624K [9fffffff09c00000, 9fffffff5f400000, 9fffffff5f400000)
      eden space 1050624K, 100% used [0x9fffffff09c00000,0x9fffffff49e00000,0x9fffffff49e00000)
      from space 175104K, 0% used [0x9fffffff54900000,0x9fffffff54900000,0x9fffffff5f400000)
      to   space 175104K, 0% used [0x9fffffff49e00000,0x9fffffff49e00000,0x9fffffff54900000)
    ParOldGen       total 2797568K, used 0K [0x9ffffffe5f000000, 0x9fffffff09c00000, 0x9fffffff09c00000)
      object space 2797568K, 0% used [0x9ffffffe5f000000,0x9ffffffe5f000000,0x9fffffff09c00000)
    PSPermGen       total 49152K, used 47453K [0x9ffffffe1f000000, 0x9ffffffe22000000, 0x9ffffffe5f000000)
      object space 49152K, 96% used [0x9ffffffe1f000000,0x9ffffffe21e57630,0x9ffffffe22000000)
    2014-12-24T09:04:45.118-0700: 15.651: [GC [PSYoungGen: 1050624K->118221K(1225728K)] 1050624K->118293K(4023296K), 0.32600
    15 secs] [Times: user=0.07 sys=0.00, real=0.33 secs]
    {Heap before GC invocations=661 (full 0):
    PSYoungGen      total 1367168K, used 1364256K [9fffffff09c00000, 9fffffff5f400000, 9fffffff5f400000)
      eden space 1333376K, 100% used [0x9fffffff09c00000,0x9fffffff5b220000,0x9fffffff5b220000)
      from space 33792K, 91% used [0x9fffffff5d300000,0x9fffffff5f128030,0x9fffffff5f400000)
      to   space 33664K, 0% used [0x9fffffff5b220000,0x9fffffff5b220000,0x9fffffff5d300000)
    ParOldGen       total 2797568K, used 2654825K [0x9ffffffe5f000000, 0x9fffffff09c00000, 0x9fffffff09c00000)
      object space 2797568K, 94% used [0x9ffffffe5f000000,0x9fffffff0109a5c0,0x9fffffff09c00000)
    PSPermGen       total 151552K, used 147591K [0x9ffffffe1f000000, 0x9ffffffe28400000, 0x9ffffffe5f000000)
      object space 151552K, 97% used [0x9ffffffe1f000000,0x9ffffffe28021cd8,0x9ffffffe28400000)
    2014-12-29T08:18:08.798-0700: 429216.418: [GC [PSYoungGen: 1364256K->33632K(1329792K)] 4019081K->2752791K(4127360K), 0.8
    254362 secs] [Times: user=0.10 sys=0.00, real=0.83 secs]
    Regards,

    Thanks Luz. I have been collecting gclogs and heap dumps (whenever app server is high on memory and frequent GCs with long pauses are seen). So far heap dumps haven't revealed anything specific (may be I am not able to read heap dumps properly ) but looking at GC confirms that app server is consuming allocated heap.I was following Oracle WebLogic server support Patter as you have indicated. I thought about opening a ticket with HP but on high level JVM is doing what is suppose to do i.e allocating memory space as needed and performing GC therefore didn't go that path.
    Any other suggestions that might be useful. One of the things I forgot to mention ( and I will add it to original message), that one of the .Net consumers is not asynchronously connecting to its queue (to consume messages) rather it is synchronously connects and then if it doesn't find messages it disconnects and process goes on every few seconds. I was reading somewhere that frequent JNDI look ups should be avoided. Can this cause memory issue if so then it is strange as this same set up has been there over a year and we never has problem then?
    Regards,

  • CMT with non-weblogic JMS in a session bean

    I am writing a session bean which sends a JMS message using a non-weblogic JMS
    provider. This bean is marked for CMT and I want the JMS send to participate in
    this CMT as well. My understanding is that I should be able to do this by defining
    a <resource-ref> element in the ejb-jar.xml and a corresponding <resource-descriptor>
    element in the weblogic-ejb-jar.xml file. The bean would then use the <res-ref-name>
    defined under the <resource-ref> element to lookup the connection factory. What
    do I have to put in weblogic-ejb-jar.xml file to make sure that the connection
    factory specified in <res-ref-name> maps to a connection factory that is in a
    foreign JNDI provider (e.g. in the non-Weblogic JMS provider's JNDI) and not in
    Weblogic's JNDI?
    Thanks in advance for your help.

    I am writing a session bean which sends a JMS message using a non-weblogic JMS
    provider. This bean is marked for CMT and I want the JMS send to participate in
    this CMT as well. My understanding is that I should be able to do this by defining
    a <resource-ref> element in the ejb-jar.xml and a corresponding <resource-descriptor>
    element in the weblogic-ejb-jar.xml file. The bean would then use the <res-ref-name>
    defined under the <resource-ref> element to lookup the connection factory. What
    do I have to put in weblogic-ejb-jar.xml file to make sure that the connection
    factory specified in <res-ref-name> maps to a connection factory that is in a
    foreign JNDI provider (e.g. in the non-Weblogic JMS provider's JNDI) and not in
    Weblogic's JNDI?
    Thanks in advance for your help.

  • Oracle AQ vs Weblogic JMS

    Hello, I have option to use Oracle AQ or Weblogic JMS for message persistence.
    Appreciate any one provide information or link for usability/comparative analysis of AQ and Weblogic JMS.
    i.e. Features of AQ Vs Features of Weblogic JMS. pro's and con's of both options. and which one is suitable as I have availability of both options.
    Thanks,

    Found a forum thread link over similar discussion: Oracle 11g -  WLJMS Vs AQJMS
    My questions are still unanswered in mentioned thread as well.
    Experts please extend you help over this.
    Thanks,

  • Weblogic.security.provider.PrincipalValidatorImpl deprecated

    http://edocs.bea.com/wls/docs103/javadocs/weblogic/security/provider/PrincipalValidatorImpl.html says the class is deprecated though the documentation(http://edocs.bea.com/wls/docs103/dvspisec/atn.html#wp1089150) suggests its use.
    Anyone have any knowledge of the replacement api usage (com.bea.common.security.provider.PrincipalValidatorImpl) which does not seem to have a default constructor..

    Same Problem here. It seems com.bea.common.security.provider.PrincipalValidatorImpl has no API Reference. and weblogic.security.provider.PrincipalValidatorImpl which is obviously for the WLS 8 release is deprecated.
    Where to find an API Reference or some other documentation to com.bea.common.security.provider.PrincipalValidatorImpl ?

  • Error when trying to enqueue message on to weblogic JMS queue

    Hi,
    I have developed a BPEL process to enqueue message on to a JMS queue in weblogic 10.3.1.BPEL process manager version is 10.1.3.4. I have referred the Oracle note 549016.1 for configuring the Jms adapter for BEA Weblogic JMS Provider.
    In the invoke activity, I am getting the following error:
    "Missing class: weblogic.security.acl.UserInfo
    Dependent class: weblogic.jndi.WLInitialContextFactory
    Loader: JmsAdapter:0.0.0
    Code-Source: /D:/product/10.1.3.1/orasoa/j2ee/oc4j_soa/connectors/JmsAdapter/JmsAdapter/weblogic.jar
    Configuration: &lt;code-source> in D:\product\10.1.3.1\orasoa\j2ee\oc4j_soa\connectors\JmsAdapter\JmsAdapter
    The missing class is not available from any code-source or loader in the system."
    I could not find a resolution. Please provide your inputs.
    Thanks.
    John

    Could be this, if the above fix was by generating a wlfull client jar:
    http://download.oracle.com/docs/cd/E14571_01/web.1111/e13717/jarbuilder.htm#BABCGHFH
    Edited by: atheek1 on Jul 28, 2010 9:39 PM

  • Can you specify third party JMS Provider in Weblogic appserver configuration

              Can you specify third party JMS Provider in Weblogic appserver configuration ???
              Only place i know of is that you can specify third party JMS Provider in MDB configuraion.
              DOES Weblogic has some kind of configuration files where you specify JMS Provider
              info (Like you can do that in JBOSS)
              

    You can also specify a third-party JMS provider using the Messaging Bridge,
              which transfers messages from one queue or topic to another.
              And in general, inside WLS you can use any JMS provider you wish anywhere
              that you can also use WLS JMS. In an upcoming release, there will also be
              some support to make foreign JMS providers a little easier to configure.
              But why would you want to use another JMS provider anyway? ;-)
              greg
              "Neeru Munjal" <[email protected]> wrote in message
              news:[email protected]..
              >
              > Can you specify third party JMS Provider in Weblogic appserver
              configuration ???
              >
              > Only place i know of is that you can specify third party JMS Provider in
              MDB configuraion.
              > DOES Weblogic has some kind of configuration files where you specify JMS
              Provider
              > info (Like you can do that in JBOSS)
              

  • Why use IBM MQSeries when Weblogic already provides JMS?

    i kind of understand that MQSeries works the same as JMS provided by WebLogic, so there is not much a point to use MQSeries, but why do companies still use MQSeries when JMS is already provided by WebLogic?
    what are the advantages of using MQSeries over WebLogic provided JMS?

    I don't think there's necessarily much reason to adopt MQ, unless perhaps you have very specific messaging extensions or capability requirements. There are performance, manageability, and scalability benefits in using WebLogic JMS, especially when it is integrated with WebLogic applications. There also happen to be benefits in using the Oracle DB's built in messaging (AQ JMS).
    There are tens of thousands (if not 100s of thousands) of production WL JMS deployments out in the wild - some of which are "mission critical" and quite large, and some of which have been running for 10+ years. It's not unlikely that you generate multiple WL JMS transactions per day, just going about your daily life (phone, bank, credit card, financials, etc.).
    Of course your mileage may vary - and keep in mind that you're posting to WebLogic JMS forum. :-)
    Tom Barnes
    Oracle WebLogic Messaging Team

  • WebLogic JMS and MQ JMS Mix

              I am writing a bean that reads a message from MQ (using MQJMS) and then write it
              onto a WebLogic JMS ( something lika a bridge). However I don't want to use bridge.
              Question/Problem Statement:
              Once I include mq jms jar files in class path. Would that in conflict with WebLogic
              JMS. How do in my program I make sure that it is using the MQ or WLS JMS implementation.
              I can have InitialContext() setup for mq in File and for WebLogic it is WebLogic's
              Initial Context. Thats is the only thing that I can tell in the program.
              Basically, I am trying to see what will make it ( fully qualified JMS Objects
              or what) decide which implmenatation to use.
              Chris
              

    The WebLogic JMS and MQSeries JMS classes won't conflict. Each JMS provider
              provides different classes that implement the same interfaces, so you can
              have a whole bunch of providers in your classpath and things should be OK.
              Most code that's written to the JMS API (including the code inside WLS that
              receives messages for MDBs) gets the JMS "ConnectionFactory" via JNDI, and
              uses that to create the other objects. (It also has to look up the
              "Destination" objects from JNDI.) When you code to the JMS standard only,
              then the only thing that "tells" your program which provider is being used
              is the ConnectionFactory class that you create or get out of JNDI.
              Below is my usual plug for the white paper that helps explain some of this
              stuff:
              http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              Look for "Using foreign JMS provdiesr with WLS".
              greg
              "Chris" <[email protected]> wrote in message
              news:[email protected]...
              >
              > I am writing a bean that reads a message from MQ (using MQJMS) and then
              write it
              > onto a WebLogic JMS ( something lika a bridge). However I don't want to
              use bridge.
              >
              > Question/Problem Statement:
              > Once I include mq jms jar files in class path. Would that in conflict with
              WebLogic
              > JMS. How do in my program I make sure that it is using the MQ or WLS JMS
              implementation.
              > I can have InitialContext() setup for mq in File and for WebLogic it is
              WebLogic's
              > Initial Context. Thats is the only thing that I can tell in the program.
              >
              > Basically, I am trying to see what will make it ( fully qualified JMS
              Objects
              > or what) decide which implmenatation to use.
              >
              > Chris
              

  • JMS Bridge Between HornetQ (on Jboss 5.1) and WebLogic 10.3

    Greetings!
    I'm trying to set up a bridge between HornetQ (JBoss 5.1) and WebLogic 10.3. The bridge should be set up on WebLogic. It'll read messages from queue on HornetQ and post them on WebLogic Queue.
    Here are my preferences on Source Destination:
    Adapter JNDI Name eis.jms.WLSConnectionFactoryJNDINoTx
    Classpath: empty (?)
    Connection URL: jnp://<hostName>:1099
    Initial Context Factory: org.jnp.interfaces.NamingContextFactory
    Connection Factory JNDI Name: /tp/ConnectionFactory
    Connection JNDI Name: /etgreceiver/queue
    Destination Type: Queue
    User Name: guest
    User Password: guest.
    WebLogic prints a warning: <12.10.2010 18:25:40 MSD> <Warning> <Connector> <BEA-190032> << eis/jms/WLSConnectionFactoryJNDINoTX > resourceAllocationException thrown by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "javax.resource.ResourceException: ConnectionFactory: failed to get initial context (InitialContextFactory =org.jnp.interfaces.NamingContextFactory, url = jnp://AIskrich:11099, user name = guest) ">
    I have no idea what the problem is, could anyone help?

    Yes - I think "pre_classpath" is probably the right place to reference the non-WebLogic jars. That said, layered products like BPEL often provide tooling that simplifies messaging integration -- I assume some even help setup classpaths and may have their own recommended unique way to set them. So I recommend consulting your layered product's documentation and forums.
    It looks like this posting already covers the needed HornetQ specific settings. If it turns out that you're still interested in working directly at the WebLogic layer instead of the BPEL layer, see the interop FAQ http://docs.oracle.com/cd/E21764_01/web.1111/e13727/interop.htm#JMSPG553 for a full treatment of WebLogic's built in JMS provider integration features.
    HTH,
    Tom

  • Any kind of integration experience with Weblogic JMS and Oracle AQ?

    Hi,
    In my company I work with java developers who believe in some kind of "holly" database independence I don't understand and as a result my life as a database developer is hell on earth.. Yesterday we again started to discuss, this time where to log, they believe database is slow and prefer logging to filesystem, after some hours finally I could convince them for some operational and reporting needs to use the database and will do this in an asyncronous way whiich they won't get slow. After all I believe the reason for a database is data, this is the place where data lives, and with the correct desing and implementation logging to database would perform better.
    I love Oracle features, and know that we paid a lot for this software, so today I started investigating this promised solution. And quickly I found AQ and JMS topics in the documentation :)
    After this introduction here is my problem; my company use BEA Weblogic as application server and the java guys want AQ to automatically (but of course with some delay) take their JMS log requests into database tables. Does any one have similar application experience, or any kind of integration experience with Weblogic JMS and Oracle AQ?
    Any comments, references, documentation, sample code, url will be most welcomed :)
    Thank you very much!
    Tonguc
    [email protected]
    References I found upto now;
    Oracle® Streams Advanced Queuing Java API Reference 10g Release 2 (10.2) http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14291/toc.htm
    (Packages; javax.jms & oracle.jms)
    Oracle® Streams Advanced Queuing User's Guide and Reference 10g Release 2 (10.2) http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14257/toc.htm
    Part IV
    Using Oracle JMS and Oracle Streams AQPart V describes how to use Oracle JMS and Oracle Streams Advanced Queuing (AQ).
    Chapter 11, "Introducing Oracle JMS"
    Chapter 12, "Oracle JMS Basic Operations"
    Chapter 13, "Oracle JMS Point-to-Point"
    Chapter 14, "Oracle JMS Publish/Subscribe"
    Chapter 15, "Oracle JMS Shared Interfaces"
    Chapter 16, "Oracle JMS Types Examples"
    A Sample Code from Otn
    http://www.oracle.com/technology/sample_code/tech/java/web_services/jmsws/NewsQueueEJB.java.html

    I wouldn't go as far to say Oracle AQ is out-dated today. However, it is indeed a proprietary technology that did not found much main-stream adoption in the earlier years after its introduction. The advent of JMS made it somewhat more useful (or should I say intriguing, because more people are trying to tie it together with other J2EE technologies), but the Oracle's JMS wrapper classes in aqapi.jar were not feature complete for a long while, so using it outside Oracle's application server was painful, if not impossible. I do agree that the info at the dev2dev's JMS newsgroup or in this forum is highly fragmented, as neither Oracle nor BEA provides an official solution to integrate AQ with WebLogic, so people like us have to learn the technology through experimentation and in a piecemeal fashion.
    3 years ago I was literally "playing around" - we had a polling mechanism set up to use triggers to write Oracle data changes into an event table, and had a Java-based daemon to scan that table and publish events as JMS messages to the WebLogic JMS server. This continues to work reliably till today, but I was looking for a solution that has few parts - I wanted to hook up my WebLogic MDB directly to AQ as a foreign JMS provider. Although I was able to get it to work (including XA), there were a few hoops I had to jump through, such as decompiling the Oracle AQjms classes to make them bind to the WebLogic JNDI tree.
    One year after that Diptanshu Parui took what I did a giant step further - he extended the Oracle AQjms classes to allow them to be bound to the WebLogic JNDI tree naturally, and he figured out how to use WebLogic JMS messging bridge to re-send single-threaded AQ JMS messages to clustered JMS queues, which allow concurrent message assumption by multiple instances of MDB's. My impression is that he is using that setup in a production environment.
    I am sure you are aware of it but I would like to make it clear - in order to use AQ as a foreign JMS provider to WebLogic-hosted MDB's, you don't need to update your database to Oracle 10g - Oracle 8i is good enough (although I recommend at least 9i Release 2). It is not the database engine, but rather the aqapi.jar JMS wrapper on top of AQ that matters. I do recommend that you use aqapi.jar from Oracle Application Server 10.0.3 or up for better XA support, among other things. Again, you don't have to replace WebLogic with Oracle AS - you only need a single jar file from it and put it in your WebLogic's classpath. However, I don't know what this means from a licensing point of view if you ever go to production - do you have to pay the full price of OracleAS or OC4J just to use the aqapi.jar?
    In the coming days I will test the latest aqapi.jar to see how much progress Oracle has made in terms of making their J2EE products more spec-compliant :-).
    Hope the above gives you a different perspective.
    Eric

  • Weblogic JMS and BPEL Process

    Hello,
    Can someone please help me with the steps necessary to configure a BPEL process to accept messages from a JMS queue hosted on Weblogic 9.x?
    My setup:
    - Weblogic 9.1 hosts JMS queues
    - Oracle BPEL 10.1.3.1.0 hosted in OC4J
    - I have not touched oc4j-ra.xml to configure a JMS queue or connection factory. It looks as if the BPEL designer in JDeveloper allows you to specifiy everything necessary for this descritor.
    - I have not moved any jars from my appserver (weblogic) into BPEL's classpath.
    I have a JMS Adapter configured to point to my JMS queue. My jca:address looks as follows:
    <jca:address location="order.process.queue"
    ManagedConnectionFactory="oracle.tip.adapter.jms.JmsManagedConnectionFactory"
    mcf.ConnectionFactoryLocation="jms.connection.factory"
    mcf.FactoryProperties="java.naming.provider.url=http://wljms:7001"
    mcf.IsTopic="false"
    mcf.IsTransacted="false"
    mcf.Username=""
    mcf.Password=""
    UIJmsProvider="THIRDPARTY" />
    I receive the following exception:
    ORABPEL-12141
    ERRJMS_CONN_FAC_NOT_FOUND.
    Unable to instantiate connection factory. JMS adapter was unable to look up the connection factor jms.connection.factory neither through JNDI nor instantiate it as a Java class
    Please examine the log file to determine the problem.
    The stacktrace that follows points to a naming exception:
    Caused by: javax.naming.NameNotFoundException: jms.connection.factory not found
    I've seen posts on this forum where people have included jars from their app server distro on to OC4J's (or whatever BPEL's container) classpath. Is this the correct thing to do? That approach looks like it could be trouble.
    I've verified that my queue is set up correctly on the Weblogic side. I am able to place messages on queue successfully. I can also see my Weblogic server from the BPEL server.
    Any help is appreciated!
    Al

    Thank you for the reply. I did change the protocol to use t3 and copied the weblogic.jar over to the BPEL server under "\j2ee\home\applib". Now, I get a whole host of other exceptions related to JNDI lookups related for bpel related resources such as"java:comp/env/jms/collaxa/BPELWorkerQueue". The good news is that this happens whenever I drop a message on queue, so I am almost there.
    Is there any documentation on this particular setup? I suspect a collision in JNDI classes between OC4J and weblogic now.
    Here is a snap of my stacktrace:
    <2007-10-10 09:43:34,513> <ERROR> <default.collaxa.cube.activation> <AdapterFramework::Inbound>
    java.lang.Exception: Failed to create "java:comp/env/ejb/local/CubeDeliveryLocalBean" bean; exception reported is: "javax.naming.NameNotFoundException
    : remaining name: env/ejb/local/CubeDeliveryLocalBean
    at weblogic.j2eeclient.SimpleContext.resolve(SimpleContext.java:35)
    at weblogic.j2eeclient.SimpleContext.resolve(SimpleContext.java:39)
    at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:59)
    at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:59)
    at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:64)
    And later on...
    <2007-10-10 09:41:52,024> <ERROR> <default.collaxa.cube.engine.dispatch> <Dispatcher::adjustThreadPool> Error allocating 1 thread(s)
    ORABPEL-05005
    Cannot send JMS message.
    The process domain was unable to send a message to the JMS queue "". The exception reported is: Cannot lookup context object.
    The process domain was unable to lookup the context object using the bind name "java:comp/env/jms/collaxa/BPELWorkerQueue". The exception reported is
    : remaining name: env/jms/collaxa/BPELWorkerQueue
    Please verify the JNDI identifier is valid.
    Please check that the JMS service for the application server has been configured properly.
    at com.collaxa.cube.engine.ejb.impl.DispatcherBean.send(DispatcherBean.java:129)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    at com.evermind.server.ThreadState.runAs(ThreadState.java:620)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.TxNotSupportedInterceptor.invoke(TxNotSupportedInterceptor.java:43)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at DispatcherBean_LocalProxy_4bin6i8.send(Unknown Source)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.sendLocal(DispatchHelper.java:450)
    at com.collaxa.cube.engine.dispatch.Dispatcher.adjustThreadPool(Dispatcher.java:711)
    at com.collaxa.cube.engine.dispatch.Dispatcher.receive(Dispatcher.java:453)
    at com.collaxa.cube.engine.ejb.impl.DispatcherBean.schedule(DispatcherBean.java:87)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    at com.evermind.server.ThreadState.runAs(ThreadState.java:620)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.TxNotSupportedInterceptor.invoke(TxNotSupportedInterceptor.java:43)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at DispatcherBean_RemoteProxy_4bin6i8.schedule(Unknown Source)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.scheduleRemote(DispatchHelper.java:366)
    at com.collaxa.cube.engine.agents.BaseSimpleAgent$SimpleJob.execute(BaseSimpleAgent.java:271)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:191)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516)
    <2007-10-10 09:41:52,024> <DEBUG> <default.collaxa.cube.engine.agents> <SimpleJob::execute> Sent message to dispatcher
    <2007-10-10 09:41:52,024> <DEBUG> <default.collaxa.cube.engine.agents> <SimpleScheduler::schedule> Next activation time for agent dispatch: Wed Oct 10
    09:43:52 EDT 2007

Maybe you are looking for

  • Audigy 2 Value with Windows Vista 32-

    I have a situation where I have the beta driver working for my Audigy 2 Value but Windows does not give me a choice to select a 7. setup. It only allows a mono and 2 channel setup. With the Creative program that came with the driver I was able to sel

  • I am being asked for a serial number when I install CS5

    When I installed Creative Suite 5 Master it asked for a serial number, which I provided. Now it is asking me for a serial number upgrade? This is the master collection being installed for the first time, why is it telling me it can't find qualifying

  • How can i remove the yahoo toolbar on the new firefox

    I downloaded firefox 4.0.1 and it automatically installed a yahoo searchengine icon in my toolbar. How can I remove it?

  • Multiple page word doc from single page template?

    Hi, I'm working on a system which needs to generate a detailed report of multiple findings, ideally in MS Word. Each finding would have a page in the report and the format of all of these would be identical. Is it possible to use a word template repe

  • Error while activating Inbound Delivery Notification

    Hi, I have created and Inbound delivery in ERP, the material is batch managed and packed with HU. Once saved on ERP system, I find the Inbound Delivery Notification in SCM EWM system with HU, material and batch number appearing. Up to this point all