Urgent and intresting:weblogic JMS in CLustering

Hi all,
I deployed one application in two different servers(server1,server2) in a weblogic cluster.my application having one MDB .MDB also deployed on all servers.I am sending messages to server1 only by creating Initialcontext as follows.
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, "t3://10.20.30.18:7001");
return new InitialContext(h);
My question is:
1)is there any possible to consume that message by
server2(t3://11.22.33.20:7001) MDB.eventhough iam not putting message on this server.
2)if it is possible then how can i prevent.
3)does connectionfactory/destination(queue) sharable.
Problem faced:
we deployed application 2 days back,first day only server1 MDB consumed Messages,second day server2 MDB started consuming meaasges. we are calling some code from outside of application,we setup that one in only server1,if server2 consumes means it is throwing exception.
we are breaking heads how server2 consuming Messages.

Hi all,
I deployed one application in two different servers(server1,server2) in a weblogic cluster.my application having one MDB .MDB also deployed on all servers.I am sending messages to server1 only by creating Initialcontext as follows.
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, "t3://10.20.30.18:7001");
return new InitialContext(h);
My question is:
1)is there any possible to consume that message by
server2(t3://11.22.33.20:7001) MDB.eventhough iam not putting message on this server.
2)if it is possible then how can i prevent.
3)does connectionfactory/destination(queue) sharable.
Problem faced:
we deployed application 2 days back,first day only server1 MDB consumed Messages,second day server2 MDB started consuming meaasges. we are calling some code from outside of application,we setup that one in only server1,if server2 consumes means it is throwing exception.
we are breaking heads how server2 consuming Messages.

