Does OC4J's built-in JMS support transactions?
I am using Oracle App Server 10.1.3.4 and OC4J 10.1.3.4, with the built-in OC4J JMS implementation. I have created a simple MDB that receives messages in the onMessage() method, and rolls back the transaction by throwing a runtime exception. (I have also tried rolling back the transaction by calling messageDrivenContext.setRollbackOnly().) In either case, the result is the same. The message is basically lost and never redelivered. If the transaction is rolled back, shouldn't the message be added back to the queue for redelivery? I have waited several minutes, and no redelivery ever occurs.
My code looks something like this:
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "ConnectionFactoryJndiName",
propertyValue = "jms/QueueConnectionFactory"),
@ActivationConfigProperty(propertyName = "DestinationName", propertyValue = "jms/MyQueue"),
@ActivationConfigProperty(propertyName = "DestinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "ReceiverThreads", propertyValue = "5")
@TransactionManagement(TransactionManagementType.CONTAINER)
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class BidOptimizeMDB implements MessageListener {
public final void onMessage(final Message msg) {
throw new EJBException();
In jms.xml:
<queue-connection-factory name="jms/QueueConnectionFactory" location="jms/QueueConnectionFactory" />
<queue name="MyQueue" location="jms/SEMBidQueue" persistence-file="MyQueue">
You "care if it is a global transaction" because you use the corresponding annotation .
@TransactionManagement(TransactionManagementType.CONTAINER)
@TransactionAttribute(TransactionAttributeType.REQUIRED)This makes OC4J start a global transaction. Your config uses a non-xa connection factory that does not obey the Transaction Manager and setRollbackOnly does not work for this reason.
There is another problem with your setup.
"For message-driven beans using the OEMS JMS (in-memory or file-based) message service provider, <Required> is supported only if you access this message service provider using the Oracle JMS Connector. For more information, see [Restrictions When Accessing a Message Service Provider Without a J2CA Resource Adapter|http://download.oracle.com/docs/cd/B32110_01/web.1013/b28221/undejdev010.htm#CCHFAAAH]" .
You need to use an instance of JMS Connector (predefined or your own) for proper transaction enlistment of OC4J JMS.
The built-in JMS connector mentioned by you publishes connection factories at the following locations:
OracleASjms/MyXAQCF
OracleASjms/MyQCF
OracleASjms/MyXATCF
OracleASjms/MyTCF
OracleASjms/MyXACF
OracleASjms/MyCF
For your case you need OracleASjms/MyXACF or OracleASjms/MyXACF . Do not bypass the JMS Connector by using the OC4J JMS connection factories such as jms/XAConnectionFactory directly when you intend to use transactions.
Hope this helps.
Gera
Similar Messages
-
Does OC4J 9.0.4 standalone support HTTP clustering?
Does OC4J 9.0.4 standalone support HTTP clustering? If so, could someone point me to the correct documentation for setting this up?
Yes the container supports it. You need to configure it manually using the XML files. The Oc4J Users Guide should document it for you. There's no load balancer capability so you need to use some 3rd party solution such as Web cache, Distributor, etc.
I can't get to the doc site right now so I can't give you the full URL to it. But have a hunt around and you should be able to find it.
cheers
-steve- -
Does standalone OC4J 9i support transaction suspend via TransactionManager?
Hi,
I know (did not try that though) that OC4J 10.1.3 standalone supports transaction suspend/resume using TransactionManager interface. Does OC4J 9i support that as well?
Many thanks,
SaleMahmoud,
The error message, you have posted, seems very clear -- the only valid values are READ_COMMITTED and SERIALIZABLE. This is also documented in the "Oracle9i JDBC Developers Guide and Reference", chapter 19 [Coding Tips and Troubleshooting], in the section entitled "Transaction Isolation Levels and Access Modes". Here is an excerpt:
the Oracle server supports only the TRANSACTION_READ_
COMMITTED and TRANSACTION_SERIALIZABLE transaction isolation levels
As someone who moved from Oracle to Informix, I can tell you from my experience, that different RDBMS's have the same functions, but each works differently. So while you probably needed to use the TRANSACTION_READ_UNCOMMITTED isolation level with "SQL Server", you don't need it for Oracle.
What you need to do is forget how you do things with "SQL Server", and learn how to do things the Oracle way. As you have seen, trying to transfer "SQL Server" code to Oracle doesn't always work.
The Oracle documentation is available from
http://tahiti.oracle.com
Good Luck,
Avi. -
Does OC4J support RMI/IIOP connections ?
Hi,
I have only one question :
Does OC4J support IIOP connections ?
I'd like to connect as EJB client to OLAPService on Oracle9i server (CORBA object), but I can't.
Thanks in advanceThanks for your timely post Debu.
I would like to state that I read and followed the guides (same files as those ponted by the links you just provided) and tried this:
1. Sample J2EE Application using ORMI in OC4J Standalone (this works ok)
2. Same but now using ORMIS (this also works fine)
3. Tried same J2EE App using IIOP; took these steps:
3.1 commented out the rmi.xml security lines,
3.2 enabled ports in internal-settings.xml,
3.3 changed the jndi.properties - now using corbaname URL,
3.4 enabled the IIOP stub generation in the JVM settings at oc4j startup, and finally
3.5 deployed the EAR using the generateIIOP flag.
The result: the exception I posted above
4. Tried with IIOP/SSL, did these steps:
4.1 configured the keystore settings in both internal-settings.xml and ejb_sec.properties
4.2 and added <ior-security-config> config elements to orion-ejb-jar.xml.
The exception here is a little bit different:
client started...
In IIOPInitialContextFactory ..
In IIOPInitialContextFactory getInitialContext..
1/08/2006 07:07:10 PM com.sun.corba.ee.impl.legacy.connection.SocketFactoryConnectionImpl <init>
ADVERTENCIA: ORBUTIL.connectFailure
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:1739)
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:1757)
at com.sun.corba.ee.impl.legacy.connection.SocketFactoryConnectionImpl.<init>(SocketFactoryConnectionImpl.java:74)
at com.sun.corba.ee.impl.legacy.connection.SocketFactoryContactInfoImpl.createConnection(SocketFactoryContactInfoImpl.java:77)
at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:152)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:121)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:214)
at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:345)
at com.sun.jndi.cosnaming.CNCtx.initUsingCorbanameUrl(CNCtx.java:321)
at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:247)
at com.sun.jndi.cosnaming.CNCtx.createUsingURL(CNCtx.java:85)
at com.sun.jndi.url.iiop.iiopURLContextFactory.getUsingURLIgnoreRest(iiopURLContextFactory.java:56)
at com.sun.jndi.url.iiop.iiopURLContextFactory.getUsingURL(iiopURLContextFactory.java:61)
at com.sun.jndi.url.iiop.iiopURLContextFactory.getObjectInstance(iiopURLContextFactory.java:34)
at oracle.j2ee.iiop.IIOPInitialContextFactory.getInitialContext(IIOPInitialContextFactory.java:76)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
at hello.HelloClient.main(HelloClient.java:31)
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
at oracle.oc4j.corba.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:398)
at com.sun.corba.ee.impl.legacy.connection.SocketFactoryConnectionImpl.<init>(SocketFactoryConnectionImpl.java:58)
... 19 more
Caused by: java.net.ConnectException: Connection refused: connect
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:460)
at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
at oracle.oc4j.corba.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:389)
... 20 more
javax.naming.CommunicationException: Cannot connect to ORB [Root exception is org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 20
at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:362)
at com.sun.jndi.cosnaming.CNCtx.initUsingCorbanameUrl(CNCtx.java:321)
at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:247)
at com.sun.jndi.cosnaming.CNCtx.createUsingURL(CNCtx.java:85)
at com.sun.jndi.url.iiop.iiopURLContextFactory.getUsingURLIgnoreRest(iiopURLContextFactory.java:56)
at com.sun.jndi.url.iiop.iiopURLContextFactory.getUsingURL(iiopURLContextFactory.java:61)
at com.sun.jndi.url.iiop.iiopURLContextFactory.getObjectInstance(iiopURLContextFactory.java:34)
at oracle.j2ee.iiop.IIOPInitialContextFactory.getInitialContext(IIOPInitialContextFactory.java:76)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:175)
at hello.HelloClient.main(HelloClient.java:31)
Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:1739)
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:1757)
at com.sun.corba.ee.impl.legacy.connection.SocketFactoryConnectionImpl.<init>(SocketFactoryConnectionImpl.java:74)
at com.sun.corba.ee.impl.legacy.connection.SocketFactoryContactInfoImpl.createConnection(SocketFactoryContactInfoImpl.java:77)
at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:152)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:121)
at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:214)
at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:345)
... 12 more
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
at oracle.oc4j.corba.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:398)
at com.sun.corba.ee.impl.legacy.connection.SocketFactoryConnectionImpl.<init>(SocketFactoryConnectionImpl.java:58)
... 19 more
Caused by: java.net.ConnectException: Connection refused: connect
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:460)
at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
at oracle.oc4j.corba.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:389)
... 20 more
NamingException: Cannot connect to ORB -
Does OC4J 10.1.3.3 container support JSF 1.2
All,
I am spending more than 2 days to solve an error I am getting when I trying to resolve the error :
09/06/29 13:37:35 [SEVERE]: cannot update a configuration file because instantiating application is failed. please correct the instantiating problem and restart oc4j.
Can somebody please clarify if OC4J 10.1.3.3 support JSF 1.2 and which version of rich faces does it support?
ThanksFound a bit more information located here:
http://wiki.glassfish.java.net/Wiki.jsp?page=JavaServerFacesRI
See the section entitled
"Do I have to use a JSP 2.1/Servlet 2.5 container with the Mojarra version 1.2?" which states:
If you're using JSPs for your view descriptions, then yes, you will need to use a JSP 2.1/Servlet 2.5 compliant container. However, if you're using another view technology, such as Facelets or JSFTemplating, you can run JSF 1.2 within a Servlet 2.4 container with out issue.
Now here is the part that may make me look like a newb... not sure if I am "using JSP's for my view descriptions"... what does that mean anyway?
I dont think I am not using Facelets or JSFTemplating. I'm just using standard JSF... All of my pages end in jsp and the standard faces servlet that makes all *.faces requests go through the faces controller servlet. There is really no JSP EL code in my faces pages, just standard jsf tags h:form, f:selectItems, h:inputText etc...
So my question is... am I using JSP's for my view descriptions? -
Does WLI support Transaction on multiple pools ?
hI,
I use WLI 2.0 SP 2.
I am working with JDBC POOL (My Pool) that is different from the WLI Pool.
I run a WLI flow that use some business operations that use 'My Pool'.
When an exception occure and the trnsaction is rolled back the records that
I insert using the 'My Pool' did not rolledback.
When I am using one pool (WLI Pool) all the records are rolled back with no
problems.
Does WLI 2.0 support transaction on multiple jdbc pools ?
Thanxs,
Ronen YaariWhy is it worth 100 hours of your time to remove them?
(While I think_if_ there is a way to do what you want.) -
Hello,
I have a few questions about JMS Support in OC4J 9.0.3. Does the JMS implementation support clustering (load balancing and failover)? Is HTTP tunneling supported for client access to JMS? Is using AQ preferred over using the built in JMS implementation?
Len Takeuchi
Salescentrix.comHi John,
Thank you for your reply. Your reply and pointer to other info is extremely helpful. I was afraid that the questions were so general that no one would answer them.
Regards,
Len
Hi Len,
In 9iAS v9.0.3, OJMS (AQ/JMS) is the J2EE 1.3 compatible JMS provider. See the Oracle Metalink posting for more information
on OC4J/JMS and OJMS at http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=205305.1
Regarding JMS clustering, you need to look both at the JMS client and JMS provider. The JMS client, a servlet or MDB, is contained
within OC4J. The client then has all the high availabilty and load balancing features as does OC4J. I won't go into detail
here on those features since they're well documented on OTN and in the 9iAS documentation.
As for the JMS provider, which in OJMS's case is Oracle's Advanced Queuing, since AQ is in the 9iDB you have all the high availabity (RAC)
and load balancing available that you would normally get with 9iDB.
The closest thing to HTTP tunneling is the use of IDAP with OJMS. Take a look at the Advanced Queuing Developer's Guide for more
information on IDAP.
Hope this helps...
John -
Hi, I'm doing a "proof of concept" on XA transaction spanning two servers.
In order to get it as simple as possible I have configured two servers and
deployed the same MDB on both. I'm also only using JMS resources to simplify
the test.
The goal is to send a message to two different JMS servers (each deployed in
a Weblogic server) both coordinated by an XA UserTransaction started in the
client.
The deployed MDB of each server just listens to a topic and prints out the
received TextMessage.
The configuration is as follows:
* Server 1
Domain name: a
Server name: a00
config.xml (extract):
<JMSServer Name="a.a00.JMSServer" PagingStore="a.a00.JMSFileStore"
Store="a.a00.JMSFileStore" Targets="a00">
<JMSTopic JNDIName="xajms.test.Topic" Name="XA JMS Proof of Concept"
StoreEnabled="true"/>
</JMSServer>
<JMSFileStore Directory="config/a/a00.jmsfilestore"
Name="a.a00.JMSFileStore"/>
<JMSConnectionFactory JNDIName="a.a00.JMSConnectionFactory"
Name="a.a00.JMS Connection Factory" Targets="a00"
UserTransactionsEnabled="true" XAConnectionFactoryEnabled="true"/>
* Server 2
Domain name: b
Server name: b00
config.xml (extract):
<JMSServer Name="b.b00.JMSServer" PagingStore="b.b00.JMSFileStore"
Store="b.b00.JMSFileStore" Targets="b00">
<JMSTopic JNDIName="xajms.test.Topic" Name="XA JMS Proof of Concept"
StoreEnabled="true"/>
</JMSServer>
<JMSFileStore Directory="config/b/b00.jmsfilestore"
Name="b.b00.JMSFileStore"/>
<JMSConnectionFactory JNDIName="b.b00.JMSConnectionFactory"
Name="b.b00.JMS Connection Factory" Targets="b00"
UserTransactionsEnabled="true" XAConnectionFactoryEnabled="true"/>
and here is an extract of client code:
068 UserTransaction utx;
069
070 InitialContext ctx1,ctx2;
071
072 System.out.println("Retrieving initial context for server 1");
073 ctx1 = (InitialContext) getInitialContext(SERVER_1,PORT_1);
074
075 System.out.println("Retrieving initial context for server 2");
076 ctx2 = (InitialContext) getInitialContext(SERVER_2,PORT_2);
077
078 utx = (UserTransaction)
ctx1.lookup("javax.transaction.UserTransaction");
079 utx.setTransactionTimeout(30);
080
081 System.out.println("Begining transaction");
082 utx.begin();
083
084 System.out.println("Sending message to server 1");
085 ref.send(ctx1, JMS_FACTORY_1, args[0]);
086
087 System.out.println("Sending message to server 2");
088 ref.send(ctx2, JMS_FACTORY_2, args[0]);
089
090 System.out.println("Ending transaction...");
091 if (args[1].equals("commit"))
092 utx.commit();
093 else
094 utx.rollback();
end the result of executing it from a third machine:
CASE I:
Retrieving initial context for server 1
Retrieving initial context for server 2
Begining transaction
Sending message to server 1
Sending message to server 2
Ending transaction...
javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
Start server side stack trace:
javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
at
weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:965
at
weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:20
0)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTran
sactionImpl.java:1619)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:217)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
End server side stack trace
<<no stack trace available>>
--------------- nested within: ------------------
weblogic.transaction.RollbackException: SubCoordinator
'b00+127.0.0.1:7001+b+' not available
Start server side stack trace:
javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
at
weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:965
at
weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:20
0)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTran
sactionImpl.java:1619)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:217)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: SubCoordinator
'b00+127.0.0.1:7001+b+' not available - with nested exception:
[javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available]
at
weblogic.transaction.internal.TransactionImpl.throwRollbackException(Transac
tionImpl.java:1524)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:265)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
End server side stack trace
- with nested exception:
[javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
Start server side stack trace:
javax.transaction.SystemException: SubCoordinator 'b00+127.0.0.1:7001+b+'
not available
at
weblogic.transaction.internal.TransactionImpl.abort(TransactionImpl.java:965
at
weblogic.transaction.internal.ServerSCInfo.startPrepare(ServerSCInfo.java:20
0)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrepare(ServerTran
sactionImpl.java:1619)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:217)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
End server side stack trace
at
weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.
java:85)
at
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:136)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy3.commit(Unknown Source)
at
weblogic.transaction.internal.TransactionImpl.commit(TransactionImpl.java:29
4)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java:247)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java:240)
at xajms.client.Send2BothTopics.main(Send2BothTopics.java:110)
real 1m6.530s
user 0m1.380s
sys 0m0.050s
If I swap message sending order the output changes to:
CASE II:
Retrieving initial context for server 1
Retrieving initial context for server 2
Begining transaction
Sending message to server 2
Sending message to server 1
Ending transaction...
weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
Start server side stack trace:
weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
at
weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransaction
Impl.java:1228)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTr
ansactions(ServerTransactionManagerImpl.java:488)
at
weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManag
erImpl.java:1629)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTran
sactionManagerImpl.java:451)
at
weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManage
rImpl.java:1595)
at java.lang.Thread.run(Thread.java:479)
End server side stack trace
<<no stack trace available>>
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Timed out tx=0:8c9a9deee02fe21e
after 30 seconds
Start server side stack trace:
weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
at
weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransaction
Impl.java:1228)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTr
ansactions(ServerTransactionManagerImpl.java:488)
at
weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManag
erImpl.java:1629)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTran
sactionManagerImpl.java:451)
at
weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManage
rImpl.java:1595)
at java.lang.Thread.run(Thread.java:479)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Timed out tx=0:8c9a9deee02fe21e
after 30 seconds - with nested exception:
[weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds]
at
weblogic.transaction.internal.TransactionImpl.throwRollbackException(Transac
tionImpl.java:1524)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTra
nsactionImpl.java:265)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransaction
Impl.java:189)
at
weblogic.transaction.internal.CoordinatorImpl.commit(CoordinatorImpl.java:68
at
weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:360)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:329)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
2)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
End server side stack trace
- with nested exception:
[weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
Start server side stack trace:
weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds
at
weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransaction
Impl.java:1228)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTr
ansactions(ServerTransactionManagerImpl.java:488)
at
weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManag
erImpl.java:1629)
at
weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTran
sactionManagerImpl.java:451)
at
weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManage
rImpl.java:1595)
at java.lang.Thread.run(Thread.java:479)
End server side stack trace
at
weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.
java:85)
at
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:136)
at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
at $Proxy3.commit(Unknown Source)
at
weblogic.transaction.internal.TransactionImpl.commit(TransactionImpl.java:29
4)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java:247)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManag
erImpl.java:240)
at xajms.client.Send2BothTopics.main(Send2BothTopics.java:110)
real 1m32.231s
user 0m1.390s
sys 0m0.030s
not to be said that I have "some" questions about it:
1. Why it doesn't work?
2. Why order of message sending brings two different results?
3. In CASE I:
What is the meaning of the exception "javax.transaction.SystemException:
SubCoordinator 'b00+127.0.0.1:7001+b+' not available"
Why is it using the loopback (127.0.0.1) ip? Is that code being runned
inside the server with the SERVER_2 (192.168.1.3) ip?
4. In case II:
How is that the message of the exception is
"weblogic.transaction.internal.TimedOutException: Timed out
tx=0:8c9a9deee02fe21e after 30 seconds" when it's clear the program took
more than one and a half minutes to execute?
Most of the time is spent after printing the "Ending transaction..." line.
The first part of the program is executed in a few seconds (about 2 or 3 it
depends of the time to get initial context against both servers)
I'm really puzzled with this. I don't know what to think about it. Is this
so weird nobody have tried something like this?
I have done some other test for which the results are:
a) Commenting lines related to UserTransaction (82,91-94)
It works OK. Both servers receive the message.
b) Commenting lines 85 or 88 (related to sending messages to each server)
It works OK. Both servers receive the message. I pressume there is no
"real" XA transaction as there is only one resource involved on it.
c) In CASE I launching the client with "rollback" as second parameter I
neither get any exception nor messages are delivered which would be OK
d) In CASE II launching the client with "rollback" as second parameter I get
a "javax.transaction.SystemException: Timeout during rollback processing"
and messages are not delivered.
Any idea?. I really need this to work in order to free our server for heavy
asyncronous loads and deploy new stuff on it.
PS.
I attach both servers config.xml files and both MDB and client full code. If
you are going to test it you must add a new user and group to weblogic
default file realm:
New user: subscriber
New group: xajms
of course you must add the new user to the new group in order to make it
work.
Here are the lines extracted from server's domain "fileRealm.properties"
file reflecting the new user and group (defined on ejb-jar.xml and
weblogic-ejb-jar.xml files on the "role" section):
group.xajms=subscriber
user.subscriber=0x6b9a704bebc709dd083edd61ed000236eb23987f
The client receives two parameters. The first one is a string to be sent as
message body, the second one is either "commit" or "rollback" just to test
XA transaction doing it's work as expected.
Thanks in advance.
Regards.
Ignacio.
[xajmspoc.zip]
do you connect to 10g database inside onBusinessEvent using Non-XA/XA connection??. I guess it could be bcoz of Non-XA connection (or) XA Without Global Transaction support, and this connection is listed with the transaction manager and it is trying to commit it after onMessage.
For Global Transactions options, go to your weblogic console and check the following path.
(Datasource -> Advanced Options -> Global Transactions -> Honor Global Transactions should be true)
Let me know if you need any help
Rao Kotha. -
Does the GeoRaster method SDO_GEOR.exportTo support the Erdas IMG format?
Hi Everyone,
Does the GeoRaster method SDO_GEOR.exportTo support the Erdas IMG format, and SDO_GEOR.exportTo method can export what maximum amount of data?
Best Regards,
LinLin, thanks for your suggestion. the gdal-georaster integration is a great one for GIS and professional usages and can do what exportTo can not do even though it was just recently available. note though, all existing georaster functions, including exportTo, are internally built inside the database server from ground up. this enables users to fully leverage the power of enterprise database and grid computing.
thanks
jeffrey -
Does Mini DisplayPort to VGA adapter support DDC/CI?
I have a Mac Pro and a MacBook5,1.
Mac Pro is attached to a BenQ monitor which supports DDC/CI communication.
With a capable software I'm able to set brightness and contrast of the monitor without using monitor's OSD (thanks to DDC/CI communication).
If I attach the same monitor to my MacBook5,1 with VGA cable through a Mini DisplayPort to VGA adapter, DDC/CI stops working.
I'm no more able to set brightness and contrast and the app reports that monitor isn't DDC/CI capable.
I'm sure its not an issue related to the app that I'm using to set brightness and contrast. It detects correctly both of the monitor (the internal and the external one) and I'm sure that I'm sending DDC/CI commands to the external monitor and not to the internal one.
So, does Mini DisplayPort to VGA adapter support DDC/CI, and therefore passthrough its signal?
Or is it a problem of MacBook and its Mini DisplayPort which does not support DDC/CI at all? I don't think so.
I hope you can help me.
Regards
AndreaNo. Unlike DVI, which in the DVI-I configuration has both digital and analog pinouts, DisplayPort (and mini-DisplayPort) are purely digital. Mini-DP to DVI then DVI to VGA will not work. If you look carefully at the Apple Mini-DisplayPort to DVI adapter, you'll notice it's a DVI-D connector - digital pins only.
The Apple mini-DisplayPort to VGA adapter contains a digital-to-analog converter.
So, you'll have to choose. If you want VGA, get Apple's mini-DisplayPort to VGA adapter. -
It seems like I just missed the interval for the hard disk replacement program. I purchased in March 2009 a 24 inch Intel iMac . How much does it cost to have apple support at an Apple Store replace a hard drive?
My hard drive continually has the floating beach ball and will take massive time to fulfill a request. And then will not boot up...so then I have to do a restore and rebuild hard drive from a past saved time machine version. Works for a little bit...then the floating beachball comes more and more...until it will not boot up again. So then I restore from a previous time machine saved version....and again it works for a day or so ... until it happens again. Now it's happening faster and faster...so I think my hard drive is dying.
-
SOLVED - BIOS UPDATE "SYSTEM DOES NOT CONTAIN the NECESSARY WMI SUPPORT for this VERSION of HPQflash
If you get infamous error when updating HP Portables (laptops/notebooks/ netbooks) BIOS within Windows:
"SYSTEM DOES NOT CONTAIN THE NECESSARY WMI SUPPORT FOR THIS VERSION OF HPQFLASH":
I am posting a solution found for own business laptop (HP 8540W & 8760W) so WebSearch engines index/register it in a few days - future sufferers come here and get a SOLUTION, finally. Disreagrd previous "experts" advises, they don't work 100% & pity on TechSupport folks who get HP paychecks yet don't know products their co. designs/manufactures (on deep Technical level):
Below is a SOLUTION (WORKING) !
Go into Services (Run "services.msc" or get there thru ControlPanel-->AdminTools-->), find following 2 services ==> make sure they're running, chances are they're NOT (as in my case I keep them disabled unless need running):
1) "HP Software Framework"
2) "HP Service" [no typo - a real plain name]
If not running, set Properties-->Manual and click "Start", make sure both are running.
Rerun BIOS updater, choose option for "Within Windows" or something to that effect (using HPQ/ROMpaq updater), rather than "create USB BootDisk on Key", this time it should work without the hassle of a BootDisk creation.
Should work from within Windows environment.
Notes:
a) Likely only one (1) service is responsible - namely "HP Software Framework" for HPQ Updater to fail, but doesn't hurt to reenable/restart both services.
I in fact am responding to other customers who elect to Update BIOS within Windows, perhaps oldfashioned but to me Boot Updater is more natural & always works regardless of WMI Support.
b) After done, don't forget:
*) Recheck BIOS settings - update may've added new and/or changed old, so rescan tobe sure.
**) Go BACK into Windows-->Services.msc & redisable both aforementioned Services if were originally disabled; or you're a computer Pro, you know what you're doing & like me keep all HP services disabled. The ones we got on EliteBook 8760W are pests consuming system resources, you just enable "Software Framework" when occasional issues emerge with HP softupdate (typically no issues) & redisable after use, rest of services are bloatware - some attempt to overrun Windows Wireless console, some seekout HP Networked printers (Ethernet, Wireless, but not USB), some do this & that - I study/know which one does what and decided to disable all. This is called a "minimalist" philosophy & turns your machine into a fast beast, I recently sold a very obsolete 4-year laptop which however handles 3DMCAD & complex designs/simulations, better new machines out fo a store, as new machines are loaded w/bloatware chocking down resources.
BUT nobody is requiring you to disable anything though.
The solution merely states the fact:
These 2 (or 1) services when not running halt BIOS Update "within Windows" (you can still run "BootDisk option", however, if preferred).
Simply restartung them solves your problem. Usually
Ya'll have a good day and enjoy!
===========
BELOW ARE IMPORTANT WARNINGS:
1) IF YOUR BIOS UPDATE STILL FAILS, SOME OTHER PIECE IN WMI SUPPORT IS MISSING - IN MY CASE WAS THESE 2 SERVICES, BUT THERE'S REMOTE POSSIBILITY SOMETHING ELSE MIGHT BLOCK UPDATER. DON'T WASTE TIME & CHOOSE "USB/BootDisk" options instead
2) Once BIOS updater does its job, will ask to auto-restart - let it go on & complete, it will self-shutdown (click "Next" to skip 60-second timer), then do NOT turn it on manually!, wait - it'll turn on by itself in 15 seconds, let it boot into Windows, you're done!
3) WARNING: close other apps before proceeding, be 100% sure your ACpower won't be interrupted or better yet - make sure battery is in/charged (so if ACpower accidentally disconnects, you're autoswitched onto battery) b/c power loss may result in severe damage to internal hardware. In the old days it'd result in fatal damage, these days powerloss would still result in a major repair (ROM chip corruption).
So to summarize: those 2 services I specified, are often responsible for whether HPQ/ROMpaq will or won't run.
Other causes possible, but I've not witnessed; and if so - choose BootDisk option.
===
Stan M. Starinski, MSEE.Hello Ceramics.
Your ProBook is an Enterprise model. It would be a good idea to also post your question to the HP Business Boards as those forums deal specifically with that kind of product. Here is a link.
Have a great day!
Please click the white star under my name to give me Kudos as a way to say "Thanks!"
Click the "Accept as Solution" button if I resolve your issue. -
Does OS Lion 10.7.5 support Airplay mirror of Apple TV 3? I can't find the option in Setting>Display on my mid 2012 MacBook Pro.
I've rebooted all 3 devices, still does not work. Both Apple TV and MBP are on the same wifi. And the Apple TV AirPlay option is on. Can someone help? Thank you.About AirPlay and Airplay Mirroring
AirPlay Mirroring requires a second-generation Apple TV or later, and is supported on the following Mac models: iMac (Mid 2011 or newer), Mac mini (Mid 2011 or newer), MacBook Air (Mid 2011 or newer), and MacBook Pro (Early 2011 or newer). For non-qualifying Macs you can try using Air Parrot.
Several Apple Articles Regarding AirPlay
Apple TV (2nd and 3rd gen)- How to use AirPlay Mirroring
How to set up and configure AirPort Express for AirPlay and iTunes
About AirPlay Mirroring in OS X Mountain Lion
iTunes 10- About playing music with AirPlay
Troubleshooting AirPlay and AirPlay Mirroring
Using AirPlay
Thanks to the $15 Beamer, AirPlay streaming is still possible on Macs that do not support Airplay and mirroring.
Another solution is the Air Parrot. -
Does Adobe Flex 4.6 SDK supports multithreading?
Hi,
As we are using Adobe Flex 4.6 sdk for our vmware vcenter plug-in development. we need to handle the situations like updating the data in multiple panels and portlets of a dashboard simultaneously.
So we are thinking to implement this using multithreading concept.
I am hearing flex doesn't support multi-threading, some workers constructors will give flavor of the multi-threading in flex.
It will be helpful if you provide some information about
1. Does Adobe Flex 4.6 SDK supports multithreading? If so how to implement?
2. How to use Workers in flex and what are the limitations?
Thanks and Regards,
Sravan Kumar.https://forums.adobe.com/message/4562551
-
Does USD NACHA CCD Plus Format support one single payment with one vendor?
Hi,
We are implementing USD NACHA CCD Plus Format file for my customer.
Have the following query:
Does USD NACHA CCD Plus Format support one single payment with one vendor and another single payment with
different vendor in single file or will it generate two files for two payments or will it support single payment only.
Can anyone help us in this regard.
Thanks,Venkat.I have created one invoice1 with one vendor and another invoice 2 with
different vendor processed the PPR using USD NACHA CCD Plus Format .
Both two payments came single file.
But we know that USD NACHA CCD Plus Format support Single Payment only.
Can anyone help us in this regard.
Thanks,Venkat
Maybe you are looking for
-
Union All with Linked Servers - Works until loaded on to the report server then fails.
Hi, On our production server I have 2 linked servers. One that leads to ServiceNow via ODBC and one that leads to an HP Openview database. Testing these linked servers works fine. I have a query that obtains info from each source and 'union all' to
-
i have a 700 page document, which are patents a company has done. I need to re order the pages so instaed of the title number, the date is used which is in a different text field. The only problem is the date is formatted 10-sep-03 will I have to re
-
Purchase Order Tax Determination
Hi Experts, We have a scenario for taxes in our Purchase Order that I need help understanding. Our Plant is based in the the NJ within the US. Occasionally, we purchase items from a Vendor based in NJ; however, the Supplier is based in PA. In this
-
Can't download safari onto my Imac. Why not?
Trying to switch from firefox to safari but imac won't let me download it. Help!
-
HT5176 How do you go to "next line" or RETURN key in dictation on an iPad3?
Using dictation on an iPad3 - how do you go to a new line (same as hitting the return key)?