TIBCO consumer, WebLogic JMS, reconnecting
We're currently running TIBCO 7.2 processes with WebLogic 7 as the JMS and DB connection factory.
When using weblogic.jar to access JMS, we have discovered that TIBCO seems to loose connection entirely if a JMS server node dies, even when using distributed queues.
We have implemented the 'forward-delay' option to process messages from queues without an active consumer, in the event of a physical node failure. When this occurs however, TIBCO will not automatically reconnect.
Does anyone know of a work-around or whether or not this is resolved with the WL 9 releast of weblogic.jar?
The issue is that the entry point to TIBCO processes is to listen on a queue. Once the connection is broken, the component stops listening for messages.
Hi Uday,
The best option depends on your use case.
A messaging bridge is usually only appropriate when you want to store-and-forward from a local destination to a remote destination, instead of directly sending to the remote destination. Store-and-forward is helpful when you still want to be able to produce a message even when the remote destination is unavailable.
SAF Agents are a store and forward solution, just like bridges, but are only designed to only work with WebLogic JMS destinations.
For links to WebLogic Messaging white-papers, blog posts, samples, and documentation, click Enterprise Grid Messaging on the [url http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html]Oracle WebLogic Product Page.
Specifically, see the [url http://download.oracle.com/docs/cd/E17904_01/web.1111/e13727/interop.htm#JMSPG553]Integrating Remote JMS Providers FAQ, which should help you choose between WebLogic's various JMS integration options.
Hope this helps,
Tom
Similar Messages
-
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
>
-
Weblogic JMS authentication while sending or consuming message
I have to configure a weblogic jms queue in such a way when a remote sender send a message it has to connect using some authentication. Like when creating the initial context or the connectionFactory. But nowhere I got the steps for configuring it that way. Can you please let me know what is the out-of-the-box steps for achieving it. I am using all out-of the-box tools(no foreign jndi provider). Is it that the authentication comes as a default when you setup the connectionFactory. In that case is it the usercode/password of the weblogic server( or the subdeployment target, e.g. SOA server)
The discussion here might be useful for you:
Newbie question on securing JMS resources
Shortly, You need to create new user/group/roles in the security realm and configure the JMS destination for secured access based on roles. Then in the client code they need to pass the a valid user/password which has access to the destination.
Note: Weblogic doesn't honour the user id passed in the createConnection() call.. Instead what is checked is the JNDI Security_Principal passed when creating the intial context,, See the above link for details,
Edited by: atheek1 on May 25, 2010 4:17 PM -
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, -
How to configure a error queue for weblogic jms topic
Hi guys.
I want to configure a error queue for weblogic jms topic. Wanted: The message goes to error destination when messages have expired or reached their redelivery limit.
1. using jms transport configure proxy service:
Retry Count :3
Retry Interval:10
Error Destination: ErrorTopic
Expiration Policy: Redirect
I tried use the proxy service to consume message from the jms topic . and generation an error in the proxy message flow. But the message didn't goes into the error topic.
Any suggestions for this topic? Can anyone provide some helps or any useful links.
Thanks in advance.
MingzhuangMingzhuang
I want to configure a error queue for weblogic jms topic. Wanted: The message goes to error destination when messages have expired or reached their redelivery limit.
1. using jms transport configure proxy service:
Retry Count :3
Retry Interval:10
Error Destination: ErrorTopic
Expiration olicy: RedirectUnlike File/SFTP, JMS proxy service definition does not have the concept of Error Destination. To accomplish similar functionality go to JMSQ on (for which proxy is configured) server console (http://localhost:7001/console) and configure the Error Destination. Following URL will help in how to configure JMS Q.
http://edocs.bea.com/wls/docs103/ConsoleHelp/taskhelp/jms_modules/queues/ConfigureQueues.html
http://edocs.bea.com/wls/docs103/ConsoleHelp/taskhelp/jms_modules/queues/ConfigureQueueDeliveryFailure.html
I tried use the proxy service to consume message from the jms topic . and generation an error in the proxy message flow. But the message didn't goes into the error topic.If every thing is configured as per above step, then the after retries, the weblogic server will put the message into JMS topic configured. Your proxy will receive from this topic.
Let me know if we are not on same page.
Cheers
Manoj -
Exception in the XML consuming from JMS Queue
In the CEP application we have a business flow like we want to consume an xml message from the JMS queue.
While CEP is consuming the message sometimes we are getting an exception.
But this issue occurs rarely and we have no idea about the root cause.
I am attaching the trace of this exception.
It seems this exception is from weblogic server itself.
Also this could be an interface problem, since its showing a casting error.
The Bug description:
When we send a meter event through SOAP UI in the CEP visualizer when the event is consumed CEP also shows this exception.
This may not halt the analysis process of the event, but this unwanted piece of code/lines have to be avoided.
<OutageEvent xmlns:ns1="http://www.accenture.com/INDE"; xmlns:wsa="http://www.w3.org/2005/08/addressing"; xmlns="http://www.accenture.com/INDE"><meterId xmlns="">203</meterId><outageType xmlns="">Permanent Outage</outageType><premiseId xmlns="">1111</premiseId><timeEvent xmlns="">2010-07-30T</timeEvent><heName xmlns="">SAMPLEHE</heName></OutageEvent>
<Jul 30, 2010 11:01:50 AM IST> <Error> <JMSAdapter> <BEA-2041118> <Setup for JMS task for destination JMS_OI_MeterState_MeterEvent_Queue at provider t3://10.212.182.30:8002 failed with exception: weblogic.jms.common.JMSException: [JMSClientExceptions:055039]A system error has occurred. The error is java.lang.ClassCastException: weblogic.workarea.StringWorkContext
weblogic.jms.common.JMSException: [JMSClientExceptions:055039]A system error has occurred. The error is java.lang.ClassCastException: weblogic.workarea.StringWorkContext
at weblogic.jms.client.JMSSession.handleException(JMSSession.java:3121)
at weblogic.jms.client.JMSConsumer.receiveInternal(JMSConsumer.java:650)
at weblogic.jms.client.JMSConsumer.receive(JMSConsumer.java:526)
at weblogic.jms.client.WLConsumerImpl.receive(WLConsumerImpl.java:184)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:405)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:308)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
at com.bea.core.asyncbeans.internal.DefaultMessageListenerContainer.receiveAndExecute(DefaultMessageListenerContainer.java:59)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
at com.bea.core.asyncbeans.internal.WorkManagerTaskExecutor$1.run(WorkManagerTaskExecutor.java:38)
at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused By: java.lang.ClassCastException: weblogic.workarea.StringWorkContext
at weblogic.rjvm.MsgAbbrevInputStream.readContext(MsgAbbrevInputStream.java:243)
at weblogic.workarea.spi.WorkContextEntryImpl.<init>(WorkContextEntryImpl.java:47)
at weblogic.workarea.spi.WorkContextEntryImpl.readEntry(WorkContextEntryImpl.java:97)
at weblogic.workarea.WorkContextLocalMap.receiveRequest(WorkContextLocalMap.java:151)
at weblogic.jms.common.JMSWorkContextHelper.readWorkContext(JMSWorkContextHelper.java:89)
at weblogic.jms.common.MessageImpl.readExternal(MessageImpl.java:2275)
at weblogic.jms.common.TextMessageImpl.readExternal(TextMessageImpl.java:354)
at weblogic.jms.common.JMSConsumerReceiveResponse.readExternal(JMSConsumerReceiveResponse.java:133)
at weblogic.messaging.dispatcher.DispatcherObjectHandler.readResponse(DispatcherObjectHandler.java:154)
at weblogic.messaging.dispatcher.DispatcherProxy.unmarshalResponse(DispatcherProxy.java:269)
at weblogic.messaging.dispatcher.DispatcherProxy.dispatchSyncTranFuture(DispatcherProxy.java:134)
at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncTran(DispatcherWrapperState.java:338)
at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncNoTran(DispatcherWrapperState.java:386)
at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncNoTran(DispatcherAdapter.java:59)
at weblogic.jms.client.JMSSession.receiveMessage(JMSSession.java:886)
at weblogic.jms.client.JMSConsumer.receiveInternal(JMSConsumer.java:647)
at weblogic.jms.client.JMSConsumer.receive(JMSConsumer.java:526)
at weblogic.jms.client.WLConsumerImpl.receive(WLConsumerImpl.java:184)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:405)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:308)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
at com.bea.core.asyncbeans.internal.DefaultMessageListenerContainer.receiveAndExecute(DefaultMessageListenerContainer.java:59)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
at com.bea.core.asyncbeans.internal.WorkManagerTaskExecutor$1.run(WorkManagerTaskExecutor.java:38)
at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
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)
>
11:01:50,548 INFO MeterInputConverter : 81 - Accepted the input xml :<?xml version="1.0" encoding="UTF-8" ?><MeterEvent xmlns:inde="http://www.accenture.com/INDE"; xmlns:wsa="http://www.w3.org/2005/08/addressing"; xmlns="http://www.accenture.com/INDE">;
<meterId xmlns="">103</meterId>
<outageType xmlns="">RESUME</outageType>
<premiseId xmlns="">1111</premiseId>
<timeEvent xmlns="">2010-07-30T</timeEvent>
<lastGasp xmlns="">false</lastGasp>
<heName xmlns="">CURRENT</heName>
</MeterEvent>Hi,
I will forward this to the weblogic JMS team, to see if they have any insight for us.
Regards,
Seth -
Using Weblogic JMS for internal delivery channel
hi,
I want my B2B to talk to back-end application through Weblogic JMS queues. I have configured internal delivery channel for this. I am getting error message 'Max retry exceeded' in b2b_idc_transport.log
2008.09.24 at 12:09:53:713: B2BStarter thread: (DEBUG) initialize TransportReceiver: [WLIOutbound_TServer < jms > < Wholesale >]
2008.09.24 at 12:09:53:713: B2BStarter thread: (DEBUG) JMSReceiver.init() started ....
2008.09.24 at 12:09:53:713: B2BStarter thread: (DEBUG) Establishing JMS Connection.
2008.09.24 at 12:10:03:704: B2BStarter thread: (DEBUG) Establishing JMS Connection.
2008.09.24 at 12:15:03:428: B2BStarter thread: (ERROR) Max retry exceeded, closing everything
java.lang.Exception: Max retry exceeded
at oracle.tip.transport.basic.jms.JMSMonitor.reconnect(JMSMonitor.java:833)
at oracle.tip.transport.basic.JMSReceiver.init(JMSReceiver.java:333)
at oracle.tip.transport.b2b.B2BTransport.init(B2BTransport.java:379)
at oracle.tip.adapter.b2b.transport.AppTransportInterface.initialize(AppTransportInterface.java:282)
at oracle.tip.adapter.b2b.engine.Engine.initialize(Engine.java:512)
at oracle.tip.adapter.b2b.init.B2BServer.initialize(B2BServer.java:280)
at oracle.tip.adapter.b2b.init.B2BStarter.startB2B(B2BStarter.java:297)
at oracle.tip.adapter.b2b.init.B2BStarter.run(B2BStarter.java:143)
at java.lang.Thread.run(Thread.java:534)
I have applied latest patch 7322333.
kindly let me know what is workaround for this? also, how can do debugging of this issue in B2B.
Thanks in advance.
Regards,
Vaibhav
Edited by: vaibs on Sep 26, 2008 12:15 AMhi Sinkar,
Thanks for reply. I have checked connectivity from b2b server to weblogic server, using java stub. Stub can connect to the Q successfully.
here is my b2b.log
2008.09.24 at 12:09:49:233: main: B2B - (DEBUG) B2B initialize
2008.09.24 at 12:09:49:233: Main thread: B2B - (DEBUG) This is Main thread executing..
2008.09.24 at 12:09:49:233: Main thread: B2B - (DEBUG) B2B start
2008.09.24 at 12:09:49:233: Main thread: B2B - (DEBUG) B2B start - context started
2008.09.24 at 12:09:49:233: B2BStarter thread: B2B - (DEBUG) B2BStarter - This is B2BStarter thread executing..
2008.09.24 at 12:09:49:233: B2BStarter thread: B2B - (DEBUG)
Maximum Heap Size = 530907136
Memory Allocated = 8323072
Free Memory = 842560
2008.09.24 at 12:09:50:544: B2BStarter thread: BusinessLogicLayer - (INFORMATION) ExecutionContextManager initialization is done
2008.09.24 at 12:09:50:544: B2BStarter thread: BusinessLogicLayer - (INFORMATION) User's maxCachedSessions is set to 0
2008.09.24 at 12:09:50:560: B2BStarter thread: B2B - (DEBUG) B2BStarter - Context Initialized
2008.09.24 at 12:09:51:762: B2BStarter thread: B2B - (DEBUG) B2BStarter - Start B2B
2008.09.24 at 12:09:51:762: B2BStarter thread: B2B - (DEBUG) B2BStarter - Starting B2B
2008.09.24 at 12:09:51:762: B2BStarter thread: B2B - (DEBUG) B2BStarter - configuration oained
2008.09.24 at 12:09:51:762: B2BStarter thread: B2B - (DEBUG) B2BStarter - clear global cache
2008.09.24 at 12:09:51:793: B2BStarter thread: B2B - (DEBUG) XEngine not running. So no need to clear cached objects inside XEngine.
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [0] HL7 over MLLP Exchange
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [1] EDI X12 over AS1
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [2] Custom Document over Generic Exchange
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [3] EDI EDIFACT over Generic Exchange
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [4] RosettaNet over RNIF
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [5] EDI X12 over Generic Exchange
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [6] Custom Document over MLLP Exchange
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [7] Custom Document over AS1
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [8] EDI EDIFACT over AS1
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [9] HL7 over Generic Exchange
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (NIFORMATION) Repository:print: [10] Custom Document over Internet
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [11] Custom Document over ebMS
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [12] EDI X12 over Internet
2008.09.24 at 12:09:51:824: B2BStarter thread: B2B - (INFORMATION) Repository:print: [13] EDI EDIFACT over Internet
2008.09.24 at 12:09:51:981: B2BStarter thread: B2B - (DEBUG) Repository:constructCertSQL SELECT cert.ID, cert.CLASSTYPE FROM TIP_Certificate_ra cert, TIP_Party_ra party, TIP_DocumentExchange_ra docex WHERE cert.ID = docex.signingcredential AND cert.tradingpartner = party.ID AND party.ishosted != 'Y'
2008.09.24 at 12:09:52:355: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.exchange.ebms.EBMSExchangePlugin:initialize Enter
2008.09.24 at 12:09:52:355: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.exchange.ebms.EBMSExchangePlugin:header name: ebXML SOAP Envelope
2008.09.24 at 12:09:52:355: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.exchange.ebms.EBMSExchangePlugin:header name: ebXML SOAP Message Header
2008.09.24 at 12:09:52:386: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.exchange.ebms.EBMSExchangePlugin:initialize Exit
2008.09.24 at 12:09:52:402: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.document.custom.CustomDocumentPlugin:initialize Enter
2008.09.24 at 12:09:52:433: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.document.custom.CustomDocumentPlugin:initialize Exit
2008.09.24 at 12:09:52:511: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.engine.Engine:initialize Enter
2008.09.24 at 12:09:52:511: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.engine.Engine:initialize resetListener = true
2008.09.24 at 12:09:52:511: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.engine.Engine:initialize initdcx = true
2008.09.24 at 12:09:52:543: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.engine.Engine:initialize initialize TPAProcessor
2008.09.24 at 12:09:52:558: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.engine.Engine:initialize Clear TPA Cache
2008.09.24 at 12:09:52:558: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.engine.Engine:initialize initialize DataContext. Pool Size 0
2008.09.24 at 12:09:52:574: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:initialize Treat Response as Request = false
2008.09.24 at 12:09:52:574: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:initialize Exit
2008.09.24 at 12:09:52:574: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.engine.Engine:initialize initialize Transport
2008.09.24 at 12:09:52:574: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.transport.TransportInterface:initialize Initialize Transport Logger.
2008.09.24 at 12:09:52:574: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.transport.TransportInterface:initialize Transport LogLevel = STATUS
2008.09.24 at 12:09:52:605: B2BStarter thread: B2B - (INFORMATION) Repository:getDeliveryEndPointList: Putting http://localhost
2008.09.24 at 12:09:52:605: B2BStarter thread: B2B - (INFORMATION) oracle.tip.adapter.b2b.transport.TransportInterface:initialize: Props: http://localhost port = 7777
PROTOCOL_ENDPOINT = null
2008.09.24 at 12:09:52:636: B2BStarter thread: B2B - (DEBUG) initialize TransportReceiver: [Wholesale_Transport_Server < http > < Wholesale >]
2008.09.24 at 12:09:53:682: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.transport.AppTransportInterface:initialize Initialize AppTransport Logger.
2008.09.24 at 12:09:53:682: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.transport.AppTransportInterface:initialize AppTransport LogLevel = WARNING
2008.09.24 at 12:09:53:698: B2BStarter thread: B2B - (INFORMATION) Repository:getInternalDeliveryEndPointList: Putting jms://[email protected]
2008.09.24 at 12:09:53:698: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.transport.AppTransportInterface:initialize main Endpoint loop jms://[email protected]
2008.09.24 at 12:09:53:698: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.transport.AppTransportInterface:initialize looping through transport Endpoint: jms://[email protected]
2008.09.24 at 12:09:53:698: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.transport.AppTransportInterface:initialize add jms transport Endpoint: jms://[email protected] {Destination Provider Properties=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://10.76.168.156:7010, jms.receiver.destination_password=weblogic, Connection Factory Location=weblogic.jws.jms.QueueConnectionFactory, jms.receiver.jndi_connection_factory_location=weblogic.jws.jms.QueueConnectionFactory, isTopic=false, Message Type=bytes, jms.receiver.is_topic=false, jms.receiver.factory_provider_properties=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://10.76.168.156:7010, transport_callout_waittime=30, jms.receiver.jndi_destination_provider_properties=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://10.76.168.156:7010, jms.receiver.polling_interval=10, polling_interval=10, Factory Provider Properties=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://10.76.168.156:7010, jms.receiver.jndi_destination_location=[email protected], jms.receiver.destination_username=weblogic}
2008.09.24 at 12:09:53:713: B2BStarter thread: B2B - (DEBUG) initialize TransportReceiver: [WLIOutbound_TServer < jms > < Wholesale >]
2008.09.24 at 12:35:52:276: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:startListen Enter
2008.09.24 at 12:35:52:276: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:startListen Exit
2008.09.24 at 12:35:52:276: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:run Thread start
2008.09.24 at 12:35:52:276: B2BStarter thread: B2B - (DEBUG) oracle.tip.adapter.b2b.engine.Engine:initialize Exit
2008.09.24 at 12:35:52:276: B2BStarter thread: B2B - (DEBUG) B2BStarter - B2B initialized
2008.09.24 at 12:35:52:884: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:run initialize Enter
2008.09.24 at 12:35:53:087: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:run initialize B2BListen turned off, will not listen on IP_OUT_QUEUE for messages
2008.09.24 at 12:35:53:087: Thread-10: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:run start listening on message
Thanks,
Vaibhav
Edited by: vaibs on Sep 28, 2008 3:20 AM -
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 10.3 not suporting for MDB to connect remote Weblogic JMS server
Hi,
I have a problem with MDB deployed on Weblogic 10.3.It's simple MDB which is communicating with remote weblogic JMS server. I am getting below exception. could some one help how to resolve this issue.
<Apr 14, 2009 11:28:52 AM PDT> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: ReceiverFromDocumentum is unable to con
nect to the JMS destination: FMAContractOutboundQueue. The Error was:
[EJB:011013]The Message-Driven EJB attempted to connect to the JMS connection factory with the JNDI name: FMAConnectionFacto
ry. However, the object with the JNDI name: FMAConnectionFactory is not a JMS connection factory. NestedException Message is
:weblogic.jms.client.JMSConnectionFactory cannot be cast to javax.jms.XAConnectionFactory>
-SreekanthI recall that this particular warning message is sometimes misleading about the root cause of the problem, an issue that I think has been fixed in a patch. The actual problem can be various:
* The MDB is configured to be transactional, the connection factory exists, but the connection factory isn't configured to be "XA enabled". (I think this is the most likely problem).
* The connection factory doesn't exist.
* The object in JNDI with the specified connection factory name isn't actually a connection factory.
* The dest object in JNDI with the specified name isn't actually a javax.jms.Destination
Note that its unusual to configure the connection factory name for an MDB that consumes from WebLogic JMS. The default name iis usually sufficient unless custom tuning is required on the connection factory. See the MDB section of the EJB developer guide for more information.
Tom -
Program to consume the JMS queue
Hi, I' m new to WebLogic stuff. Got a question over here. There's a JMS queue that we want to have a program (not those built in stuff from weblogic) to see if they re consumed. Similar stuff would be displayed like
<b>ABCD Queue consumers: 1 / consumers high: 0 ...messages: 10 / messages received: 19........</b>
as if we get into the console page to check the JMS queues.
I've got no clues yet. We don't wanna check the number of files from C:\Original and the destination folder C:\Destin......if so, it'd be an easy task but that s not what we wanted....As with any WebLogic subsystem, you can get all statistics programmatically using standard JMX mbeans (see the JMX developer guide). The console uses these beans, as does the WLST scripting language. In addition, there are helper methods in the public weblogic.jms.extensions package that simplify access to these beans.
I think there are various mbean and WLST samples on dev2dev, including one called "JMSStats.java". Note that JMSStats.java, and some other samples were written for versions 8.1 and earlier. They use deprecated methods that don't have access to all runtime statistics for 9.0 and later versions.
Tom -
Hello! I would like to understand the significance of the MessagesMaximum value setting in the Weblogic JMS Connection factory. What happens if this limit is exceeded? Are the messages rejected?
Thanks in advance!
KrishLet me explain more on the problem I am facing...
I have a JMS queue set up within Weblogic with a MessagesMaximum setting of "10". I have an OnMessage() method to consume these messages as they come in. The application code in the onMessage() method accesses some resources over the network, sends email using Java mail API. Sometimes, these operations take a long time to complete and so causes a delay in the completion of the onMessage() method. My question is
1. When is the message really consumed? When the onMessage() method is invoked? or upon its completion?
2. What happens when the number of messages exceed 10?
Thanks,
Krish -
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 -
How to creat an Weblogic JMS configuration with authentication
I have to configure a weblogic jms topic in such a way when a remote sender send a message it has to connect using some authentication. Like when creating the initial context or the connectionFactory. But nowhere I got the steps for configuring it that way. Can you please let me know what is the out-of-the-box steps for achieving it. I am using all out-of the-box tools(no foreign jndi provider).
Simple answer, you are in the WRONG forum, this is the Application Express (APEX) support forum..
Thank you,
Tony Miller
Webster, TX -
Oracle PL/SQL send/receive message in weblogic jms queue
I am looking for a very simple way using oracle plsql to send and receive messages in a weblogic jms queues.
ThanksEven i am looking for the same . Would be great if someone would help ..The jms setup has to be done in weblogic like the jms server, jms module, Jms connection factory , jms queue and then the jndi names . Now thw Problem here lies to me is that i really dont knw what should be the connection factory targets ,jndi names and where do i give the schema details as in the user name ,password , db name . Also if there is any explaination with eg on how to send /receive messages from a db trigger to jms queues .
-
Problem in Interacting with Weblogic JMS through Informatica ETL server
Hi All,
We are trying to configure Informatica PowerCenter server to interact with JMS queues created on Weblogic 11gR1 server. We have copied the necessary
jar file - wlfullclient.jar to the classpath of the Informatica server.
Now when i try to read contents of a JMS queue created on Weblogic server through Informatica, i get this error:-
Failed to get the Queue Connection Factory [weblogic.jms.common.DestinationImpl]. Reason: Failed to look up object [While trying to lookup 'weblogic.jms.common.DestinationImpl' didn't find subcontext 'common'. Resolved 'weblogic.jms'Exception Stack: javax.naming.NameNotFoundException: While trying to lookup 'weblogic.jms.common.DestinationImpl' didn't find subcontext 'common'. Resolved 'weblogic.jms' [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'weblogic.jms.common.DestinationImpl' didn't find subcontext 'common'. Resolved 'weblogic.jms']; remaining name 'common/DestinationImpl'
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:237)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:464)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:272)
at weblogic.jndi.internal.ServerNamingNode_1211_WLStub.lookup(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:418)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:406)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.informatica.powerconnect.jms.server.common.JNDIConnection.getJNDIObject(JNDIConnection.java:84)
at com.informatica.powerconnect.jms.server.common.PlginJMSConnection$PlginJMSQueueConnection.createConnection(PlginJMSConnection.java:363)
at com.informatica.powerconnect.jms.server.common.PlginJMSConnection.<init>(PlginJMSConnection.java:90)
at com.informatica.powerconnect.jms.server.common.PlginJMSConnection$PlginJMSQueueConnection.<init>(PlginJMSConnection.java:352)
at com.informatica.powerconnect.jms.server.common.PlginJMSConnection.create(PlginJMSConnection.java:115)
at com.informatica.powerconnect.jms.server.reader.JMSReaderSQDriver.createPartitionDriver(JMSReaderSQDriver.java:557)
Caused by: javax.naming.NameNotFoundException: While trying to lookup 'weblogic.jms.common.DestinationImpl' didn't find subcontext 'common'
I have checked that this class file exists in the above said location :- "weblogic/jms/common/DestinationImpl.class" within the wlfullclient.jar but still the
code is not able to access the class. Similar error came initially while doing JNDI connection using "weblogic.jndi.WLInitialContextFactory" class but it vanished,
when i explicitly named the jar file on classpth, instead of just the folder containing the jar file.
To all the users/experts/moderators of Weblogic - Could you please help me understand why Weblogic is not able to look up subcontext 'common'
for the class - "weblogic.jms.common.DestinationImpl" ??
Thanks & Regards
Raj
Edited by: user8931188 on May 17, 2012 7:39 AMYou are experiencing a NameNotFoundException, not ClassNotFoundException so it seems there is something wrong about the client connection code or WebLogic config.
Can you share your client connection connection config/code?
Maybe you are looking for
-
Uninstalled Facebook App not completely removed
I was recently having issues with the Facebook application so I tried to remove i so that I could just reinstall it. I performed the usual act of removing by tapping the "x" on the Facebook icon and it appeared that the app had been removed. But when
-
Any audio filters to take out "hiss" noise?
I have recently done some quick interviews with a boom mic, and there happens to be a "hissing" sound that I wish to take out of the audio. I was just wondering if there is any audio filter or anything in Soundtrack (not Sountrack-Pro) that anyone wo
-
Mass Reversal of GR (MIGO) Documents.
HI, I need to revese the MIGO Docunts which are having Asset trasactions..Could you please help me to do Mass Reversal.. Ramu.Bathineni
-
Where do i modify the generic " sent from my Verizon yadadada language" ????
-
Discoverer drill up -down error? why no body is answering here?
hai, While i am doing drill up and drill down in discoverer viewer..i am getting error like this DiscoNetworkException - Nested exception: org.omg.CORBA.TRANSIENT: minor code: 0 completed: No null plz tell me what should i do to solve this.. regards