XA Transaction Support In OC4J 10.1.2

Does OC4J support XA transactions using non emulated data sources? Or does 10.1.2 support XA transactions at all (across datasources-db or jms)?

The reason is that the commit coordinator lives in Oracle database for 10.1.2.x case. (you have to confiture the db link to do so)
In OC4J 10.1.3, the transaction manager has been re-implemented and the transaction coordination functionality is now located in OC4J, replacing in-database coordination, which is now deprecated. Also, the middle-tier coordinator is now "heterogeneous", meaning that it supports all XA-compatible resources, not just those from Oracle.
The middle tier coordinator provides the following features:
- Supports any XA compliant resource
- Supports interpositioning and transaction inflow
- Last Resource Commit Optimization
- Recovery Logging
-Frances

Similar Messages

  • Local transaction support when BPEL invokes JCA adapter

    Hi all,
    I've implemented a BPEL process consisting of multiple invoke activities to my (custom) JCA Resource Adapter which connects to an EIS.
    My concern is to support local transactions. Here are some code snippets describing what I've done so far.
    Declare the transaction support at deployment time (ra.xml)
    <transaction-support>LocalTransaction</transaction-support>Implementer class of ManagedConnection interface
    public class MyManagedConnection implements ManagedConnection {
         public XAResource getXAResource() throws ResourceException {
             throw new NotSupportedException("XA Transactions not supported");
         public LocalTransaction getLocalTransaction() throws ResourceException {
             return new MyLocalTransaction(this);
            public void sendTheEvent(int eventType, Object connectionHandle) {
                 ConnectionEvent event = new ConnectionEvent(this, eventType);
                 if (connectionHandle != null) {
                    event.setConnectionHandle(connectionHandle);
                ConnectionEventListener listener = getEventListener();
             switch (eventType) {
              case ConnectionEvent.CONNECTION_CLOSED:
                   listener.connectionClosed(event); break;
              case ConnectionEvent.LOCAL_TRANSACTION_STARTED:
                   listener.localTransactionStarted(event); break;
              case ConnectionEvent.LOCAL_TRANSACTION_COMMITTED:
                   listener.localTransactionCommitted(event); break;
              case ConnectionEvent.LOCAL_TRANSACTION_ROLLEDBACK:
                   listener.localTransactionRolledback(event); break;
              case ConnectionEvent.CONNECTION_ERROR_OCCURRED:
                   listener.connectionErrorOccurred(event); break;
              default: break;
    }Implementer class of LocalTransaction interface
    public class MyLocalTransaction implements javax.resource.spi.LocalTransaction {
         private MyManagedConnection mc = null;
         public MyLocalTransaction(MyManagedConnection mc) {
             this.mc = mc;
         @Overide
         public void begin() throws ResourceException {
             mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_STARTED, mc);
         @Override
         public void commit() throws ResourceException {
             eis.commit(); //eis specific method
             mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_COMMITTED, mc);
         @Override
         public void rollback() throws ResourceException {
             eis.rollback(); //eis specific method
             mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_ROLLEDBACK, mc);
    }Uppon BPEL process completion, MyLocalTransaction.commit() is called. However, localTransactionCommitted(event) fails and I get the following error:
    Error committing transaction:; nested exception is: weblogic.transaction.nonxa.NonXAException: java.lang.IllegalStateException:
    [Connector:199175]This ManagedConnection is managed by container for its transactional behavior and has been enlisted to JTA transaction by container;
    application/adapter must not call the local transaction begin/commit/rollback API. Reject event LOCAL_TRANSACTION_COMMITTED from adapter.Could someone give me some directions to proceed ?
    My current installation consists of:
    1. Oracle SOA Suite / JDeveoper 11g (11.1.1.4.0),
    2. WebLogic Server 10.3.4
    Thank you for your time,
    George

    Hi Vlad, thank you again for your immediate response.
    With regards to your first comment. I already have been using logs, so I confirm that neither javax.resource.spi.LocalTransaction#begin() nor javax.resource.spi.LocalTransaction#commit()
    is called in the 2nd run.
    I think it might be helpful for our discussion if I give you the call trace for a successful (the first one) run.
    After I deploy my custom JCA Resource Adapter, I create a javax.resource.cci.ConnectionFactory through Oracle EM web application and the following methods are called:
    -- MyManagedConnectionFactory()
    (Constructor of the implementer class of the javax.resource.spi.ManagedConnectionFactory interface)
    -- javax.resource.spi.ManagedConnectionFactory#createManagedConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
    -- MyManagedConnection()
    (Constructor of the implementer class of the javax.resource.spi.ManagedConnection interface)
    -- javax.resource.spi.ManagedConnection#addConnectionEventListener(javax.resource.spi.ConnectionEventListener)
    -- javax.resource.spi.ManagedConnection#getLocalTransaction()
    -- MySpiLocalTransaction(MyManagedConnection)
    (Constructor of the implementer class of the javax.resource.spi.LocalTransaction interface)
    -- javax.resource.spi.ManagedConnectionFactory#createConnectionFactory(javax.resource.spi.ConnectionManager)
    -- MyConnectionFactory(javax.resource.spi.ManagedConnectionFactory, javax.resource.spi.ConnectionManager)
    (Constructor of the implementer class of the javax.resource.cci.ConnectionFactory interface)BPEL process consists of multiple invoke activities to my (custom) JCA Resource Adapter which connects to an EIS. Client tester invokes BPEL process, and execution starts.
    Here is the method call trace for the last invoke (after which, commit is executed). The logs for all the rest invocations are identical:
    -- javax.resource.cci.ConnectionFactory#getConnection()
    -- javax.resource.spi.ManagedConnection#getConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
    -- MyConnection(MyManagedConnection)
    (Constructor of the implementer class of the javax.resource.cci.Connection interface)
    -- javax.resource.cci.Connection#close()
    (I don't understand why close() is called here, any idea ?)
    -- javax.resource.cci.ConnectionFactory#getConnection()
    -- javax.resource.spi.ManagedConnection#getConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
    -- MyConnection(MyManagedConnection)
    (Constructor of the implementer class of the javax.resource.cci.Connection interface)
    -- javax.resource.cci.Connection#createInteraction()
    -- MyInteraction(javax.resource.cci.Connection)
    (Constructor of the implementer class of the javax.resource.cci.Interaction interface)
    -- javax.resource.cci.Interaction#execute(javax.resource.cci.InteractionSpec, javax.resource.cci.Record, javax.resource.cci.Record)
    -- javax.resource.spi.LocalTransaction#commit()I would expect that after the last commit() - meaning that BPEL process is done, and its state is "Completed" - Weblogic server would call the following:
    javax.resource.cci.Connection#close()However it doesn't. Do I miss something ?

  • Is XA transactions supported for the SOA Suite 10.1.3.4 on weblogic platfor

    There are 2 weblogic domains 1 & 2. Domain 1 hosts the JMS queue and domain 2 hosts the BPEL process. The BPEL process in domain 2 uses JMS adapter to get messages from domain 1. With queues on Weblogic domain 1, is XA transactions supported for the SOA suite 10.1.3.4 BPEL process JMS Adapter on weblogic domain 2?

    There are 2 weblogic domains 1 & 2. Domain 1 hosts the JMS queue and domain 2 hosts the BPEL process. The BPEL process in domain 2 uses JMS adapter to get messages from domain 1. With queues on Weblogic domain 1, is XA transactions supported for the SOA suite 10.1.3.4 BPEL process JMS Adapter on weblogic domain 2?

  • CAF entity proxies provide Transactional support???

    Hi All,
    We have created entity services, generated proxies so that we can use them in our webdynpro component's. Question here is, does the Generated Proxies of entity services provide Transaction support? or do we need to move all the business logic from webdynpro to CAF Application service?
    Appreciate your time
    Som

    Hi Aliksei,
    Thank you for the reply back.
    Here is the situation:
    We are generating proxy classes for CAF entity objects and using them in WebDynpro for all our custom CRUD operations.
    Is this a good design or move all the CRUD operations to App Service and call it in the webdynpro. What is the exact difference in Updating the CAF Database from WebDynpro (Component controller) and from App Service.
    In what scenario's you use App Service and WebDynpro Component controller with respect to Updating CAF Database.
    Thank you for your time.
    Thanks
    Som

  • Is JMS 1.0.2 Supported in OC4J JMS 10.1.2 adaptor

    Hi
    I am wondering if JMS 1.0.2 is Supported in OC4J JMS 10.1.2 adaptor.
    Thank you
    Wade Adams
    Message was edited by:
    user617346

    Just wanted to update with what I found out incase anyone else needs this information:
    The SRE 505 eGate JMS Reference PDF file, indicates that SRE JMS is compliant with JMS version 1.0.2. In ICAN 505, the JMS server is compliant with JMS version 1.0.2b.
    Also OC4j 10.1.2 adaptor is compliant iwth JMS version1.0.2b.

  • Enable Oracle XA Transaction Support

    Hi everybody. First of all, sorry for my terrible English.
    I've been some problems using COM+ with Personal Oracle 8i (8.1.7.0.0) and SQL Server 2000 and Windows 2000 for development only.
    I have one method that inserts the same data both SQL Server and Oracle (the tables and procedures definitions are identical) and I'm utilizing GetObjectContext method to commit or abort the transactions (the COM component were made in VB). Out of COM+ environment the method works 5x5. The error message is: "-2147168229 - Cannot connect to the transaction manager or the transaction manager is unavailable."
    Checking Microsoft documentation I found an article (http://support.microsoft.com/support/complus/mtsandoracle.asp) telling me to "Enable Oracle XA Transaction Support" so I could have transactional work with Oracle and COM+. OK, just fine.
    Does anyone knows how could I manage it? I am not a DBA nor I know one (an Oracle DBA), but I shall explain to my team how program 2 phase commit between Oracle and SQL Server.
    Thanks in advance, and forgive me the size of this "book". I should be shorter next time...
    null

    Vivek, thanks for the help.
    I am utilizing these versions of Oracle Products:
    Personal Oracle8i Release 8.1.7.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - Production
    Net8 Client 8.1.7.0.0
    Oracle Services for MTS 8.1.7.0.0
    Oracle Provider for OLE DB 8.1.7.2.0
    The provider I first tried was MSDAORA with no success and then ORAOLEDB with no success too.
    But those entries in registry that you sent me were all with Microsoft dll`s. I will try again tomorrow and send you the results
    Thank you again
    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Vivek Raja:
    Renato, firstly what is the interface you use to access Oracle from your COM+ components? If it is OLEDB which provider is in use - MSDAORA or ORAOLEDB? What are the versions in use 8.1.6 or 8.1.7? If you are using MSDAORA as the provider then you will need to add the following key to your registry:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI.
    Under this key add the following registry string values:
    OracleOCILib - oraclient8.dll
    OracleXALib - oraclient8.dll
    OracleSQLLib - orasql8.dll
    If you are using ORAOLEDB as the provider install Oracle Services For MTS 8.1.7. The error you receive seems to point to the fact that the "Distributed Transaction Coordinator" Windows2000 Service is not running.<HR></BLOCKQUOTE>
    null

  • Transaction propagation between OC4J to non-OC4J J2EE container

    I have a OC4J instance 10.1.3.1 containing a stateless session EJB 2.1. This bean call another session EJB in Websphere EJB container. The call goes through but the transaction is not distributed, meaning I cannot roll the transaction back from the OC4J container.
    I have tried all kinds of context factories but it doesen't work. I use a XA datasource to an Oracle DB from the Websphere container.
    Does anyone know how to propagate transactions from an OC4J container to another J2EE container:
    Thanks
    regards
    A Bastell

    You can specify the JNDI properties in your JSP/Java Client to lookup the EJB if it's in a different EJB container than the one provided by the JSP container.
    Rob

  • GlassFish2 JMS (OpenMQ) Transaction Support options in Admin Console

    Anyone knows where can I find a more detailed explanation regarding the various JMS Connection Factory Transaction Support configuration options that can be seen in the GlassFish2 Admin Console? Thanks in advance.

    Please see GlassFish documentation on connector connection pool
    http://docs.sun.com/app/docs/doc/820-7701/create-connector-connection-pool-1?l=en&n=1&a=view
    and GlassFish Administration Guide on relationship between JMS connection factory and connector connection pool
    http://docs.sun.com/app/docs/doc/821-1751/giotd?l=en&a=view
    and JEE Connector specification on Transaction Management Contract. For GlassFish connector question, please post to [email protected]

  • Transaction support for OracleAQQueue

    How is it possible to provide transaction support on OracleAQQueue enqueue and dequeue?
    As far as i can tell, the queue operations are implicitly committed - or maybe im overlooking something fundamental?!

    You may set OracleAQEnqueueOptions.VisibilityMode and/or OracleAQDequeueOptions.VisibilityMode to "OracleAQVisibilityMode.OnCommit" and wrap Enqueue and/or Dequeue operation in a local transaction to get the desired behavior.

  • EJB testing out of container - Ejb3Unit + transaction support?

    I want to use JUnit for some EJB testing and have been looking at EJB3Unit for this. But then I heard that transactions are supported, it this true? If not, good. If true, how do you solve this?

    Hi Debu,
    I searched OTN. I could not find the example you have mentioned. Every time I got the example for a very previous release of OC4J.
    Please help me locate the example you are referring to.
    Thanks
    Vikrant.

  • JSF 1.2 supported in OC4J (JDev 11g)

    Hello Everyone,
    How do you know if your container is supporting jsf 1.2 or not, as am wondering if Embedded OC4J in JDev 11g Technology Preview already supporting JSF 1.2 by default!?

    Hi,
    it does.
    Frank

  • Override EJB 3 transaction interceptor in OC4J 10.1.3 possible?

    Hi
    I'm using OC4J 10.1.3 with EJB 3 container managed transactions. I need to override the default transaction interceptor to add some additionnal logic that needs to be aware that a transaction will be commited, and I don't see any other way to do this since normal interceptors are not aware that a transaction is about to be commited when the method exits. Is there a way to do that?
    TIA
    Eric

    Anybody? Since I'm using Bean Managed Transactions, should the transaction context be propagated through each call? When I do the same kind of test with Container Managed Transactions I can see that the transaction propagation is working... I thought it is supposed to work in both cases, the only difference being that with BMT the bean itself is managing the transaction...
    Please, any help would be greatly appreciated...
    Eric

  • Transaction support

    Hi,
    I'm inserting multiple rows into a table from a large XML document posted to a XSQL page. I would like the update to be handled like "all or nothing". Is it possible to handle the inserts as one transaction ?
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Steven Muench ([email protected]):
    The next release of XSQL Pages will support setting the batch size. This 1.0.2 release is due out after Oracle Openworld, in the second half of October.<HR></BLOCKQUOTE>
    1.0.2 is here. I cannot see batch size settings anywhere. Not documented or left out, or am I blind?
    null

  • JAXB 2.0 Support for OC4J 10.1.3.3

    http://java2go.blogspot.com/2008/01/jaxb-10-vs-20-in-jdeveloper-10g.html
    This blog entry talks about how to get JAXB 2.0 in JDeveloper 10g. I want to know whether JAXB 2.0 is supported or not for OC4J 10.1.3.3, before i start using it in JDeveloper.
    Chandresh.

    Has anyone ever tried using spring web services with oc4j? I tried using JAXB 2.0. But it gives lot of errors while deploying the example.
    Operation failed with error: Error creating bean with name 'messageReceiver' defined in class path resource [org/springframework/ws/samples/airline/ws/applicationContext-ws.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.ws.server.endpoint.adapter.GenericMarshallingMethodEndpointAdapter#0': Cannot resolve reference to bean 'marshaller' while setting bean property 'marshaller'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'marshaller': Invocation of init method failed; nested exception is org.springframework.oxm.jaxb.JaxbSystemException: Provider com.sun.xml.bind.ContextFactory_1_0_1 not found; nested exception is javax.xml.bind.JAXBException: Provider com.sun.xml.bind.ContextFactory_1_0_1 not found - with linked exception: [oracle.classloader.util.AnnotatedClassNotFoundException: Missing class: com.sun.xml.bind.ContextFactory_1_0_1 Dependent class: javax.xml.bind.ContextFinder Loader: oracle.xml:10.1.0_2 Code-Source: /C:/oc4j/lib/xml.jar Configuration: (ignore manifest Class-Path) in META-INF/boot.xml in C:\oc4j\j2ee\home\oc4j.jar This load was initiated at airline.web.airline:0.0.0 using the loadClass() method. The missing class is not available from any code-source or loader in the system.]

  • JCA: Sample Adapter Transaction Support

    Hi guys,
      Could anyone tell me the transaction level supported by Sample Adapter.In the code they are using SAPResourceAdapter to access the J2EE Thread Manager.But in the code it has given that it won't support Local Transaction or XA Resource.
      So what is the Transaction level supported by Sample Adapter.
    regards,
    siva.

    You have to distinguish between 1) the Transaction level support of the J2EE Connector Architecture (JCA) and 2) the internal usage of the J2EE transaction manager.
    Ad 1) the XI docu says <i>JCA resource adapters can provide all kinds of JCA transactions. The Adapter Framework does not use them</i>. That's why the sample adapter uses NoTransaction.
    Ad 2): The transaction manager has to be used for asynchronous processing (QoS Exactly Once). This is used for transaction management inside the adapter. For details see the sample adapter code or the Adapter Development docu http://help.sap.com/saphelp_nw04/helpdata/en/59/59d6409ff68631e10000000a1550b0/content.htm

Maybe you are looking for

  • Passing dynamic internal table into ALV

    I have made one ALV report where i had created one button 'GENERATE'.  ON CLICKING THIS BUTTON the data in the ALV report is downloaded to excel file. i have used this:- CALL METHOD cl_gui_frontend_services=>file_save_dialog     EXPORTING       windo

  • Offline ICE transport error

    Hello, we try to transport KM content via ICE offline mode. For this, we created links to the content folders in ICE Global offer directory. With click on "complete Package" the content archive is generated. When we try to import the file via Content

  • Are these Permission OK?

    When I run repair permissions, these seem to always pop up, even after I just had a huge problem and had to reinstall the OS ... is this OK? In case it matters, this is my mac pro, on which i have a dedicate boot volume with library, system, applicat

  • ITunes Airtunes Apple TV dropout

    Hi I use: MacBook Pro running 10.8.1 Apple TV 3rd gen Airport Express (n) 5GHz Belkin Router I can play music from iTunes to my airport express without any issues at all, no dropouts at all, fabulous. But if I do the same but select Apple TV from iTu

  • Newbie's java function question

    Function to convert Ascii code to character, example in VB is "Chr(13)", then how about in Java or Javascript? Thank you