Similar Messages

  • 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 clustering

    Hi All,
    I need help understanding weblogic JMS clustering. I read few documents regarding this but not very clear about it.
    Hope to get help/suggestion here.
    I have following setup
    box1 - adminserver, osbserver1
    box2- osbserver2
    osbserver1 and osbserver2 are clustered together
    I have a JMS server created each one for each managed server (OSB server) in the cluster. These JMS servers are non-persistent. persistent store is "None".
    I have one JMS module created with connection factory, distributed Qs and are associated with a subdeployment that is targeting to the cluster
    I have all the servers(admin server and both OSB servers) are in running state
    To monitor JMS server I go to services->JMS Servers
    I see jmsserver1 which is targeted to osbserver1 has "Health" is marked as "OK"
    jmserver2 which is targeted to osbserver2 has no "health" check
    If I go to environment->servers , I see all the 3 servers are marked as "RUNNING" with "Health" OK
    As a note I created managed server in the second box before creating the JMS server and resources.
    And I do not have any nodemanager setup at this point.
    How would I know the JMSserver in both servers are active and have no issues ?
    Do I need to do anything to start JMSServer in OSBServer2 ?
    Edited by: 818591 on Feb 11, 2011 8:27 AM
    Edited by: 818591 on Feb 11, 2011 9:31 AM

    Should the JMS Server/JMS modules already be created so that the remote managed server will get configuration of these setup?No. This is not how resorces are created. Pack/unpack is used for creating the domains, ONCE. Later on you may very well use Weblogic admin console to create the resources and target/untarget those.
    As a note I do not have node managed setup yet. It is recommended that you use node manager in environments where servers may be installed on different machines -
    http://download.oracle.com/docs/cd/E14571_01/web.1111/e13740/toc.htm
    To me, it seems a network/cluster communication issue. If you have Oracle Support, better raise a SR with them to find out the exact issue as they would be in better position to understand your architecture and analyzing logs. You may also raise a thread in Oracle Weblogic forum to get a suggestion from a Weblogic expert -
    WebLogic Server - Clustering
    Regards,
    Anuj

  • 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,

  • 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
              >
              

  • JMS in clustered weblogic

    Is there any intention of including support for JMS queues clustering? If so, would it include clustering of messages after a server shutdown?
    Thanks

    Hi Ignacio,
    We do not support the JMS API from Coherence. That is one of the APIs that we currently defer to the application server providers, such as BEA. Unfortunately, BEA WebLogic does not currently support Coherence for its clustered queues, but I believe in WebLogic 8.1 you can manually fail-over BEA WebLogic queues in a cluster.
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!

  • 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 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
              

  • 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.

  • WebLogic JMS 10 and 7 Compatibility

    Hi,
    Is there a way to transfer JMS messages from WebLogic 7 to WebLogic 10?
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/compatibility/compatibility.html
    Based on the protocol compatibility section in above link, am I to assume that I cannot use JMS to drop a message into WLS 10 from 7?
    Regards,
    Anand.
    Edited by: user653362 on Feb 5, 2009 9:55 PM

    If you are considering to send messages from WLS 10.0 and WLS 7 or vice versa then its possible but refer to the following :-
    Interoperability between WebLogic Server 7.0 and WebLogic Server 10.0 is supported in the following scenarios. You will need the WebLogic Server 7.0 patch that is associated with CR295275 for this interoperability to work. This patch is applicable to WLS 7.0 SP6 and WLS 7.0 SP7. You can request this patch by contacting BEA support and requesting the patch associated with CR295275. Additionally, for RMI/IIOP interoperability support, start the WLS 7.0 client using the following flag: -Dweblogic.system.iiop.enableClient=true
    A WebLogic Server 7.0 client can invoke RMI-based applications hosted on a WebLogic Server 10.0 server using T3, T3S, HTTP, and HTTPS. JMS applications can be invoked using T3, T3S, HTTP, and HTTPS.
    A WebLogic Server 10.0 client can invoke RMI-based applications hosted on a WebLogic Server 7.0 server using T3, T3S, HTTP, and HTTPS. JMS applications can be invoked using T3, T3S, HTTP, and HTTPS.
    A WebLogic Server 10.0 Web server plug-in can proxy to the latest service pack release of a 7.0 server.
    Link : [http://e-docs.bea.com/wls/docs100/compatibility/compatibility.html]

  • 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

  • Weblogic JMS bridge between Weblogic and oracle Advanced Queue

    Hi,
    We are facing some issues when we are trying to integrate with Oracle AQ JMS through Weblogic.
    We have configured a Foreign AQ server which points to the oracle Advanced Queue and we are trying to create a Weblogic JMS bridge between AQ and weblogic. The bridge works perfectly if create the connection factories and bridge destinations with NonTX mode. The issue is with XA mode. Also we have deployed the Resource adaper for XAResource to use XA transactions.
    No help is available for the exception on google too :)
    Following is the exception we are getting.
    <An error occurred in bridge "aqjmsbridge" during the transfer of messages (javax.resource.ResourceException: Failed to setup the Resource Adapter Connection for enlistment in the transaction, Pool = 'eis/jms/WLSConnectionFactoryJNDIXA', javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XA_OK
    javax.transaction.xa.XAException: method start should not be called on weblogic.transaction.internal.IgnoreXAResource
    at weblogic.jms.foreign.IgnoreXAResourceImpl.start(ForeignAQIntegration.java:260)
    at weblogic.connector.security.layer.AdapterLayer.start(AdapterLayer.java:513)
    at weblogic.connector.transaction.outbound.XAWrapper.start(XAWrapper.java:466)
    at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1184)
    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1117)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:516)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:443)
    at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:118)
    at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
    at $Proxy59.receive(Unknown Source)
    at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1427)
    at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1002)
    at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1079)
    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)
    .).>
    Will appriciate any help for the above.
    Thanks and Regards,
    Navin

    Maybe this if of any help:
    - Re: Help with creating AQ JMS
    or
    - Re: AQ Weblogic integration - JMS-107: Operation not allowed on Connection

  • Weblogic.jms.frontend.FEConnectionFactory on Stuck Thread

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
              <HTML><HEAD>
              <META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
              <META content="MSHTML 6.00.2900.2627" name=GENERATOR>
              <STYLE></STYLE>
              </HEAD>
              <BODY>
              <DIV><FONT face=Arial size=2>Hi,</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>I need help on this issue quite
              urgently.</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>Server Environment</FONT></DIV>
              <DIV><FONT face=Arial size=2>----------------------</FONT></DIV>
              <DIV>
              <DIV><FONT face=Arial size=2>Server: Weblogic 8.1 SP4</FONT></DIV>
              <DIV><FONT face=Arial size=2>Java version: 1.4.2_05</FONT></DIV></DIV>
              <DIV><FONT face=Arial size=2>I have 2 Sun Solaris Servers each having 4
              NICs with the following addresses:</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>SERVER A       
              SERVER B</FONT></DIV>
              <DIV><FONT face=Arial size=2>-------------       
                      -------------</FONT></DIV>
              <DIV><FONT face=Arial size=2>10.32.10.11       
              10.32.10.13</FONT></DIV>
              <DIV><FONT face=Arial size=2>10.32.10.12       
              10.32.10.14</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial
              size=2>10.31.10.131                       10.31.10.133</FONT></DIV>
              <DIV><FONT face=Arial size=2>10.31.10.132       
              10.31.10.134</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV>
              <DIV>
              <DIV><FONT face=Arial size=2>10.32.10.11 / 10.32.10.12 / 10.32.10.13 /
              10.32.10.14 are all mapped onto a Virtual IP Address
              10.32.10.1</FONT></DIV><FONT face=Arial size=2>10.31.10.131 / 10.31.10.132 /
              10.31.10.133 / 10.31.10.134 are all mapped onto a Virtual IP Address
              10.31.10.1</FONT></DIV></DIV>
              <DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>And the subnet for the above NICs is all
              255.255.255.0.</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>The 2 Sun Servers are being clustered by Vertias
              Cluster Server and At any one time, only one server is in active
              state.</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV></DIV>
              <DIV><FONT face=Arial size=2>Scenario:</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>When a client (IP Address: 
              10.32.10.101/255.255.255.0) tries to subscribe to the server's JMS Topic, the
              entire server hanged and no other client requests can be further
              processed.</FONT></DIV>
              <DIV><FONT face=Arial size=2>Health status checks on the server also did not get
              any response and the client also hanged.</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>A check on the Weblogic's Kernal threads shows that
              one of the thread is currently handling
              "weblogic.jms.frontend.FEConnectionFactory".</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>This hanged state will eventually timeout after
              600s and everything goes back to normal. </FONT></DIV>
              <DIV><FONT face=Arial size=2>The client will have exceptions saying No route to
              destination due to "Empty Reply".</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>I've also tried upgradng the Client's JDK to
              1.4.2_07 and the reslt is still the same.</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>For weblogic.jms.frontend.FEConnectionFactory, it
              seems that the Client is trying to establish a JMS connection with the server
              but somehow it got stuck in the process.</FONT></DIV>
              <DIV><FONT face=Arial size=2>Why is this so? Is this a SP4 bug?</FONT></DIV>
              <DIV><FONT face=Arial size=2></FONT> </DIV>
              <DIV><FONT face=Arial size=2>Regards</FONT></DIV>
              <DIV><FONT face=Arial size=2>Mike</FONT></DIV></BODY></HTML>

    check whether the QCF is targetted and deployed on the Managed Server. I am assuming your war is deployed on the managed server.
    cheers
    dips

  • Inconsistent message publishing times through weblogic JMS client

    Hi,
    We have a weblogic JMS application which we are deploying in a clustered weblogic enviornment. We are using distributed queues/topics with file store. We have both JMS cliient and server running on separate weblogic clusters. Most of the times it will take about 10 milli seconds to push the message into queue, but 1 in 50 messages takes about anywhere between 0.2 sec to 6 secs. Recently for three days it just took 10 msec for all the messages throught these three days and then started behaving erratically again. I am not able to really figure out why there is lot of deviation in the publishing times. When I monitor both my client and server through admin consiole, I don't see any stuck threads, heap size is normal, cpu load is normal, no problems with network. Please help me to figure out the root cause for abnormal publishing times.
    Regards
    Koti

    Could you check if there are JVM garbage collections during some the publishing times.
    In particular check if there are any full garbage collection occuring when you notice such a deviation in the publishing time.

  • How to configure a error queue for weblogic jms topic

    Hi guys.
    I want to configure a error queue for weblogic jms topic. Wanted: The message goes to error destination when messages have expired or reached their redelivery limit.
    1. using jms transport configure proxy service:
    Retry Count :3
    Retry Interval:10
    Error Destination: ErrorTopic
    Expiration Policy: Redirect
    I tried use the proxy service to consume message from the jms topic . and generation an error in the proxy message flow. But the message didn't goes into the error topic.
    Any suggestions for this topic? Can anyone provide some helps or any useful links.
    Thanks in advance.
    Mingzhuang

    Mingzhuang
    I want to configure a error queue for weblogic jms topic. Wanted: The message goes to error destination when messages have expired or reached their redelivery limit.
    1. using jms transport configure proxy service:
    Retry Count :3
    Retry Interval:10
    Error Destination: ErrorTopic
    Expiration olicy: RedirectUnlike File/SFTP, JMS proxy service definition does not have the concept of Error Destination. To accomplish similar functionality go to JMSQ on (for which proxy is configured) server console (http://localhost:7001/console) and configure the Error Destination. Following URL will help in how to configure JMS Q.
    http://edocs.bea.com/wls/docs103/ConsoleHelp/taskhelp/jms_modules/queues/ConfigureQueues.html
    http://edocs.bea.com/wls/docs103/ConsoleHelp/taskhelp/jms_modules/queues/ConfigureQueueDeliveryFailure.html
    I tried use the proxy service to consume message from the jms topic . and generation an error in the proxy message flow. But the message didn't goes into the error topic.If every thing is configured as per above step, then the after retries, the weblogic server will put the message into JMS topic configured. Your proxy will receive from this topic.
    Let me know if we are not on same page.
    Cheers
    Manoj

Maybe you are looking for