Weblogic.transaction.internal.TimedOutException while JMS adapter De queuing
Hi ,
I am getting the weblogic.transaction.internal.TimedOutException in SOA logs, when i track the instance using ecid. I am unable to find the flow in EM.
EM shows that instance as complete and I can able to see only the JMS adapter in flow trace.
Increasing the timeout is not a good option, I hope. It’s already set to 10800.
Error msg:
Failed to handle dispatch message ... exception ORABPEL-05002
Message handle error.
error while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the reported exception is: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 10798
I am not sure y the De queuing take such a long time?? Any other thought guys??
Regards,
Ram.
Could you check the size of the JMS message that is getting polled.
When the transaction is getting rolled back, is the JMS message getting discarded or present in JMS Queue
Similar Messages
-
CMP Bean - weblogic.transaction.internal.TimedOutException
Hi,
I have two CMP beans. Bean1 is stateless bean and Bean2 is stateful. I am
using a method of Bean2 from Bean1 and later on call Bean1.remove(). Now, I
am getting the following error in my application. I would appreciate any
help.
Thanks,
SamK
weblogic.transaction.internal.TimedOutException: Transaction timed out
after 62 seconds
2240:505a02f68bbeb855
java.rmi.RemoteException: Transaction Rolledback.; nested exception is:
weblogic.transaction.internal.TimedOutException: Transaction timed out
after 62 seconds
2240:505a02f68bbeb855
weblogic.transaction.internal.TimedOutException: Transaction timed out after
62 seconds
2240:505a02f68bbeb855
at
weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransaction
Impl.java:1214)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTr
ansactions(ServerTransactionManagerImpl.java:888)
at
weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManag
erImpl.java:1695)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTran
sactionManagerImpl.java:813)
at
weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManage
rImpl.java:1661)
at java.lang.Thread.run(Thread.java:479)Do you really mean to say 'CMP beans'? Usually the terms stateless and
stateful are applied to
session beans.
Seth
"Sameer Karmarkar" <[email protected]> wrote in message
news:[email protected]..
Hi,
I have two CMP beans. Bean1 is stateless bean and Bean2 is stateful. I am
using a method of Bean2 from Bean1 and later on call Bean1.remove(). Now,I
am getting the following error in my application. I would appreciate any
help.
Thanks,
SamK
weblogic.transaction.internal.TimedOutException: Transaction timed out
after 62 seconds
2240:505a02f68bbeb855
java.rmi.RemoteException: Transaction Rolledback.; nested exception is:
weblogic.transaction.internal.TimedOutException: Transaction timed out
after 62 seconds
2240:505a02f68bbeb855
weblogic.transaction.internal.TimedOutException: Transaction timed outafter
>
62 seconds
2240:505a02f68bbeb855
at
weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransaction
>
Impl.java:1214)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTr
>
ansactions(ServerTransactionManagerImpl.java:888)
at
weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManag
>
erImpl.java:1695)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTran
>
sactionManagerImpl.java:813)
at
weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManage
>
rImpl.java:1661)
at java.lang.Thread.run(Thread.java:479) -
Weblogic.transaction.internal.TimedOutException
Weblogic transactions are defaulted to time out after 300 seconds and when we make multiple calls to the process(JPD), the response time of the call pushes us over the 300 seconds. I get TimeedOutException
Is there Any option to solve this issue.
Thanks in Advance
Rabiklook at the file:
...installdir...\odsi_10.3\deployment\weblogic-ejb-jar.xml
Make a copy of the original for safety's sake, and directly following the </stateless-session-descriptor> for the Server ejb, explicitly add the element
<transaction-descriptor>
<trans-timeout-seconds>600</trans-timeout-seconds>
</transaction-descriptor>
Be aware that this change will affect all of your applications built using this particular ODSI installation.
Now, explicitly delete your dataspace from the server and then redeploy it. It should now have the new timeout. If you need a shorter timeout, you can use the fn-bea:timeout() function in your function, or specify a timeout in RequestConfig when making the call.
- Mike -
Weblogic/transaction/internal/TransactionHelperImpl class not found error
Hi All,
I am getting the follwing excepition while running the application.
which jar i need to add in the class path. I am using weblogic 10.0 sever.
pls help as soon as possible.
Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/transaction/internal/TransactionHelperImpl
at weblogic.jndi.spi.EnvironmentManager$DefaultFactoryMaker.<clinit>(EnvironmentManager.java:26)
at weblogic.jndi.spi.EnvironmentManager.getInstance(EnvironmentManager.java:48)
at weblogic.jndi.Environment.getContext(Environment.java:307)
at weblogic.jndi.Environment.getContext(Environment.java:277)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at com.deceval.security.businessobjects.ServiceLocator.getContext(ServiceLocator.java:66)
at com.deceval.security.businessobjects.ServiceLocator.getSecurityServerMgrSO(ServiceLocator.java:138)
at com.deceval.security.securityinterface.SecuritySubSystemWin.<init>(SecuritySubSystemWin.java:121)
at com.deceval.security.securitywindow.StartClass.<init>(StartClass.java:29)
at com.deceval.security.securitywindow.StartClass.main(StartClass.java:47)
Press any key to continue . . .
thanks in advance
krishnaThis error line does hint that you do have the required JARs in the classpath but there may be version different. If jar is missing you would have NoClassDefFound Error. But it say method signature not found. May be the jar that you are using do not have this method. Try using other version of the jar. Incase if you have like any java decompiler, you can always open this .class file and see if this method signature exists in that class.
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
I do not know anything about asm, but just incase if this class happens to exist in any other package also but with different APIs (older versions) and you are referring them first. Usually this happens if we have same class with diff versions in diff jars and the order in which this class gets loaded. So if you have this same class but latest version put those JARs in the first before asm jars. You gave list of some packages, put the asm package in the end and see if that helps. Its just a hint as we do run into these kind of issues specially with diff version os Struts jars that we use everyday with weblogic.
HTH
Ravi Jegga -
Nullpointer in 'weblogic.transaction.internal.CoordinatorImpl
I am using Weblogic 6.1 SP4 on JDK 1.3.1 on AIX.
My server has a transacted EJB which accesses Oracle and DB2 databases. I have
been running my application for several months.
Suddenly, yesterday it starting spitting out these exceptions a few times a minute.
I cannot find the configuration change I made that would have caused this to
suddenly start appearing. My code has not changed in 2 weeks.
Has anyone seen this error before? Does anyone know what causes this, so that
I can narrow my search?
Thanks for your help,
Tania
####<Mar 4, 2003 12:35:48 PM CST> <Warning> <Dispatcher> <ksp12025> <cuAS01> <ExecuteThread:
'5' for queue: 'default'> <system> <> <000000> <RuntimeException thrown by rmi
server: 'weblogic.rmi.internal.BasicServerRef@105 - jvmid: '-4285102758410085945S:10.1.21.21:[18120,18120,18121,18121,18120,18121,-1]:qdomain4:cuAS01',
oid: '261', implementation: 'weblogic.transaction.internal.CoordinatorImpl@311671da''>
java.lang.NullPointerException
at weblogic.transaction.internal.ServerResourceInfo.isAccessibleAtAndAssignableTo(ServerResourceInfo.java(Compiled
Code))
at weblogic.transaction.internal.ServerTransactionImpl.assignResourcesToSelf(ServerTransactionImpl.java(Compiled
Code))
at weblogic.transaction.internal.ServerTransactionImpl.assignResourcesToSelf(ServerTransactionImpl.java(Compiled
Code))
at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java(Compiled
Code))
at weblogic.transaction.internal.SubCoordinatorImpl.startCommit(SubCoordinatorImpl.java(Compiled
Code))
at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java(Compiled
Code))
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java(Compiled
Code))
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java(Compiled
Code))
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Thanks,
The problem did clear up when the Unix server had to get bounced. I believe it
was bounced for an unrelated issue.
The one thing I noticed was that there were a couple of copies of my EJBs in the
wlnotdelete directory that the server had been previously compliaining about.
They went away after the Unix server was restarted and the NullPointer problem
went away.
We plan to upgrade to 7.1 soon, but will try to move to SP5 if we need to sooner.
Thanks for your help.
Tania Rhinehart
Rajesh Mirchandani <[email protected]> wrote:
>This is fixed in SP5. Open a case with [email protected] and reference
>CR092301.
>
>Slava Imeshev wrote:
>
>> Hi Tania,
>>
>> I think you need to contact BEA support at [email protected]
>>
>> Regards,
>>
>> Slava Imeshev
>>
>> "Tania Rhinehart" <[email protected]> wrote in message
>> news:[email protected]...
>> >
>> > I am using Weblogic 6.1 SP4 on JDK 1.3.1 on AIX.
>> > My server has a transacted EJB which accesses Oracle and DB2 databases.
> I
>> have
>> > been running my application for several months.
>> > Suddenly, yesterday it starting spitting out these exceptions a few
>times
>> a minute.
>> > I cannot find the configuration change I made that would have caused
>this
>> to
>> > suddenly start appearing. My code has not changed in 2 weeks.
>> >
>> > Has anyone seen this error before? Does anyone know what causes
>this, so
>> that
>> > I can narrow my search?
>> >
>> > Thanks for your help,
>> > Tania
>> >
>> > ####<Mar 4, 2003 12:35:48 PM CST> <Warning> <Dispatcher> <ksp12025>
>> <cuAS01> <ExecuteThread:
>> > '5' for queue: 'default'> <system> <> <000000> <RuntimeException
>thrown by
>> rmi
>> > server: 'weblogic.rmi.internal.BasicServerRef@105 - jvmid:
>> '-4285102758410085945S:10.1.21.21:[18120,18120,18121,18121,18120,18121,-1]:q
>> domain4:cuAS01',
>> > oid: '261', implementation:
>> 'weblogic.transaction.internal.CoordinatorImpl@311671da''>
>> >
>> > java.lang.NullPointerException
>> > at
>> weblogic.transaction.internal.ServerResourceInfo.isAccessibleAtAndAssignable
>> To(ServerResourceInfo.java(Compiled
>> > Code))
>> > at
>> weblogic.transaction.internal.ServerTransactionImpl.assignResourcesToSelf(Se
>> rverTransactionImpl.java(Compiled
>> > Code))
>> > at
>> weblogic.transaction.internal.ServerTransactionImpl.assignResourcesToSelf(Se
>> rverTransactionImpl.java(Compiled
>> > Code))
>> > at
>> weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransa
>> ctionImpl.java(Compiled
>> > Code))
>> > at
>> weblogic.transaction.internal.SubCoordinatorImpl.startCommit(SubCoordinatorI
>> mpl.java(Compiled
>> > Code))
>> > at
>> weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown
>> > Source)
>> > at
>> weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java(Compiled
>> > Code))
>> > at
>> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java(Compi
>> led
>> > Code))
>> > at
>> weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java(C
>> ompiled
>> > Code))
>> > at
>> weblogic.kernel.ExecuteThread.execute(ExecuteThread.java(Compiled Code))
>> > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>> >
>
>--
>Rajesh Mirchandani
>Developer Relations Engineer
>BEA Support
>
>
-
Reason=weblogic.transaction.internal.AppSetRollbackOnlyException
Hi all
i am getting this exception :
Exception in obtaining connection *java.sql.SQLException: Transaction BEA1-00238595E5CABD76B51F not active anymore. tx status = Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]* when i am getting connection from connection pool.
i am using weblogic 9.2 server running Windows and solaris. Both place i am getting same exception.
I have this exception only with a database Oracle 9i (the same program doesn't generate this exception with database oracle 10g )
regardsHi all
i am getting this exception :
Exception in obtaining connection *java.sql.SQLException: Transaction BEA1-00238595E5CABD76B51F not active anymore. tx status = Marked rollback. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException]* when i am getting connection from connection pool.
i am using weblogic 9.2 server running Windows and solaris. Both place i am getting same exception.
I have this exception only with a database Oracle 9i (the same program doesn't generate this exception with database oracle 10g )
regards -
What does the weblogic.transaction.internal.CoordinatorImpl do?
When under a moderate to heavy load I occasionally see as much as 90% of threads in one server on a cluster working on the following request:
weblogic.transaction.internal.CoordinatorImpl
This was as viewed in the WLS admin console. This is not causing a problem as far as I can see but I am curious what this object does and whether it is an indicator that something needs to be looked into.
Any ideas?
Thanks.George Lupanoff <[email protected]> writes:
It coordinates transactions
andy
> When under a moderate to heavy load I occasionally see as much as 90% of threads in one server on a cluster working on the following request:
> weblogic.transaction.internal.CoordinatorImpl
>
> This was as viewed in the WLS admin console. This is not causing a problem as far as I can see but I am curious what this object does and whether it is an indicator that something needs to be looked into.
>
> Any ideas?
> Thanks.
-
Payload level filter JMS Adapter with Queue - not filtering
Hi ,
I have created AQ Queue in my Database, Using JMS Adapter i am able consume and produce the messages. I want a filter condition, which is not happening.
The scenario is i have a field ImportInd in my XSD and i need to pick the message with ImportInd = 1, otherwise the message should lie on the queue.
Please help me in this,
Thanks,
PadminiTrying to give you the counterparts I have in my working example.
In my case the queue is on a separate machine, and the BPEL is deployed on a separate machine. Cross-domain security config needs to be done for these machines to be able to talk.
In weblogic console: where BPEL is running.
under deployment jmsadapter -> Outbound Connections -> jndi name is jms/PRISMQueue -> ConnectionFactoryLocation Property is jms/SoaCF
where queue is configured.
Under JMS Module Connection Factory Name is SoaConnectionFactory which JNDI name is jms/SoaCF
Under JMS Module Queue Name SOAPostActivityStatusQueue which JNDI name is jms.SOAPostActivityStatusQueue
Services>Messaging>JMSModules>MyModule>SOAPostActivityStatusQueue>
JNDI name - jms.SOAPostActivityStatusQueue
Adapter in BPEL/Composite-
Destination - jms.SOAPostActivityStatusQueue
JNDI - jms/PRISMQueue
JCA:
<adapter-config name="PostResponseFromPCService" adapter="JMS Adapter" wsdlLocation="PostResponseFromPCService.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
<connection-factory location="jms/PRISMQueue" UIJmsProvider="WLSJMS" UIConnectionName="tacoma"/>
<endpoint-activation portType="Consume_Message_ptt" operation="Consume_Message">
<activation-spec className="oracle.tip.adapter.jms.inbound.JmsConsumeActivationSpec">
<property name="PayloadType" value="TextMessage"/>
<property name="UseMessageListener" value="false"/>
<property name="DestinationName" value="jms.SOAPostActivityStatusQueue"/>
</activation-spec>
</endpoint-activation>
</adapter-config>
HTH.
Thanks! -
JDeveloper - ESB / BPEL - JMS Adapter - prefix queue name with db schema
When I use the JMS Adapter in ESB to create a new message queue producer or consume using database (AQ) I'm experiencing a problem when selecting the queue.
I can browse the queue in the database but when I have selected the queue JDeveloper prefix it with the schema name owning the queue.
Example:
java:comp/resource/DocumentQueueResourceProvider/Queues/QUEUES.DOCUMENT_IMPORT_QUEUE
Schema owner is QUEUES and the name of the queue is DOCUMENT_IMPORT_QUEUE.
The problem is when I try to use it its unable to look up the queue and I have to manually remove the prefix from .wsdl file before deploying it - as with setting mcf.IsTransacted='false'.
When the resource provider finds the queue and exposes it in the JNDI three it does it without the prefix.
Question: How do I either:
a) make the schema prefix be removed by JDeveloper
b) make the resource provider prefix the queue name with the schema name.
Anybody?
Best regards
Christian DamsgaardTry this:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.yourcompany.com/msg"
xmlns:tns="http://www.yourcompany.com/msg"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
nxsd:encoding="ASCII" nxsd:stream="chars" nxsd:version="NXSD"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:element name="rootnode" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="${eof}"/>
</xsd:schema>
This will result in a single node xml.
Edited by: user472896 on Sep 22, 2010 10:29 AM -
Doubts on weblogic transaction
Hi,
I have done a testing on transaction, and found something strange:
when the transcation timeout, I found there were two thread running and not released:
1. the thread running the transaction(even the transaction was timeout, this thread
was still running, why?);
2. the thread which was running:weblogic.transaction.internal.TransactionImpl$1(why
consume another thread in "default" queue to run the job,and for what? )
3. what happened to that DB connection, will it be returned to pool again?Can
it be used again?
Thanks
Hi, Joseph:
here is the thread dump:
"ExecuteThread: '12' for queue: 'default'" daemon prio=5 tid=0xf2cee20 nid=0x6f0
waiting for monitor entry [0x1054f000..0x1054fdc0]
at oracle.jdbc.driver.OracleConnection.rollback(OracleConnection.java:1364)
at weblogic.jdbc.jts.Connection.internalRollback(Connection.java:806)
at weblogic.jdbc.jts.Connection.rollback(Connection.java:516)
at weblogic.transaction.internal.ServerResourceInfo.rollback(ServerResourceInfo.java:1416)
at weblogic.transaction.internal.ServerResourceInfo.rollback(ServerResourceInfo.java:671)
at weblogic.transaction.internal.ServerSCInfo.startRollback(ServerSCInfo.java:394)
at weblogic.transaction.internal.ServerTransactionImpl.localRollback(ServerTransactionImpl.java:1538)
at weblogic.transaction.internal.ServerTransactionImpl.globalRollback(ServerTransactionImpl.java:2164)
at weblogic.transaction.internal.TransactionImpl$1.execute(TransactionImpl.java:1673)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
"ExecuteThread: '11' for queue: 'default'" daemon prio=5 tid=0xf1708a0 nid=0x6f8
runnable [0x1050f000..0x1050fdc0]
at oracle.jdbc.oci8.OCIDBAccess.do_execute(Native Method)
at oracle.jdbc.oci8.OCIDBAccess.executeFetch(OCIDBAccess.java:1732)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2053)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at weblogic.jdbc.jts.Statement.executeUpdate(Statement.java:509)
at jsp_servlet.__test_jdbc._jspService(__test_jdbc.java:111)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1075)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:418)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5517)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:685)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3156)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2506)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:234)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:210)
Thanks&Regards
>
>
>lumin wrote:
>
>> After the transaction timeout, I monitor through weblogic console and
>get the thread
>> message:
>>
>> thead 8 still running, Http Request: /life/test_jdbc.jsp {weblogic.transaction.internal.JTATransactionImpl:
>> name=null, xid=2:e33999517f28edb9, status=Rolling Back. [Reason=weblogic.transaction.internal.TimedOutException:
>> Transaction timed out after 30 seconds Xid=2:e33999517f28edb9(8304246),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
>> since begin=30,seconds left=30,activeThread=Thread[ExecuteThread: '8'
>for queue:
>> 'default',5,Thread Group for Queue: 'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=none,xar=weblogic.jdbc.jts.Connection@7d1491),SCInfo[mydomain+myserver]=(state=active),properties=({weblogic.jdbc=t3://172.16.6.2:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myserver+172.16.6.2:7001+mydomain+t3+,
>> Resources={})],CoordinatorURL=myserver+172.16.6.2:7001+mydomain+t3+)],
>userProperties={weblogic.jdbc=t3://172.16.6.2:7001},
>> secondsActive=103, servers=myserver, resourceNamesAndStatus=weblogic.jdbc.jts.Connection/started}
>>
>>
>> thread 7 is also running: weblogic.transaction.internal.TransactionImpl$1@1f1321
>>
>>
>> When I rollback the delete operation, thread 7 disappear first, after
>a while,
>> thread 8 also disapper.
>> But if I let it be, thread 7 and thread 8 will not stop running.
>
>Ok. Oracle's driver is unable to interrupt certain DBMS activity, even
>if a
>rollback is called on the connection. However, please duplicate the hanging,
>and please show me the full stack trace of the two hanging threads.
>thanks,
>Joe
>
>>
>>
>> Thanks&Regards
>> >
>> >
>> >lumin wrote:
>> >
>> >> Hi, Joseph:
>> >>
>> >> Thanks for your revert.Here is the platform information for testing:
>> >>
>> >> operating system:Windows2000 professional
>> >> app server: weblogic 7.0 sp4
>> >> database client: oracle 9.2.0.1
>> >> DB driver: Oracle OCI driver
>> >> what am I doing: delete a record from command line and didn't commit/rollback;
>> >> then running a JSP program which trying to update the deleted record.
>> >
>> >Ok, and what happens when you comit or rollback the SQL-PLUS session?
>> >Joe
>> >
>> >>
>> >>
>> >> Thanks&Regards.
>> >>
>> >> >
>> >> >lumin wrote:
>> >> >
>> >> >> Hi,
>> >> >>
>> >> >> I have done a testing on transaction, and found something strange:
>> >> >>
>> >> >> when the transcation timeout, I found there were two thread running
>> >> >and not released:
>> >> >>
>> >> >> 1. the thread running the transaction(even the transaction was
>timeout,
>> >> >this thread
>> >> >> was still running, why?);
>> >> >> 2. the thread which was running:weblogic.transaction.internal.TransactionImpl$1(why
>> >> >> consume another thread in "default" queue to run the job,and
>for
>> >what?
>> >> >)
>> >> >> 3. what happened to that DB connection, will it be returned to
>pool
>> >> >again?Can
>> >> >> it be used again?
>> >> >>
>> >> >> Thanks
>> >> >
>> >> >Hi. Depending on what DBMS and what JDBC driver you are using,
>and
>> >what
>> >> >the JDBC Connection is doing at the time, it may not return from
>it's
>> >> >activity
>> >> >even though we've sent a rollback() to the connection. What version
>> >of
>> >> >the server
>> >> >are you using?
>> >> >Joe
>> >> >
>> >> >
>> >
>
-
Hi Friends,
When i run my application i 'm getting the following exception.
weblogic.transaction.internal.TimedOutException: Transact
on timed out after 33 seconds
is there any way to explicitly specify the transaction time in weblogic ?
please let me know.
rgds
Mohan Shttp://edocs.bea.com/wls/docs61/ejb/reference.html#1072610
-
JMS adapter transaction. Rollback message to queue.
Hi all !
A have question about jms adapter transaction. My composite application has 3 steps : JMS adapter (listener), mediator, WS adapter. JMS adapter listen queue push message to mediator, mediator invoke web service. If ws not available (server down), mediator try recovery 5 times. After 5 times, reject message from queue. I wont rollback message to queue. I saw examples with JMS + BPEL, but it not help me. Anybody can help me.Hi,
You don’t need to catch a mediator fault – you can let it rollback to the JMS Queue and let the Queue do the retries.
To get the retries working, log in to the weblogic console and navigate to JMS Modules -> Your Module -> Your Queue -> Configuration -> Delivery Failure
Here you will find options for Redelivery Limit. Set this to the number of retries you need.
Then navigate to the connection factory you want and set the redelivery delay.
This should get your desired behaviour, but once the message has failed it will be discarded. If you prefer to put it on an error queue you can create an error queue, and in the original queue’s, goto Delivery Failure, change the expireation policy and set the Error Destination to be your error queue.
Hope that helps!
Robert -
PI 7.11 JMS adapter using JNDI weblogic server issue
Hi SAP experts,
I have a scenario to integrate to a application using JMS adapters. we use SAP PI 7.11 version.
We have deployed JMS drivers successfully and We face issue here to connect to weblogic server
We are using JMS adapter using JNDI to connect to weblogic server version 10.3.
Can anyone help with the exact format to be used in JMS properties table and additional parameters table in JMS communication channel. Your quick help will be appreciated.
A channel error occurred. The detailed error (if any) : com.sap.aii.adapter.jms.api.connector.ConnectorException: Error looking up destination: AccrualDetailsQueue for profile: ConnectionProfile of channel: CC_SND_JMS on node: 3010950 having object id: 673696a9fe8c39fdab32213f0930afb3: javax.naming.NameNotFoundException: Unable to resolve 'AccrualDetailsQueue'. Resolved ''<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createDestination(JndiConnectorImpl.java:168)<brHi Padmini,
Refer to the following link:
http://help.sap.com/saphelp_nw04/helpdata/en/24/4cad3baabd4737bab64d0201bc0c6c/content.htm
It was very helpful to me, for configuring the additional parameters in the communication Channel JMS.
I leave you some screenshots of the settings that I did.
I seize the opportunity to ask you, where do I can get the drivers (.Jar) for Weblogic?
Regards.
Rodrigo. -
Weblogic Message Bridge Producing Duplicate JMS Messages
We have a message bridge that we use to integrate with TIBCO. The message bridge is deployed on a WL cluster. We see duplicate JMS messages produced by the bridge when it is deployed on the cluster. We don't see this behavior when only one ManagedServer in the cluster is active,.
TIBCO version: 4.4.3 V5
WLS: 10.3.3 with patch for bug BUG8732539 (BQC6)
java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Oracle JRockit(R) (build R28.0.0-679-130297-1.6.0_17-20100312-2121-linux-x86_64, compiled mode)
We are also seeing a lot of exceptions related to
<May 27, 2011 4:11:57 PM PDT> <Warning> <Connector> <BEA-190032> << eis/jms/WLSConnectionFactoryJNDIXA > ResourceAllocationException thrown by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "javax.resource.ResourceException: Failed to start the connection ">
However the bridge is active. We are monitoring the message-out count on TIBCO and we observed that we see duplicates whenever there a message is re-delivered. We opened a case with Oracle support and they suggested patch 10258751 which didn't help. The next suggestion was a patch for "Bug 11852771 - [WLS10.3.2]MISSING AND DUPLICATE IN JMS QUEUE MESSAGE MONITORING" but I don't think it will help since our JMS consumers are getting duplicate messages and this is not just a UI issue.
Here is the message behavior when we send a single message:
Timelines
11:34:17 --> Message sent to TIBCO EMS queue
11:34:17 --> WL MS3 throws an javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMFAIL : Resource manager is unavailable exception
11:34:17 --> WL MS1 says it got the message and committed the transaction
11:34:17 --> Message is visible in the JMS queue in the admin console
11:34:17 --> TIBCO EMS has still not received an ACK from WL for the message
11:34:31 --> TIBCO EMS resends the same JMS message to WL
11:34:31 --> WL MS2 says it got the message and committed the transaction
11:34:31 --> WL MS1 throws an javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMFAIL : Resource manager is unavailable exception
11:34:31 --> Message is visible in the JMS queue in the admin console (At this point there are two messages in the JMS queue)
11:34:31 --> TIBCO EMS has still not received an ACK from WL for the message
11:34:54 --> TIBCO EMS resends the same JMS message to WL
11:34:31 --> WL MS4 says it got the message and committed the transaction
11:34:31 --> WL MS2 throws an javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMFAIL : Resource manager is unavailable exception
11:34:31 --> Message is visible in the JMS queue in the admin console (At this point there are three messages in the JMS queue)
11:34:31 --> TIBCO EMS receives an ACK from WL for the message
MS04
####<May 27, 2011 11:34:54 AM PDT> <Debug> <MessagingBridgeRuntime> <> <MS04> <[ACTIVE] ExecuteThread: '109' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-6A59E8FE76C4FC4CA149> <> <1306521294611> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) received message:
JMS Message Class: TextMessage
JMSMessageID: ID:MS01.4B044DDFEE1F1:25354AD
JMSCorrelationID: null
JMSDeliveryMode: PERSISTENT
JMSDestination: Queue[SourceQueue1]
JMSExpiration: 0
JMSPriority: 4
JMSRedelivered: true
JMSReplyTo: null
JMSTimestamp: 1306521256905 (Fri May 27 11:34:16 PDT 2011)
JMSType: null
Transaction Id: BEA1-6A59E8FE76C4FC4CA149
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:54 AM PDT> <Debug> <MessagingBridgeRuntime> <MS04> <MS04> <[ACTIVE] ExecuteThread: '109' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-6A59E8FE76C4FC4CA149> <> <1306521294611> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) successfully sent message:
JMS Message Class: TextMessage
Old JMS MessageID: ID:MS01.4B044DDFEE1F1:25354AD
New JMS MessageID: ID:<193654.1306521294611.0>
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
MS03
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257342> <BEA-000000> <Bridge MessageBridge1 Successfully got connection to the target destination>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257343> <BEA-000000> <Bridge MessageBridge1: both source and target adapters support XA = true>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257343> <BEA-000000> <Bridge MessageBridge1 supportsMDBTX = false supportsXA = true async = true>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257343> <BEA-000000> <Bridge MessageBridge1 WorkMode = Exactly-once>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntimeVerbose> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257343> <BEA-000000> <Bridge MessageBridge1 Entering processMessages() ------ >
####<May 27, 2011 11:34:17 AM PDT> <Error> <MessagingBridge> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-3AA29116A4CA622834EA> <> <1306521257343> <BEA-200015> <An error occurred in bridge "MessageBridge1" during the transfer of messages (java.lang.Exception: 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': XAER_RMFAIL : Resource manager is unavailable
javax.transaction.xa.XAException: Internal error: XAResource 'eis/jms/WLSConnectionFactoryJNDIXA' is unavailable
at weblogic.transaction.internal.XAResourceDescriptor.checkResource(XAResourceDescriptor.java:948)
at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:634)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1227)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:507)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:434)
at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:117)
at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
at $Proxy62.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1431)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:200)
at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
at $Proxy62.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1431)
at $Proxy62.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1431)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMFAIL : Resource manager is unavailable
javax.transaction.xa.XAException: Internal error: XAResource 'eis/jms/WLSConnectionFactoryJNDIXA' is unavailable
at weblogic.transaction.internal.XAResourceDescriptor.checkResource(XAResourceDescriptor.java:948)
at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:634)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1227)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:507)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:434)
at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:117)
at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
at $Proxy62.receive(Unknown Source)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1431)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1185)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:507)
at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:434)
at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:117)
... 8 more
).>
####<May 27, 2011 11:34:17 AM PDT> <Warning> <MessagingBridge> <MS03> <MS03> <[ACTIVE] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521257344> <BEA-200026> <Bridge "MessageBridge1" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was java.lang.Exception: MessagingBridgeException: Messaging bridge operation failed
.)>
MS02
####<May 27, 2011 11:34:31 AM PDT> <Debug> <MessagingBridgeRuntime> <MS02> <MS02> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-679AF074F381152F047C> <> <1306521271386> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) received message:
JMS Message Class: TextMessage
JMSMessageID: ID:MS01.4B044DDFEE1F1:25354AD
JMSCorrelationID: null
JMSDeliveryMode: PERSISTENT
JMSDestination: Queue[SourceQueue1]
JMSExpiration: 0
JMSPriority: 4
JMSRedelivered: true
JMSReplyTo: null
JMSTimestamp: 1306521256905 (Fri May 27 11:34:16 PDT 2011)
JMSType: null
Transaction Id: BEA1-679AF074F381152F047C
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:31 AM PDT> <Debug> <MessagingBridgeRuntime> <MS02> <MS02> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-679AF074F381152F047C> <> <1306521271392> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) successfully sent message:
JMS Message Class: TextMessage
Old JMS MessageID: ID:MS01.4B044DDFEE1F1:25354AD
New JMS MessageID: ID:<196075.1306521271386.0>
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:54 AM PDT> <Error> <MessagingBridge> <MS02> <MS02> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521294610> <BEA-200015> <An error occurred in bridge "MessageBridge1" during the transfer of messages (java.lang.Exception: weblogic.transaction.RollbackException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:495)
at weblogic.connector.transaction.outbound.XAWrapper.setTransactionTimeout(XAWrapper.java:457)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.setTransactionTimeout(RecoveryOnlyXAWrapper.java:34)
at weblogic.transaction.internal.XAResourceDescriptor.setXAResourceTransactionTimeoutIfAppropriate(XAResourceDescriptor.java:1422)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1223)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NullPointerException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:485)
... 14 more
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1871)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:330)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:225)
at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:293)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1534)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:495)
at weblogic.connector.transaction.outbound.XAWrapper.setTransactionTimeout(XAWrapper.java:457)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.setTransactionTimeout(RecoveryOnlyXAWrapper.java:34)
at weblogic.transaction.internal.XAResourceDescriptor.setXAResourceTransactionTimeoutIfAppropriate(XAResourceDescriptor.java:1422)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1223)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NullPointerException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:485)
... 14 more
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1185)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
... 2 more
).>
####<May 27, 2011 11:34:54 AM PDT> <Warning> <MessagingBridge> <MS02> <MS02> <[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521294610> <BEA-200026> <Bridge "MessageBridge1" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was java.lang.Exception: MessagingBridgeException: Messaging bridge operation failed
MS01
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS01> <MS01> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-72BC818FE2BB8C2655C6> <> <1306521257536> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) received message:
JMS Message Class: TextMessage
JMSMessageID: ID:MS01.4B044DDFEE1F1:25354AD
JMSCorrelationID: null
JMSDeliveryMode: PERSISTENT
JMSDestination: Queue[SourceQueue1]
JMSExpiration: 0
JMSPriority: 4
JMSRedelivered: false
JMSReplyTo: null
JMSTimestamp: 1306521256905 (Fri May 27 11:34:16 PDT 2011)
JMSType: null
Transaction Id: BEA1-72BC818FE2BB8C2655C6
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:17 AM PDT> <Debug> <MessagingBridgeRuntime> <MS01> <MS01> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-72BC818FE2BB8C2655C6> <> <1306521257542> <BEA-000000> <Bridge: MessageBridge1 (processMessages()) successfully sent message:
JMS Message Class: TextMessage
Old JMS MessageID: ID:MS01.4B044DDFEE1F1:25354AD
New JMS MessageID: ID:<195581.1306521257536.0>
<?xml version="1.0" encoding="UTF-8"?>
<commands ...
>
####<May 27, 2011 11:34:31 AM PDT> <Error> <MessagingBridge> <MS01> <MS01> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521271384> <BEA-200015> <An error occurred in bridge "MessageBridge1" during the transfer of messages (java.lang.Exception: weblogic.transaction.RollbackException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:495)
at weblogic.connector.transaction.outbound.XAWrapper.setTransactionTimeout(XAWrapper.java:457)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.setTransactionTimeout(RecoveryOnlyXAWrapper.java:34)
at weblogic.transaction.internal.XAResourceDescriptor.setXAResourceTransactionTimeoutIfAppropriate(XAResourceDescriptor.java:1422)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1223)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NullPointerException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:485)
... 14 more
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1871)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:330)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:224)
at weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:293)
at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1534)
at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1006)
at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1083)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XAER_RMERR : A resource manager error has occured in the transaction branch
javax.transaction.xa.XAException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:495)
at weblogic.connector.transaction.outbound.XAWrapper.setTransactionTimeout(XAWrapper.java:457)
at weblogic.connector.transaction.outbound.RecoveryOnlyXAWrapper.setTransactionTimeout(RecoveryOnlyXAWrapper.java:34)
at weblogic.transaction.internal.XAResourceDescriptor.setXAResourceTransactionTimeoutIfAppropriate(XAResourceDescriptor.java:1422)
at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1223)
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1161)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.NullPointerException
at weblogic.connector.security.layer.AdapterLayer.setTransactionTimeout(AdapterLayer.java:485)
... 14 more
at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1185)
at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:282)
at weblogic.transaction.internal.XAServerResourceInfo.enlistIfStatic(XAServerResourceInfo.java:181)
at weblogic.transaction.internal.ServerTransactionImpl.enlistStaticallyEnlistedResources(ServerTransactionImpl.java:1565)
at weblogic.transaction.internal.ServerTransactionManagerImpl.dispatchRequest(ServerTransactionManagerImpl.java:551)
at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:132)
at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:34)
at weblogic.messaging.dispatcher.DispatcherServerRef$2.run(DispatcherServerRef.java:111)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
... 1 more
).>
####<May 27, 2011 11:34:31 AM PDT> <Warning> <MessagingBridge> <MS01> <MS01> <[ACTIVE] ExecuteThread: '36' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1306521271384> <BEA-200026> <Bridge "MessageBridge1" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was java.lang.Exception: MessagingBridgeException: Messaging bridge operation failed
.)>@Tom, thanks for your hints and sorry for my delayed response. Here are my answers to your queries…
-- Does messaging work, without any exceptions, when only one bridge is active?
It works fine when only one node of the cluster is active. -- I'm not familiar with Tibco monitoring, but I suspect that the "message-out count on TIBCO" stat doesn't always imply that there's a duplicate message. It could mean that an initial message delivery attempt failed, it's transaction rolled back, and the message was redelivered. Redelivery after a failure is normal - the original delivered message, if one actually made it onto a WebLogic queue, should be discarded by WebLogic when its failed transaction eventually rolls back (before its ever handed to a consumer application).
You are absolutely right. The mismatch in count was due to redelivery attempts. We could see that as soon as we turned on trace in TIBCO-- The posted stack traces look like they may be JVM stdout/stderr scrapes, which are often automatically truncated, for example, see the "... 8 more" listed at the bottom of one of the stack traces below. There might be more information in the full stack trace for the "Resource manager is unavailable" exception. Full traces are logged in each WebLogic Server's log files.
I tried redirecting the output and even set "stdout Stack Trace Depth:" to -1 but I am not albe to see the complete trace.-- The setTransactionTimeout NullPointerException error message looks like it is collateral damage from the original reported "Resource manager is unavailable" exception that's thrown earlier during the enlistResource() step. If you are truly getting duplicates, then I think this is a clue that the bridge is somehow (stupidly) trying to proceed with forwarding the message despite the fact that there's no current transaction on the thread...
I have a case open with Oracle support and we have extensive debugging turned on. Here is what the engineer came back with. There is an issue with XA transactions in JCA adapter when it talks to third party providers like TIBCO. Since the resource names are not unique across the cluster, a XA transaction is started on multiple nodes in the cluster for the same message. All transactions abort but the message is persisted and TIBCO redelivers the message since the connection is severed when the transaction aborts. We were able to reproduce this scenario at will with our setup and Oracle was able to reproduce the issue too. -- Can you check the state of the message on the WebLogic Q? The fact that a message is shown on the WL console doesn't necessarily mean that the state of the message is visible (it could be waiting for the transaction to commit - something that apparently never happens). On the console: Services -> Messaging -> JMS Modules -> [module name] -> [destination name].
Our consumer was getting duplicate messages. This confirms that the console was not giving us incorrect information. The console showed that 2/3/4 messages were in "current" state when we expected only one message. -- Make sure that the bridge's Tibco destination is a Tibco queue not a Tibco topic (it's happened).
Yeah we made sure it was a Queue. -- Can you post your bridge and destination stanzas from your config.xml?
Will try to do this shortly but have to strip out lot of information. -- I vaguely recall that there was a problem with untyped connection factories in Tibco at one point (not sure). You might want to try changing the Tibco configuration to spin-up "XA Queue Connection Factory" instead of just an "XA Connection Factory" (plus modify the bridge configuration accordingly).
We tried this but it didn't eliminate this issue. One thing we did notice however was that the number of rollbacks were greatly reduced.
Here is the workaround that Oracle is suggesting: Create pinned destinations and assign it to a distributed queue. This will keep the transactions local and hence eliminate the duplicate transactions and rollback. We tried it and it eliminated the dups issue. However I discovered another bug during my testing. Our cluster messaging mode is "Unicast" and message forwarding from zero consumer queues to queues with consumers fails. We have four/five nodes in the cluster and two consumer threads. I observed that the zero consumer queues always forward to one queue in the cluster that has consumers. The forwarding stalls when I bring down the node that has consumers. Again, we were able to reproduce this issue at will and Oracle has acknowledged that it is a bug. They've reported that Unicast fails without any warning whereas Multicast fails with a warning in the log. We have observed this message forwarding stalling even with UDQs.
I have another case open for an issue where our message bridges that transfer messages from TIBCO to WLS stalls after sometime. The status is shown as active but it is not doing anything. The server instance shows stuck threads trying to roll back a message. TIBCO logs indicate that it is receiving a request to rollback a transaction but it is not finding the transaction to rollback. The only way to recover from this condition is to restart the cluster. I am fairly confident that he root case for this issue is again the XA transaction issue. I changed our UDQ to pinned destination in one environment and we are no longer seeing dups or bridge stalling there. Hopefully Oracle can resolve the message forwarding issue.Thanks again…. -
Weblogic.transaction.XAException: XAER_RMERR
We have JMS adapter product which uses our own transaction manager to manage an XA global transaction. Using this product we can configure a XA connection and able to produce a message to JMS Queue. Our JMS adapter product works fine with almost all other JMS provider (Sonic, webspere etc) except weblogic. I am using weblogic 9.2. In our code we use to invoke the XAResource() as below
((XAQueueSession)queueSession).getXAResource()
but this throws an error as "can only be called from server". I learnt that in client JVM you can not call getXAResource API directly, rather we should use TxHelper.getClientInterposedTransactionManager(context, serverName). We had introduced following code.
InterposedTransactionManager itm = TxHelper.getClientInterposedTransactionManager(ctx1, "examplesServer");
xaResource = itm.getXAResource();
The above code works fine. Now I am getting XAResource object. But when I produce a message to weblogic JMS Queue, I get the following exception
weblogic.transaction.XAException: XAER_RMERR : A resource manager error has occured in the transaction branch. ClientTM[examplesServer+172.31.91.57:7001+wl_server+t3+].XAResource.commit() fails.
at weblogic.transaction.internal.XAResourceHelper.throwXAException(XAResourceHelper.java:172)
at weblogic.transaction.internal.TransactionManagerImpl$TMXAResource.commit(TransactionManagerImpl.java:993)
at weblogic.transaction.internal.ClientTransactionManagerImpl$ClientTMXAResource.commit(ClientTransactionManagerImpl.java:136)
at com.wm.app.b2b.server.jca.transactions.Tran.commit(Tran.java:209)
at com.wm.app.b2b.server.jca.transactions.Tran.delistResource(Tran.java:482)
at com.wm.app.b2b.server.jca.transactions.TransactionImpl.delistResource(TransactionImpl.java:89)
We are using JDK1.5. I am not sure why we are getting the above exception. Our JMS adapter code works fine with almost all other JMS provider even with XA transaction support. The problem is only with Weblogic JMS server.
Any help on this would be appreciated.
Thanks,
SagarAs per the first exception, XA resource enlistment with foreign TMs is only supported on the server - so you can either use WebLogic transactions, or run the adapter on a WL server. If you'd like to see enhancements in this area, it would help if you contacted WebLogic customer support and asked them to work with the WebLogic JMS product manager (Dave Dabelus).
Tom
Maybe you are looking for
-
URGENT!pls hlpDAC Full Load always in 'Running' status at a particular task
Hi Friends, I started a full load yesterday.There are totally 257 tasks.The load went fine without issues till 248th task.But while executing 249th task(Load into Activity Fact),it is always in 'Running' status and is not getting completed even after
-
How can I partition the remaining space on an external hard drive for use in Time Machine?
I backed up files from my old macbook to this external drive. I want to use all remaing space for time machine on my new Air that runs OSX Lion. Please help
-
HT204291 airplay turned on but mirroring option doesnt appear
I have turned on the Apple TV option via Airplay but the toggle to turn on Mirroring doesnt appear in my Itunes on my computer. I have a 2nd generation Apple TV with up to date software and an IMAC computer version 10.7.4 with up to date software. An
-
I have a Zen Xtra 40 Gig, curently I only use about .2GB for my music part of it has a old copy of my data dri've. In a month my mother is going away for a few months for cancer treatment I told her should could have my player since she has like 00-2
-
Not allow users to disable startup script
I have written a User Login script for indesign and have successfully implemented in Indesign CS3. However, anyone can disable the login script that I have put in the Startup script by modifying the Preference setting of the Indesign. I would be ver