Transactions Pool

Dear All
i have a Pool Form in my project and about 30 or 40 processors work in the pool form at the same time.
My question is : what is the best way for how to control pending transactions and avoid lock problems between them ?
Many Thanks
Edited by: ORA ORA on Dec 18, 2010 1:17 AM

This is not really a Forms question, but an Application Server question. Try posting your question in the Oracle Application Server - General forum.
Craig...

Similar Messages

  • Newbie: Simple Reads, Transactions, Pooling and Code Form

    I am currently refactoring a set of code (assembly) called by a windows service that provides persistence to an Oracle DB (DataAccessComponent). The motivation for the request to perform this work was to reduce connections to the Oracle DB.
    The most salient cause I believe of the excessive connections is the intermingling of ODP and the MS.Net Oracle provider. This has been removed and all code now utilizes ODP.
    My problem: The DataAccessComponent undergoing a refactor itself depends (half of the code access methods) heavily on another external assembly that was created to manage all access to the Oracle DB (DataManagment). This DataManagment component Requires a call to its own BeginTransaction() method. This BeginTransaction() behavioral facade then proceeds to create a new OracleConnection then OracleTransaction and adds it to an internal STACK. From what I can tell this stack is and its Transactions are initially independent of an OracleCommand. Then when a Command is executed in this DataManagment component it checks its internal state/stack for an active Transaction and either: joins the currently executing internally-referenced Transaction if it has not been committed or POPs the STACK for an available Transaction. The ostensible reason (assumptions) for this architecture are a) a joined Transaction only utilizes one Connection to the Oracle DB - thereby minimizing connections and b) an attempt to execute two Transactions on a single Connection will (reportedly) cause an exception and c) served as a basis for a home-grown code data access code generation tool.
    The side effects (as I see them) of utilizing this external DataManagment assembly (with its Transaction stack) are that even simple ExecuteReader() (database read only) must participate in a Transaction (indeed create one if none exists). Furthermore, in my more familiar MS SQL .Net provider world, the general rule I believe is that the .Net provider takes care of caching the Connection and two separate Transactions that attempt execute a command at roughly the same time (overlap) will not throw an exception. Furthermore, I am not accustomed to wrapping simple database reads in Transactions - seems like overkill to me.
    My preferred method of performing reads and writes to Oracle would be to utilize what I know of ADO styled data access in general:
    using(OracleConnection conn = new OracleConnection(ConnectionString))
         using(OracleCommand cmd = new OracleCommand(SqlStatementString,conn))
              cmd.CommandType = CommandType.Text;
              cmd.Connection.Open();
              using(OracleDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                   while(rdr.Read())
                        //Do something with reader data
                   rdr.Close();
         //Should I call conn.Close();
    using (OracleConnection conn = new OracleConnection(ConnectionString))
         using (OracleCommand cmd = new OracleCommand(OraclePackageString, conn))
              cmd.CommandType = CommandType.StoredProcedure;
              //cmd.Parameters.Add(...);
              //cmd.Parameters.Add(...);
              cmd.Connection.Open();
              using(OracleTransaction tran = cmd.Connection.BeginTransaction())
                   try
                        cmd.ExecuteNonQuery();
                        tran.Commit();
                   catch
                        tran.Rollback();
                        //Handle exception
         //Should I call conn.Close();
    So I have done some research and know that Transactions are scoped to connections. Do that mean that if the above two routines execute simultaneously they will a) create two separate connections? b) throw an exception?
    Furthermore, if I call two of the second routines (Transacted) simultaneously with I a) get an exception? b) create two separate connections?
    And lastly, if I am calling a bunch of the first type of routine above (non-transacted, read-only) will I a) create a new connection with every call? b) use the same ODP provider cache connection?
    Also most of these access routines that do writes, only update a single table and row. If that’s all that is being done and I am not participating in Save Points for rollback do I need a transaction on the writes at all? (Given that I would need to respond to an exception as part of the application logic)
    I am not familiar with Oracle connection pooling so I am also not sure if I should be implicitly calling Dispose() on the Connection object(s) above -> which in turn calls Close() or even calling close manually. I read in a post on these boards that if you are running connection pooling you should leave the connection open?
    Any help much appreciated... I
    Thanks, Brad

    I may not be able to answer all of your questions but I can certainly attempt to answer your questions related to connection pooling. Based on the code samples you posted, I do not see any threading issue with connection or transaction since you are always creating a new connection object and always a new txn.
    Once you are done with the connection, you should call conn.Close() so that the underlying session returned to the ODP.NET connection pool as you need not keep connection open to utilize ODP.NET connection pooling. Obviously, in your sample, you are using the "using" clause which will implicitly dispose the connection object hence you do not need to call Close here as Dispose should close the connection.

  • Container Managed XA transaction failing to rollback

              We are running two distributed instances of WL 6.0 SP1, each with their own domain,
              each accessing their own Oracle 8.1.5 database instance.
              Server 1 has the following transaction configuration:
              JDBC Transaction Pool Driver - weblogic.jdbc.oci.xa.XADataSource
              Server 2 is using the oracle thin driver, a non-XA datasource, as it's JDBC datasource.
              The JDBCTxDataSource has the attribute 'EnableTwoPhaseCommit' set to 'true'.
              The deployment descriptor's <transaction-type> is set to 'container' and the <trans-attribute>
              is set to 'required' in both of the server's session beans.
              A test is performed where server 1 calls a method on server 2, via the remote
              interface, to insert a record in server 2's database. A call is then made to
              a session bean in Server 1 to insert a record in server 1's database. In the call
              to Server 1's bean a system level error, 'EJBException', is thrown to test if
              the XA transaction driver will rollback the record inserted during the initial
              call to server 2 - it does not. However, if the method sessionContext.setRollbackOnly()
              is explicity called in the catch () block of server 1's method, where the call
              to server 2 was made, the rollback is successful on server 2.
              Is there a problem using the oracle thin driver or can the problem be related
              to the version of Oracle we are using, 8.1.5 and the fact it does not support
              JDBC 2.0? An additional note - if all goes well both data sources are successfully
              updated.
              Thanks,
              Keith Denson
              

              We are running two distributed instances of WL 6.0 SP1, each with their own domain,
              each accessing their own Oracle 8.1.5 database instance.
              Server 1 has the following transaction configuration:
              JDBC Transaction Pool Driver - weblogic.jdbc.oci.xa.XADataSource
              Server 2 is using the oracle thin driver, a non-XA datasource, as it's JDBC datasource.
              The JDBCTxDataSource has the attribute 'EnableTwoPhaseCommit' set to 'true'.
              The deployment descriptor's <transaction-type> is set to 'container' and the <trans-attribute>
              is set to 'required' in both of the server's session beans.
              A test is performed where server 1 calls a method on server 2, via the remote
              interface, to insert a record in server 2's database. A call is then made to
              a session bean in Server 1 to insert a record in server 1's database. In the call
              to Server 1's bean a system level error, 'EJBException', is thrown to test if
              the XA transaction driver will rollback the record inserted during the initial
              call to server 2 - it does not. However, if the method sessionContext.setRollbackOnly()
              is explicity called in the catch () block of server 1's method, where the call
              to server 2 was made, the rollback is successful on server 2.
              Is there a problem using the oracle thin driver or can the problem be related
              to the version of Oracle we are using, 8.1.5 and the fact it does not support
              JDBC 2.0? An additional note - if all goes well both data sources are successfully
              updated.
              Thanks,
              Keith Denson
              

  • On Threads, Pools and other beasts

    I'm seeing some unexpected behaviours in our production system relating to
    (AFAICS) threads and connection pools, and hope you could bring some info
    about them.
    Our system is built over 4 PIII Xeon processors under Linux.
    We do currently have this configuration:
    15 threads for the "default" queue and 10 for an special servlet one, we
    decided to separate threads in two queues in order to assure our users get
    always a thread besides what the rest of the system is "doing".
    Even we do not have a lot of users (about 20 or so) they do generate a lot
    of load as for the bussiness logic inherent to the application.
    For sample, so you can understand what goes with practically any user
    "action", think on this.
    After a user "confirms" some data via a servlet and after executing the data
    validation and bussines rules some messages are sent via JMS to the
    "asynchronous" part of the system (that is running in the same weblogic
    instance). After commiting the user transaction an thus releasing the
    servlet thread, so it can be used by the same or other user, JMS messages
    are delivered to MDBs that must transform information from on-line (servlet)
    processes in different ways so they can be stored onto other systems, i.e.
    into a mainframe, into an XML DB and possibly into another RDBMS. Our
    configuration is that there can be as much as 10 MDB of each type (I mean
    for each kind of "action" of a servlet) running concurrently and as you can
    suppose those processes do take some time to communicate with destination
    systems and perform their work.
    We end at last with a lot of concurrent processes in our system that ends
    some time with the users complaining about system responsiveness.
    After all this explanation I would like to know if 25 threads for
    "background" and on-line processes is too low (as I'm afraid they are). The
    problem is we can't seem to increase the number of threads without being
    very careful with JDBC connection pools.
    Currently we have two connection pools. We do demarcate transactions in the
    clients (servlets, batch processes) we have a "transacted" pool and a "non
    transacted" one.
    We are delegating persistence to the contanier (formally in our case we are
    using TopLink persistence and it uses in it's deployment descriptor both
    types of pools)
    Our configuration is as follows:
    Oracle pool NON Tx 60 connections
    Oracle pool Tx 30 connections
    initially we create 5 connections for each pool with an increment of 5 for
    each one too.
    From the tests I have made I have discovered that setting more threads than
    the minimum amount of pools yields to this exception:
    weblogic.common.ResourceException: No available connections in pool
    myNonTxPool
    at
    weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:57
    8)
    at
    weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:40
    5)
    at
    weblogic.common.internal.ResourceAllocator.reserveNoWait(ResourceAllocator.j
    ava:373)
    at
    weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:165
    at
    weblogic.jdbc.common.internal.ConnectionPool.reserveNoWait(ConnectionPool.ja
    va:126)
    at
    weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.
    java:194)
    at
    weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java
    :219)
    the behaviour I would expect is that in case a thread needs a connection and
    there isn't any one available the thread may be blocked and it would receive
    the connecion once one is released, of course as I can see in the stack the
    ConnectionPool.reserveNoWait() method is behaving just the other way.
    The main problem with this is that as you can see we are "forced" to spend
    90 (60+30) connections to the DB (even we will never use more than 25
    (15+10) simultaneously just because we must assure that at least there is
    one "reserved" connection to each thread.
    Our DBA thinks that it can't be possible that we spend such number of
    connections that could be taken by another application(s) (as the DB is
    shared with other apps)
    Currently our DB system is not set as "multithreaded" so each connection
    created against the DB is a process on the system and of course they are a
    really scarce resource.
    My question is. What would be a "fine" number of threads for an application
    like this that is mainly "background-batch processing" but assuring on-line
    users have their threads always available?
    I have just another doubt (maybe this is not the right thread to ask for it
    but...) how does the UserTransaction actually works? I mean, is the
    connection given to the thread (and thus extracted from pool) as soon as the
    thread begin it's work? or is it given in the instant of "commiting" to the
    DB. I know maybe using TopLink changes default Weblogic CMP behaviour but I
    would like to know what the "default" Weblogic behaviour is; and, what
    happens when you don't start a transaction in the client and total execution
    time exceeds 30 seconds? I have seen a rollback due to "exceeding" those 30
    seconds althought I'm sure we do not open any transaction, what kind of
    "transaction" is that? Is just a way of Weblogic to assure a thread is not
    "locked" more than a certain period of time so the system never "stalls"?
    Thanks in advance.
    Regards.
    Ignacio.

    Hi Ignacio,
    See my answer inline.
    "Ignacio G. Dupont" <[email protected]> wrote in message
    news:[email protected]...
    I'm seeing some unexpected behaviors in our production system relating to
    (AFAICS) threads and connection pools, and hope you could bring some info
    about them.
    Our system is built over 4 PIII Xeon processors under Linux.
    We do currently have this configuration:
    15 threads for the "default" queue and 10 for an special servlet one, weThat numbers defines number of concurrent requests services
    associated with that queues can handle. If monitoring CPU utilization
    shows that CPU load is not high, let say less than 90%, - you can increase
    that numbers.
    decided to separate threads in two queues in order to assure our users get
    always a thread besides what the rest of the system is "doing".
    Even we do not have a lot of users (about 20 or so) they do generate a lot
    of load as for the bussiness logic inherent to the application.>
    For sample, so you can understand what goes with practically any user
    "action", think on this.[eaten]
    We end at last with a lot of concurrent processes in our system that ends
    some time with the users complaining about system responsiveness.You will have to run a load test in your QA environment and play with queue
    sizes. In addition, you may want to run a profiler (like JProbe or
    OptimizeIt)
    for maximum load to find if there are bottlenecks in the application.
    After all this explanation I would like to know if 25 threads for
    "background" and on-line processes is too low (as I'm afraid they are).The
    It all depends of the usage pattern. I'd say that for a production
    environment
    with any noticeable load, it's low.
    problem is we can't seem to increase the number of threads without being
    very careful with JDBC connection pools.Yes, you will have to increase size of the pools to match maximum
    number of ongoing transactions. Minimum would be a number of execution
    threads. Actual number should be determined either by load testing or
    by setting it to a guaranteed high level.
    Currently we have two connection pools. We do demarcate transactions inthe
    clients (servlets, batch processes) we have a "transacted" pool and a "non
    transacted" one.
    We are delegating persistence to the contanier (formally in our case weare
    using TopLink persistence and it uses in it's deployment descriptor both
    types of pools)
    Our configuration is as follows:
    Oracle pool NON Tx 60 connections
    Oracle pool Tx 30 connections
    initially we create 5 connections for each pool with an increment of 5 for
    each one too.
    From the tests I have made I have discovered that setting more threadsthan
    the minimum amount of pools yields to this exception:That's quite natural.
    weblogic.common.ResourceException: No available connections in pool
    myNonTxPool[eaten]
    the behaviour I would expect is that in case a thread needs a connectionand
    there isn't any one available the thread may be blocked and it wouldreceive
    That would lock exec threads very quickly. A connection pool is a vital
    resource that is to be available constantly. So weblogic uses fail-fast
    approach so that you can adjust setting to match highest load.
    the connecion once one is released, of course as I can see in the stackthe
    ConnectionPool.reserveNoWait() method is behaving just the other way.>
    The main problem with this is that as you can see we are "forced" to spend
    90 (60+30) connections to the DB (even we will never use more than 25
    (15+10) simultaneously just because we must assure that at least there is
    one "reserved" connection to each thread.That's right.
    Our DBA thinks that it can't be possible that we spend such number of
    connections that could be taken by another application(s) (as the DB is
    shared with other apps)I don't think it's a correct observation. Oracle can be configured to handle
    more connections. I saw weblogic pools configured to handle 200
    connections.
    Currently our DB system is not set as "multithreaded" so each connection
    created against the DB is a process on the system and of course they are a
    scarce resource.Application demand for resources should be satisfied.
    My question is. What would be a "fine" number of threads for anapplication
    like this that is mainly "background-batch processing" but assuringon-line
    users have their threads always available?It should be high enough to satisfy requirement to handle given number
    of concurrent requests processed on given hardware. Normally this
    is determined by load testing and gradual increase of this number
    to the point where you see that hardware (seen as CPU load)
    cannot handle it. Buy the way this point sometimes is unreachable
    as application becomes DB-bound, i.e. bottleneck is shifted to
    the database.
    I have just another doubt (maybe this is not the right thread to ask forit
    but...) how does the UserTransaction actually works? I mean, is the
    connection given to the thread (and thus extracted from pool) as soon asthe
    thread begin it's work? or is it given in the instant of "committing" tothe
    It's given when a connection, assuming it's obtained from TxDatasource,
    is requested.
    DB. I know maybe using TopLink changes default Weblogic CMP behavior but I
    would like to know what the "default" Weblogic behavior is; and, what
    happens when you don't start a transaction in the client and totalexecution
    time exceeds 30 seconds? I have seen a rollback due to "exceeding" those30
    seconds although I'm sure we do not open any transaction, what kind of
    "transaction" is that? Is just a way of Weblogic to assure a thread is notFor instance, stateful session beans are transactional.
    "locked" more than a certain period of time so the system never "stalls"?Basically, no, it's not. There is no way to "unlock" thread after certain
    period.
    So when a queue has finished processing, TX monitor checks the timeout,
    and if there is one, issues a corresponding rollback. So, it's possible
    for thread to run for 10 hours if the timeout is 30 seconds.
    Since 7.0 weblogic is capable of detecting such situations so that
    administrator can be informed about it and required actions can be
    taken [on application side].
    Hope this helps.
    Regards,
    Slava Imeshev

  • Multiple connection pools problem

    Hi,
    Here is the problem. We use several connection pools to access differents
    schema of our database. We also have a connection pool
    opened for Weblogic Commerce which connects to the Commerce schema in our
    database. Here is a sample of our weblogic.properties file:
    #========================================================
    # WeblogicCommerce pool and data source
    #========================================================
    weblogic.jdbc.connectionPool.commercePool=\
    url=jdbc:oracle:thin:@careon_dev:1521:careon,\
    driver=oracle.jdbc.driver.OracleDriver,\
    loginDelaySecs=1,\
    initialCapacity=2,\
    maxCapacity=10,\
    capacityIncrement=1,\
    allowShrinking=true,\
    shrinkPeriodMins=15,\
    testConnsOnReserve=true,\
    props=user=WLCS_TEST;password=WLCS_TEST,\
    testTable=WLCS_IS_ALIVE,\
    refreshMinutes=5
    weblogic.allow.reserve.weblogic.jdbc.connectionPool.commercePool=everyone,
    CareonDev
    weblogic.jdbc.DataSource.weblogic.jdbc.jts.commercePool=commercePool
    #========================================================
    # WeblogicCommerce Document Management pool
    #========================================================
    # This is the pool the beans reference
    weblogic.jdbc.connectionPool.docPool=\
    url=jdbc:beasys:docmgmt:com.beasys.commerce.axiom.document.ref.RefDocumentPr
    ovider,\
    driver=com.beasys.commerce.axiom.document.jdbc.Driver,\
    loginDelaySecs=1,\
    initialCapacity=2,\
    maxCapacity=10,\
    capacityIncrement=1,\
    allowShrinking=true,\
    shrinkPeriodMins=15,\
    refreshMinutes=10,\
    props=jdbc.url=jdbc:weblogic:pool:commercePool;\
    jdbc.isPooled=true;\
    weblogic.t3.waitForConnection=true;\
    weblogic.t3.waitSecondsForConnection=999999999999;\
    docBase=C:/WebLogicCommerce/dmsBase/;\
    schemaXML=C:/WebLogicCommerce/dmsBase/doc-schema.xml
    weblogic.allow.reserve.weblogic.jdbc.connectionPool.docPool=everyone,
    CareonDev
    # Add the show doc servlet
    weblogic.httpd.register.ShowDocServlet=com.beasys.commerce.content.ShowDocSe
    rvlet
    #========================================================
    # Careon's CDRpool and data source
    #========================================================
    weblogic.jdbc.connectionPool.cdrPool=\
    url=jdbc:oracle:thin:@careon_dev:1521:careon,\
    driver=oracle.jdbc.driver.OracleDriver,\
    initialCapacity=2,\
    maxCapacity=10,\
    capacityIncrement=2,\
    allowShrinking=true,\
    shrinkPeriodMins=15,\
    refreshMinutes=10,\
    testTable=dual,\
    props=user=test;password=test
    weblogic.allow.reserve.weblogic.jdbc.connectionPool.cdrPool=everyone,
    CareonDev
    Inpredictably, we obtain the following error:
    java.sql.SQLException: Connection has already been created in this tx
    context for pool named commercePool. Illegal attempt to create connection
    from another pool: cdrPool
    Does anybody have a solution or at least pointers ?
    Many thanks,
    Olivier

    Goh Yew Yap wrote:
    >
    Is there any workaround for this?Yes. In 6.0, presuming you use XA-compliant JDBC drivers
    for the DBMS or DBMSes involved, transactions will be able
    to involve any number of pools/DBMSes in a transaction.
    For 5.1 and/or for DBMSes that do not have an XA-compliant
    JDBC driver, you can write BMP beans that will do their own
    JDBC access to all but one DBMS, using the non-transactional
    pool driver, and you will be fully responsible for any
    transactional state involving this under-the-covers JDBC.
    This is easy to do in cases where a second DBMS is used
    primarily for queries, not updates, so the non-JTS-managed
    JDBC access can't corrupt that DBMS.
    Joe
    >
    "Joseph Weinstein" <[email protected]> wrote in message
    news:[email protected]...
    Olivier Baujard wrote:
    Hi,
    Here is the problem.
    Inpredictably, we obtain the following error:
    java.sql.SQLException: Connection has already been created in this tx
    context for pool named commercePool. Illegal attempt to create connection
    from another pool: cdrPoolHi. This means that within a single JTS/EJB transaction, there weremultiple
    beans and/or JSPs etc that got JDBC connections to do work, but not all ofthese
    routines asked for a connection from the same pool. That's a requirementfor
    5.1 or 4.5. The transaction coordinator and JTS driver cooperate to ensurethat
    only one JDBC connection is really ever used in a given transaction. Ifmultiple
    beans ask for a pool connection within a given tx, we ensure that theyreally get
    the same connection. This is because JDBC drivers typically don'timplement
    2-phase commit, so we must enforse that only one DBMS connection isinvolved so we
    can just commit or roll back on it, and ensure transactional correctness.If a
    bean asks for a connection from a different pool than a previous bean inthe same
    tx, we know we can't give them the already-established connection, so wethrow
    this exception.
    For 6.0, for pools made with XA-compliant JDBC drivers, this will be OK.
    Joe
    We use several connection pools to access differents
    schema of our database. We also have a connection pool
    opened for Weblogic Commerce which connects to the Commerce schema in
    our
    database. Here is a sample of our weblogic.properties file:
    #========================================================
    # WeblogicCommerce pool and data source
    #========================================================
    weblogic.jdbc.connectionPool.commercePool=\
    url=jdbc:oracle:thin:@careon_dev:1521:careon,\
    driver=oracle.jdbc.driver.OracleDriver,\
    loginDelaySecs=1,\
    initialCapacity=2,\
    maxCapacity=10,\
    capacityIncrement=1,\
    allowShrinking=true,\
    shrinkPeriodMins=15,\
    testConnsOnReserve=true,\
    props=user=WLCS_TEST;password=WLCS_TEST,\
    testTable=WLCS_IS_ALIVE,\
    refreshMinutes=5
    weblogic.allow.reserve.weblogic.jdbc.connectionPool.commercePool=everyone,
    CareonDev
    weblogic.jdbc.DataSource.weblogic.jdbc.jts.commercePool=commercePool
    #========================================================
    # WeblogicCommerce Document Management pool
    #========================================================
    # This is the pool the beans reference
    weblogic.jdbc.connectionPool.docPool=\
    url=jdbc:beasys:docmgmt:com.beasys.commerce.axiom.document.ref.RefDocumentPr
    ovider,\
    driver=com.beasys.commerce.axiom.document.jdbc.Driver,\
    loginDelaySecs=1,\
    initialCapacity=2,\
    maxCapacity=10,\
    capacityIncrement=1,\
    allowShrinking=true,\
    shrinkPeriodMins=15,\
    refreshMinutes=10,\
    props=jdbc.url=jdbc:weblogic:pool:commercePool;\
    jdbc.isPooled=true;\
    weblogic.t3.waitForConnection=true;\
    weblogic.t3.waitSecondsForConnection=999999999999;\
    docBase=C:/WebLogicCommerce/dmsBase/;\
    schemaXML=C:/WebLogicCommerce/dmsBase/doc-schema.xml
    weblogic.allow.reserve.weblogic.jdbc.connectionPool.docPool=everyone,
    CareonDev
    # Add the show doc servlet
    weblogic.httpd.register.ShowDocServlet=com.beasys.commerce.content.ShowDocSe
    rvlet
    #========================================================
    # Careon's CDRpool and data source
    #========================================================
    weblogic.jdbc.connectionPool.cdrPool=\
    url=jdbc:oracle:thin:@careon_dev:1521:careon,\
    driver=oracle.jdbc.driver.OracleDriver,\
    initialCapacity=2,\
    maxCapacity=10,\
    capacityIncrement=2,\
    allowShrinking=true,\
    shrinkPeriodMins=15,\
    refreshMinutes=10,\
    testTable=dual,\
    props=user=test;password=test
    weblogic.allow.reserve.weblogic.jdbc.connectionPool.cdrPool=everyone,
    CareonDev
    Inpredictably, we obtain the following error:
    java.sql.SQLException: Connection has already been created in this tx
    context for pool named commercePool. Illegal attempt to createconnection
    from another pool: cdrPool
    Does anybody have a solution or at least pointers ?
    Many thanks,
    Olivier--
    PS: Folks: BEA WebLogic is in S.F. with both entry and advanced positionsfor
    people who want to work with Java and E-Commerce infrastructure products.Send
    resumes to [email protected]
    The Weblogic Application Server from BEA
    JavaWorld Editor's Choice Award: Best Web Application Server
    Java Developer's Journal Editor's Choice Award: Best Web ApplicationServer
    Crossroads A-List Award: Rapid Application Development Tools for Java
    Intelligent Enterprise RealWare: Best Application Using a ComponentArchitecture
    http://www.bea.com/press/awards_weblogic.html
    PS: Folks: BEA WebLogic is in S.F. with both entry and advanced positions for
    people who want to work with Java and E-Commerce infrastructure products. Send
    resumes to [email protected]
    The Weblogic Application Server from BEA
    JavaWorld Editor's Choice Award: Best Web Application Server
    Java Developer's Journal Editor's Choice Award: Best Web Application Server
    Crossroads A-List Award: Rapid Application Development Tools for Java
    Intelligent Enterprise RealWare: Best Application Using a Component Architecture
    http://www.bea.com/press/awards_weblogic.html

  • Questions about entity bean caching/pooling

    We have a large J2ee app running on weblogic6.1 sp4. We are using entity beans
    with cmp/cmr. We have about 200 EntityBeans and accessed quite heavily. We are
    struggling with what is the right setting of max-beans-in-cache and idle-time-out.
    The current max heap setting is 2GB. With the current setting (default setting
    of max-beans-in-cache to 1000, with a few exceptions to take care of cachefullexceptions)
    we run into extended gc happening after about 4 hours. The memory freed gradually
    reduces with time and lurks around the 30% mark after about 4 hours of run at
    the expected load. In relation to this we had the following questions
    1. What does caching mean?
    a. If a bean with primary key 100 exists in the cache, and the following
    is done what is expected
    i. findByPrimaryKey(100)
    ii. findBySomeOtherKey(xyz)
    which results in loading up bean with primary key 100
    iii. cmr access to bean with
    primary key 100
    Is the instance in the cache reused at all between transactions?
    If there is minimal reuse of the beans in cache, Is it fair to assume that caching
    can only help loading of beans within a transaction. If this is the case, is there
    any driver to increase the max-beans-in-cache other than to avoid CacheFullException?
    In other words, is it wrong to say that max-beans-in-cache should be set to the
    minimum value so as to avoid CacheFullExceptions.
    2. Again what is the driver of setting idle-time-out to a value? ( We currently
    have it at 30 secs) Partly the answer to this question would again go back to
    what amount of reuse is done from cache? Is it right to say that it should be
    set to a very low value? (Why is the default 10 min?)
    3. Can you provide us any documentation that explains how all this works
    in more detail, particularly in relevance to entity beans. We have already read
    the documentation from weblogic as is. Anything to give more explicit detail?
    Any tools that can be of use.
    4. What is the right parameter (from among the things that weblogic console
    throws up) to look at for optimizing?
    Thanks in advance for your help
    Cheers
    Arun

    The behaviour changes according to these descriptor settings: concurrency-strategy,
    db-is-shared and include-updates.
    1. If concurrency-strategy is Database, then the database is used to provide locking
    and db-is-shared is ignored. A bean's ejbLoad() is called once per transaction,
    and the 'cache' is really a per-transaction pool. A findByPrimaryKey() always
    initially hits the db, but can use the cache if called again in the same txn (although
    you'd simply just pass a reference around). A findByAnythingElse() always hits
    the db.
    2. If concurrency-strategy is ReadOnly then the cache is longer-term: ejbLoad()
    is only called when the bean is activated; thereafter, the number of times ejbLoad()
    is called is influenced by the setting of read-timeout-seconds. A findByPrimaryKey()
    can use the cache. A findByAnythingElse() can't.
    3. If concurrency-strategy is Exclusive then db-is-shared influences how many
    times ejbLoad() is called. If db-is-shared is false (i.e. the container has exclusive
    use of the underlying table), then the ejbLoad() behaviour is more like ReadOnly
    (2. above), and the cache is longer-term. If db-is-shared is true, then the ejbLoad()
    behaviour is like Database (1. above).
    Exclusive concurrency reduces ejbLoads(), increases the effectiveness of the cache,
    but can reduce app concurrency as only one instance of an entity bean can exist
    inside the server, and access to it is serialised at the txn level.
    You can't use db-is-shared = false in a cluster. So Exclusive mode is less useful.
    That's when you think long and hard about Tangosol Coherence (http://www.tangosol.com)
    4. If include-updates is true, then the cache is flushed to the db before every
    non-findByPrimaryKey() finder call so the finder (which always hits the db) will
    get the latest bean values. This overrides a true setting of delay-updates-until-end-of-tx.
    The max-beans-in-cache setting refers to the maximum number of active beans (really
    beans that have been returned by a finder in a txn that hasn't committed). This
    wasn't checked in SP2 (we have an app that accidently loads 30,000 beans in a
    txn with a max-beans-in-cache of 3,000. Slow, but it works, showing 3,000 active
    beans, and 27,000 passivated ones...).
    This setting is checked in SP5, but I don't know about SP4. So you do need to
    size appropriately.
    In summary:
    - The cache isn't nearly as useful as you'd like. You get far more db activity
    with entity beans than you'd like (too many ejbLoads()). This is disappointing.
    - findByPrimaryKey() finders can use the cache. How long the cache is kept around
    depends on concurrency-strategy.
    - findByAnythingElse() finders always hit the db.
    WebLogic 8 tidies all this up a bit with a cache-between-transactions setting
    and optimistic locking. But I believe findByAnythingElse() finders still have
    to hit the db - ejbql is never run against the cache, but is always converted
    to SQL and run against the db.
    Hope this is of some help - feel free to email me at simon-dot-spruzen-at-rbos-dot-com
    (you get the idea!)
    simon.

  • Data sources in deploying web app. to Oracle Application Server

    I am using simple web application - JSP with BC4J (JDeveloper 9.0.5.1).
    I want to configure my application to use Data Source instead of JDeveloper connection and deploy it to production database, so DB administrator will take care of username and password.
    First, I create a new application module configuration that uses a data source instead of a JDeveloper connection with BC config. name TestAppModuleWithDS.
    Then I modify my application client (DataBindings.cpx) to use the new configuration (TestAppModuleWithDS).
    After that I create deployment profile and deploy to application server connection and try to test it on standalone server, and on production server together with my DBA.
    But the application is not running, always displaying error messages...
    Please what is the procedure and how to set Config of ApplModule.
    It is working properly with embeded server, but on standalone server there is an error:
    java.lang.UnsupportedClassVersionError: oracle/jdeveloper/cm/ConnectionDescriptor (Unsupported major.minor version 48.0)
         at java.lang.ClassLoader.defineClass0(Native Method)
         at java.lang.ClassLoader.defineClass(Unknown Source)
         at java.security.SecureClassLoader.defineClass(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.OC4JSecureClassLoader.defineClassEntry(OC4JSecureClassLoader.java:172)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].naming.ContextClassLoader.defineClass(ContextClassLoader.java:1154)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].naming.ContextClassLoader.findClass(ContextClassLoader.java:390)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].naming.ContextClassLoader.loadClass(ContextClassLoader.java:138)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at oracle.jbo.common.ampool.PoolMgr.createPool(PoolMgr.java:271)
         at oracle.jbo.common.ampool.PoolMgr.findPool(PoolMgr.java:473)
         at oracle.jbo.common.ampool.ContextPoolManager.findPool(ContextPoolManager.java:165)
         at oracle.jbo.http.HttpContainer.findSessionCookie(HttpContainer.java:817)
         at oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doStartTag(ApplicationModuleTag.java:169)
         at lastcoil.jspService(_testjsp.java:52)
         [SRC:/testjsp.jsp:11]
         at com.orionserver[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:349)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Unknown Source)
    Application module in testjsp.jsp (_testjsp.java) is:
    oracle.jbo.html.jsp.datatags.ApplicationModuleTag __jsp_taghandler_1=(oracle.jbo.html.jsp.datatags.ApplicationModuleTag)OracleJspRuntime.getTagHandler(pageContext,oracle.jbo.html.jsp.datatags.ApplicationModuleTag.class,"oracle.jbo.html.jsp.datatags.ApplicationModuleTag id configname releasemode");
    __jsp_taghandler_1.setParent(null);
    __jsp_taghandler_1.setId("TestAppModule");
    __jsp_taghandler_1.setConfigname("test.TestAppModule.TestAppModuleWithDS");
    __jsp_taghandler_1.setReleasemode("Stateful");
    __jsp_tag_starteval=__jsp_taghandler_1.doStartTag();
    if (OracleJspRuntime.checkStartTagEval(__jsp_tag_starteval))
    DataBindings.cpx is configured like this:
    ?xml version='1.0' encoding='windows-1252' ?>
    <JboProject
    id="DataBindings"
    xmlns="http://xmlns.oracle.com/adfm/application"
    version="9.0.5.15.88"
    SeparateXMLFiles="false"
    Package=""
    ClientType="JClient" >
    <Contents >
    <DataControl
    id="TestAppModule"
    SubType="DCBC4J"
    SupportsFindMode="true"
    SupportsTransactions="true"
    Package="test"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    Configuration="TestAppModuleWithDS" >
    <Parameters >
    <Parameter
    name="Sync"
    value="Batch" >
    </Parameter>
    </Parameters>
    </DataControl>
    </Contents>
    </JboProject>
    D:\JDeveloper10\j2ee\home\config\data-sources.xml je:
    <?xml version="1.0" standalone='yes'?>
    <!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://xmlns.oracle.com/ias/dtds/data-sources.dtd">
    <data-sources>
         <!--
              An example/default DataSource that uses
              Oracle JDBC-driver to create the connections.
              This tag creates all the needed kinds
              of data-sources, transactional, pooled and EJB-aware sources.
              The source generally used in application code is the "EJB"
              one - it provides transactional safety and connection
              pooling. Oracle thin driver could be used as well,
              like below.
              url="jdbc:oracle:thin:@host:port:sid"
         -->
         <data-source
              class="com.evermind.sql.DriverManagerDataSource"
              name="OracleDS"
              location="jdbc/OracleCoreDS"
              xa-location="jdbc/xa/OracleXADS"
              ejb-location="jdbc/OracleDS"
              connection-driver="oracle.jdbc.driver.OracleDriver"
              username="scott"
              password="tiger"
              url="jdbc:oracle:thin:@localhost:5521:oracle"
              inactivity-timeout="30"
         />
         <data-source
              class="com.evermind.sql.DriverManagerDataSource"
              name="TestAppModuleWithDS"
              location="jdbc/hmlCoreDS"
              xa-location="jdbc/xa/hmlXADS"
              ejb-location="jdbc/hmlDS"
              connection-driver="oracle.jdbc.driver.OracleDriver"
              username="user1"
              password="psw1234"
              url="jdbc:oracle:thin:@server.com:1521:sidname"
              inactivity-timeout="30"
         />
    D:\HotStripMill Projects\bc4j\src\lastcoil\common\bc4j.xcfg
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BC4JConfig>
    <AppModuleConfigBag>
    <AppModuleConfig name="TestAppModuleWithDS">
    <DeployPlatform>LOCAL</DeployPlatform>
    <JDBCDataSource>jdbc/hmlCoreDS</JDBCDataSource>
    <jbo.project>bc4j</jbo.project>
    <AppModuleJndiName>test.TestAppModule</AppModuleJndiName>
    <java.naming.factory.initial>oracle.jbo.common.JboInitialContextFactory</java.naming.factory.initial>
    <ApplicationName>test.TestAppModule</ApplicationName>
    </AppModuleConfig>
    </AppModuleConfigBag>
    <ConnectionDefinition name="hml">
    <ENTRY name="JDBC_PORT" value="1521"/>
    <ENTRY name="ConnectionType" value="JDBC"/>
    <ENTRY name="HOSTNAME" value="server.com"/>
    <ENTRY name="user" value="user1"/>
    <ENTRY name="ConnectionName" value="hml"/>
    <ENTRY name="SID" value="sidname"/>
    <ENTRY name="JdbcDriver" value="oracle.jdbc.driver.OracleDriver"/>
    <ENTRY name="password">{904}05437B2C11AE10318B521E7C6EE279666E</ENTRY>
    <ENTRY name="ORACLE_JDBC_TYPE" value="thin"/>
    <ENTRY name="DeployPassword" value="true"/>
    </ConnectionDefinition>
    </BC4JConfig>
    </data-sources>
    Thanks!

    iAS 1.0.x is StoneAge Technology (TM).
    Using the E-Business Suite you should look into the newer versions of the Application Server. I believe that 10.1.2.x supports the EBS, otherwise 9.04 should do the trick. Webservice support is much better in the newer versions. 1.0.x is from around 2000/2001 so the Webservice technology back than was "different" :-)
    cu
    Andreas

  • Application Server Data Source settings help needed (10.1.2.0.2)

    Hi,
    Can someone tell me what maximum values can I set in the following properties under Connection Attributes when I define a DataSource on
    Application Server. I have almost 25+ web application deployed on my 10.1.2.0.2 server that all uses one data source I have defined. Now the issue is the number of requests
    are very high and every now and then I get timeout error when trying to get the database connection. At one particular instance at peak time I may get over 200+ requests that
    do some databse connections etc. Following are my current settings. But need to increase some more but wondering what are the maximum values I can have. I have only one server 10.1.2.0.2
    Connection Retry Interval (seconds) = 5
    Max Connection Attempts = 3
    Cached Connection Inactivity Timeout (seconds) = 30
    Maximum Open Connections = 60
    Minimum Open Connections = 10
    Wait For Free Connection Timeout (seconds) = 15
    What other properties can I have to make use of datasource effectively.
    Thanks

    Here is the copy of my datasources.xml.
    <?xml version = '1.0' standalone = 'yes'?>
    <!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://xmlns.oracle.com/ias/dtds/data-sources-9_04.dtd">
    <data-sources>
      <!--
                An example/default DataSource that uses
                Oracle JDBC-driver to create the connections.
                This tag creates all the needed kinds
                of data-sources, transactional, pooled and EJB-aware sources.
                The source generally used in application code is the "EJB"
                one - it provides transactional safety and connection
                pooling. Oracle thin driver could be used as well,
                like below.
                url="jdbc:oracle:thin:@host:port:sid"
           -->
      <data-source class="com.evermind.sql.DriverManagerDataSource" name="OracleDS"
                   location="jdbc/OracleCoreDS" xa-location="jdbc/xa/OracleXADS"
                   ejb-location="jdbc/OracleDS"
                   connection-driver="oracle.jdbc.driver.OracleDriver"
                   username="scott" password="tiger"
                   url="jdbc:oracle:thin:@//localhost:1521/oracle.regress.rdbms.dev.us.oracle.com"
                   inactivity-timeout="30"/>
      <!-- For SQL Server -->
      <data-source location="jdbc/TestDS"
                   class="com.microsoft.jdbcx.sqlserver.SQLServerDataSource"
                   password="pwd" xa-location="jdbc/TestDS"
                   ejb-location="jdbc/TestDS"
                   connection-driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
                   username="usr"
                   url="jdbc:microsoft:sqlserver://someloc99:1433/DevelopmentAp"
                   inactivity-timeout="30" name="jdbc/TestDS"
                   connection-retry-interval="5" max-connections="50"
                   max-connect-attempts="3">
        <description>jdbc/TestDS</description>
        <property name="DatabaseName" value="DevelopmentAp"/>
        <property name="serverName" value="someloc99"/>
      </data-source>
    </data-sources>I also tried changing max-connections="0" it did helped but still after sometime I get timeout while connecting to the database. Don't know if it's with SQL Server that is not letting that many concurrent connections/sessions or something on the Application Server side.
    Thanks
    Message was edited by:
    WhiteSox
    Message was edited by:
    WhiteSox

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

  • When restarting server after a crash, Messaging bridges are not starting

    Hi,
    We have Messaging bridge configured with Exactly-Once QOS to read messages from IBM Websphere MQ to Weblogic distributed Queue. We are using Weblogic 10gR3.
    1. We killed the weblogic server which was reading message from source destination(IBM MQ). We did this to check whether any message is lost when a server crashes.
    2. Then we restarted the weblogic application server and checked the weblogic messaging bridge status.
    3. The messaging bridge was not started properly and the following Exception was thrown.
    ####<Apr 22, 2010 4:09:11 PM BST> <Error> <MessagingBridge> <machineA> <desb03-ms11> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <BEA1-056A9014D88E2BE368B7> <> <12312323333> <BEA-200015> <An error occurred in bridge "BRIDGE" during the transfer of messages (javax.resource.ResourceException: Failed to setup the Resource Adapter Connection for enlistment in the transaction, Pool = 'eis/jms/WLSConnectionFactoryJNDIXA', javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': 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:941)
    at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:630)
    at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1182)
    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1116)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:511)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:438)
    at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:118)
    at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
    at $Proxy87.receive(Unknown Source)
    at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1427)
    at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1002)
    at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1079)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    .).>
    ####<Apr 22, 2010 4:09:11 PM BST> <Warning> <MessagingBridge> <machineA> <desb03-ms11> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1271948951881> <BEA-200026> <Bridge "BRIDGE" 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 weblogic.jms.bridge.internal.MessagingBridgeException.)>
    ####<Apr 22, 2010 4:09:12 PM BST> <Info> <MessagingBridge> <machineA> <desb03-ms11> <[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1271948952726> <BEA-200020> <Bridge "BRIDGE" is stopped.>
    Please give your suggestions to fix this issue.
    Thanks!
    Edited by: user11340353 on 28-Apr-2010 06:34

    Hi,
    *The server was started in warning mode and the JTA was declared unhealthy. I saw 2 transaction alive for more than 2000 seconds which is uncommon.
    *The resource adaptor was started properly.
    *We are using file store. But will it make a difference?
    Thanks!

  • Connection properties in weblogic

              Hi,
              I am using Weblogic connection pooling.
              I am getting a connection from this pool and set the autoCommit to false. Now
              I release this connection and the same connection is allocated to a different
              servlet, what will be the autoCommit state? Will it still be false or the pool
              resets the autoCommit state to default(true)?
              Thanks,
              Mallya
              

    I think it depends on whether or not you are using the pool driver (or DataSource)
              or the JTS/XA driver (or TxDataSource). I believe that any connections from a
              transactional pool (the second set of options mentioned previously) will always
              have autoCommit set to false...
              mike reiche wrote:
              > I believe that connection will be autoCommit=true. You may wish to repost this
              > in the jdbc newsgroup
              >
              > Mike
              >
              > "Mallya" <[email protected]> wrote:
              > >
              > >Hi,
              > >I am using Weblogic connection pooling.
              > >I am getting a connection from this pool and set the autoCommit to false.
              > >Now
              > >I release this connection and the same connection is allocated to a different
              > >servlet, what will be the autoCommit state? Will it still be false or
              > >the pool
              > >resets the autoCommit state to default(true)?
              > >Thanks,
              > >Mallya
              

  • Query using connectionpool impossible on oracle instance

    Hi,
    I have a question for a system that was to be released in production mode april
    1st, 2003, but could not be because of this problem:
    When connecting to a Oracle 8.1.7r3 DB using WL 6.1SP3, I have a problem using
    connection pooling with both the oracle jdbc drivers as well as the oci drivers.
    Switching of the connection pool makes the application work but that defies the
    whole purpose of configuring connection pools.
    1. start up of the runserver with connection pooling enables does NOT return any
    errors
    2. the query to be executed is correct and checked on multiple ways (including
    sqlnet, jdbc, oci, all without transaction pooling)
    3. the username/password used is correct and works but only if connection pooling
    disabled, no typos were made
    4. the user has been granted DBA rights and still the connection pooling does
    not work.
    5. the table accessed in the query executed is available and a public synonym
    exists; the user has select rights on the table
    6. the connection pool is assigned a JNDI datasource and lookup succeeds
    7. obtaining a connection from the pool works.
    8. executing of the query WITH connection pooling returns SQLException with error
    message:
    java.sql.SQLException: ORA-00942: table or view does not exist
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:643)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1674)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1870)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:538)
    at org.mmbase.module.database.MultiStatement.executeQuery(Unknown Source)
    at org.mmbase.module.core.ClusterBuilder.searchMultiLevelVector(Unknown
    Source)
    at org.mmbase.bridge.implementation.BasicCloud.getList(Unknown Source)
    at org.mmbase.bridge.jsp.taglib.ListTag.doStartTag(Unknown Source)
    at org.mmbase.bridge.jsp.taglib.macro.RelatedTag.doStartTag(Unknown Source)
    at jsp_servlet.__1_4_digitaaljournaal._jspService(__1_4_digitaaljournaal.java:888)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:482)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:308)
    at nl.vodafone.iris.net.http.HTTPServletRedirectBean.redirect(HTTPServletRedirectBean.java:49)
    at nl.vodafone.dealersite2.menu.MenuControlServlet.forwardMenu(MenuControlServlet.java:130)
    at nl.vodafone.dealersite2.menu.MenuControlServlet.doGet(MenuControlServlet.java:37)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2546)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2260)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Is there possibly a certain (additional) install on Oracle required for the connection
    pooling on WL6.1SP3 to run? We have the problem only on one DB instance. Do you
    have any other suggestions for the issue? Is there a way to see all sql statements
    use by the connections in the connection pool?
    Roger Stoffers
    Vodafone NL

    Hi Roger,
    Could you please show us the 30-line program that does work?
    Regards,
    Slava Imeshev
    "Roger Stoffers" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hello Joseph,
    I have tried many things (wrote numerous tests) now, but the problem seemsto
    occur only USING pooling with the weblogic OCI driver, or the weblogicoracle
    thin driver.
    Moving the data to another DB solved my problem; however I'm still curiousas
    to what causes this behaviour.
    The 30-line programme works fine, sqlplus works fine, TOAD works fine,weblogic
    withour pooling works fine, weblogic with pooling fails.... sigh....
    Kind regards,
    Roger Stoffers
    Joseph Weinstein <[email protected]_this> wrote:
    Roger Stoffers wrote:
    Hi Joseph,
    The pool definition is taken from config.xml:
    <JDBCConnectionPool DriverName="weblogic.jdbc.oci.Driver"
    InitialCapacity="1" MaxCapacity="1" Name="ddsireConnectionPool"
    Password="{3DES}XXXXX=" Properties="user=hint"
    RefreshMinutes="5" ShrinkingEnabled="false"
    Targets="rogerServer" TestConnectionsOnRelease="true"
    TestTableName="dual" URL="jdbc:weblogic:oracle:CIMA"/>
    <JDBCDataSource JNDIName="ddsireDataSource" Name="DDSire
    DataSource"
    PoolName="ddsireConnectionPool" Targets="rogerServer"/>
    Furthermore, I managed to include an incorrect part of the log file;here's the
    correct one. Does this tell you more? (In the weblogic.log file itis stated that
    the connection was obtained)
    java.sql.SQLException: ORA-00942: table or view does not exist
    at
    weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:240)
    atweblogic.jdbc.oci.Statement.private_parse(Statement.java:826)
    atweblogic.jdbc.oci.Connection.prepareStatement(Connection.java:732)
    atweblogic.jdbc.pool.Connection.prepareStatement(Connection.java:303)
    >>
    Hi. Ok, this shows that you did successfully create a pool, which did
    make connections,
    and using it, you did get the same error. However, there is a bigquestion:
    Why did
    you also get that same exception with the Oracle driver directly? This
    was shown with
    the first stack trace you sent. Until we explain that first stacktrace,
    it seems like an all-
    oracle problem. Can you make a small 30-line standalone java program
    that makes
    a direct connection to the DBMS, using our driver and that user name
    and password,
    and runs that same query?
    thanks,
    Joe
    at
    weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.ja
    va:135)
    atweblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:78
    atnl.vodafone.cd.dataservices.jdbc.JDBCHelper.callSql(JDBCHelper.java:93)
    atnl.vodafone.cd.dataservices.jdbc.JDBCHelper.performQuery(JDBCHelper.java:64)
    atnl.vodafone.cd.dataservices.jdbc.JDBCDDSireHintDescriptionService.getHint(JD
    BCDDSireHintDescriptionService.java:48)
    atnl.vodafone.cd.presentation.MainPageAction.perform(MainPageAction.java:109)
    atnl.vodafone.cd.presentation.CheckClientAddressInfoAction.perform(CheckClient
    AddressInfoAction.java:181)
    atnl.vodafone.cd.presentation.ActionServlet.doPost(ActionServlet.java:309)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :265)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :200)
    atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
    ntext.java:2546)
    atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
    :2260)
    atweblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Joseph Weinstein <[email protected]_this> wrote:
    Roger Stoffers wrote:
    Hi,
    I have a question for a system that was to be released in productionmode april
    1st, 2003, but could not be because of this problem:
    When connecting to a Oracle 8.1.7r3 DB using WL 6.1SP3, I have a
    problem
    using
    connection pooling with both the oracle jdbc drivers as well as
    the
    oci drivers.
    Switching of the connection pool makes the application work but
    that
    defies the
    whole purpose of configuring connection pools.
    1. start up of the runserver with connection pooling enables does
    NOT
    return any
    errorsPlease show me the whole pool definition...
    2. the query to be executed is correct and checked on multiple ways(including
    sqlnet, jdbc, oci, all without transaction pooling)
    3. the username/password used is correct and works but only if
    connection
    pooling
    disabled, no typos were madeWhat is the failure mode when this user/password is used for a pool?
    4. the user has been granted DBA rights and still the connection
    pooling
    does
    not work.
    5. the table accessed in the query executed is available and a
    public
    synonym
    exists; the user has select rights on the table
    6. the connection pool is assigned a JNDI datasource and lookup
    succeeds
    7. obtaining a connection from the pool works.
    8. executing of the query WITH connection pooling returns
    SQLException
    with error
    message:
    java.sql.SQLException: ORA-00942: table or view does not exist
    at
    oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
    atoracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
    atoracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:643)
    atoracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1674)
    atoracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
    :1870)
    atoracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:538)
    atorg.mmbase.module.database.MultiStatement.executeQuery(Unknown
    Source)
    Here is some big info above. You are getting this exception withoutusing
    our
    pooling at all. You are getting a direct JDBC connection to Oracle,using
    Oracle's driver,
    and suffering the problem.
    Joe Weinstein at BEA
    at
    org.mmbase.module.core.ClusterBuilder.searchMultiLevelVector(Unknown
    Source)
    atorg.mmbase.bridge.implementation.BasicCloud.getList(Unknown
    Source)
    at org.mmbase.bridge.jsp.taglib.ListTag.doStartTag(UnknownSource)
    at
    org.mmbase.bridge.jsp.taglib.macro.RelatedTag.doStartTag(Unknown
    Source)
    at
    jsp_servlet.__1_4_digitaaljournaal._jspService(__1_4_digitaaljournaal.java:8
    88)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :265)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :200)
    atweblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImp
    l.java:482)
    atweblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImp
    l.java:308)
    atnl.vodafone.iris.net.http.HTTPServletRedirectBean.redirect(HTTPServletRedire
    ctBean.java:49)
    atnl.vodafone.dealersite2.menu.MenuControlServlet.forwardMenu(MenuControlServl
    et.java:130)
    atnl.vodafone.dealersite2.menu.MenuControlServlet.doGet(MenuControlServlet.jav
    a:37)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    atjavax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :265)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :200)
    atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
    ntext.java:2546)
    atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
    :2260)
    atweblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Is there possibly a certain (additional) install on Oracle requiredfor the connection
    pooling on WL6.1SP3 to run? We have the problem only on one DB
    instance.
    Do you
    have any other suggestions for the issue? Is there a way to see
    all
    sql statements
    use by the connections in the connection pool?
    Roger Stoffers
    Vodafone NL

  • Weblogic 10.3 Bridge fails every other message

    We have setup a bridge between to Tibco EMS servers. The source and target destinations are setup as eis.jms.WLSConnectionFactoryJNDIXA adapters. Start-up the bridge connects to both destinations without problems, so far so good. Once a message appears in the source queue it is able to forward one message and then fails. The bridge attempts to reconnect but fails repeatedly. Also, we noted that we have a transaction that is in committing state for hours. But we can't find this transaction on the tibco server. If you try ot rollback the transaction from the weblogic console it informs you that the object has been deleted.
    "The object that you were viewing has been deleted, either by you or another user. Please make another selection. "
    Also, here is the error we see in the logs:
    <Nov 4, 2010 3:33:49 PM CET> <Warning> <JTA> <BEA-110484> <The JTA health state has changed from HEALTH_OK to HEALTH_WARN with reason codes: Resource eis/jms/WLSConnectionFactoryJNDIXA declared unhealthy.>
    <Nov 4, 2010 3:33:49 PM CET> <Warning> <JTA> <BEA-110204> <XA resource [eis/jms/WLSConnectionFactoryJNDIXA] returns XAER_RMFAIL and is unavailable.>
    <Nov 4, 2010 3:33:49 PM CET> <Error> <MessagingBridge> <BEA-200015> <An error occurred in bridge "TS-Bridge-CSAR" 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_branchalias_3': XAER_RMFAIL : Resource manager is unavailable
    javax.transaction.xa.XAException
         at com.tibco.tibjms.TibjmsXAResource.startTx(TibjmsXAResource.java:533)
         at com.tibco.tibjms.TibjmsXAResource.start(TibjmsXAResource.java:229)
         at weblogic.connector.security.layer.AdapterLayer.start(AdapterLayer.java:513)
         at weblogic.connector.transaction.outbound.XAWrapper.start(XAWrapper.java:466)
         at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1183)
         at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1116)
         at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)
         at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:511)
         at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:113)
         at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
         at $Proxy61.createMessage(Unknown Source)
         at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1455)
         at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1002)
         at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1079)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
         at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:201)
         at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
         at $Proxy61.createMessage(Unknown Source)
         at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1455)
         at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1002)
         at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1079)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA_branchalias_3': XAER_RMFAIL : Resource manager is unavailable
    javax.transaction.xa.XAException
         at com.tibco.tibjms.TibjmsXAResource.startTx(TibjmsXAResource.java:533)
         at com.tibco.tibjms.TibjmsXAResource.start(TibjmsXAResource.java:229)
         at weblogic.connector.security.layer.AdapterLayer.start(AdapterLayer.java:513)
         at weblogic.connector.transaction.outbound.XAWrapper.start(XAWrapper.java:466)
         at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1183)
         at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1116)
         at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)
         at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:511)
         at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:113)
         at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
         at $Proxy61.createMessage(Unknown Source)
         at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1455)
         at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1002)
         at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1079)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
         at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1140)
         at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)
         at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:511)
         at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:113)
         ... 8 more
    ).>
    <Nov 4, 2010 3:33:49 PM CET> <Warning> <JTA> <BEA-110405> <Resource eis/jms/WLSConnectionFactoryJNDIXA was not assigned to any of these servers: Core1 >
    Any idea what may be the problem.? We have about 10 bridges only 3 are failing. The three that are failing are bridging between the same servers.
    Edited by: 807664 on Nov 5, 2010 12:08 AM

    Thanks for the feedback atheek1.
    We already have this patch: CR364493_103.jar. We have added this jar to the classpath of our servers start-up (not the admin server but our application server only) script and it still fails. We also turned on debug level logging for the bridges but we can't see why the connection failed. What we do see is a huge number of "Connections Destroyed by Error" in the jmx-xa-adp monitor page total count from the past 3 days is 100666. The current connections are 20 and we have 58 Reject Connections. Also, once a message is sent and fails then the transaction is rolled back but it never finishes to rollback. The transaction is stuck for many hour looks like close to 24 hours and then it sometimes disappears at this point the bridge tries to resend and sometime it succeeds and sometimes it fails.
    We are running out of options, if we can't fix this soon then we will have to use another solution for our bridging, maybe roll our own.

  • Message bridge failover doesnt` work

    Hi,
    I have a problem with failover with my bridge Weblogic-MQSeries.
    This bridge is configured using "supported" WL_HOME\server\lib\jms-xa-adp (resource adapter).
    I have next object on my weblogic:
    jms/queue/TestOutQueue
    jms/XAQCFactory
    mq/queue/TestInQueue
    mq/XAQCFactory
    mq/queue/TestInQueue, mq/XAQCFactory are configured using Foreign JND Provider.
    I am suing bridge to forward messgaes from jms/queue/TestOutQueue to mq/queue/TestInQueue.
    Both connection factoires are configured to be XAEnabled and "Exactly Once" QOS is used.
    Everything works good. But ...
    When I tried to test failover bridge didn`t come up.
    I stopped MQ and put one message to jms/queue/TestOutQueue.
    And get exception:
    <MessagingBridge> <marat> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1260300483734> <BEA-200026> <Bridge "Bridge-0" 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 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_RMERR : A resource manager error has occured in the transaction branch
    javax.transaction.xa.XAException: ??<R <>???ч?? XA, ??. errorCode
         at com.ibm.mq.MQXAResource.start(MQXAResource.java:451)
         at weblogic.connector.security.layer.AdapterLayer.start(AdapterLayer.java:513)
    Also I see status of of the bridge as "Inactive" in web console.
    But then I started MQ and expected bridge to restart and send my message to MQ. This didn`t happened.
    It looks like it hangs up and that is all.
    It only sends when I restart weblogic.
    I will appriciate any ideas.
    Thanks.

    Well, will dig frrther and ....
    I really don`t do anything special. Just bridging Weblogic JMS Queue to MQ Queue.
    What I did is added MessagingBridgeRuntimeVerbose mode to weblogic.
    When I start weblogic and bridge works fine I see next debug:
    ####<Dec 8, 2009 8:38:26 PM MSK> <Debug> <MessagingBridgeRuntimeVerbose> <dbmosws2351> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1260293906644> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 4 stopped = false>
    When I turn off MQ, bridge fails with exception:
    ####<Dec 8, 2009 8:38:31 PM MSK> <Warning> <MessagingBridge> <dbmosws2351> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1260293911175> <BEA-200026> <Bridge "Bridge-0" 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: 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_RMERR : A resource manager error has occured in the transaction branch
    javax.transaction.xa.XAException: XA operation failed, see errorCode
         at com.ibm.mq.MQXAResource.start(MQXAResource.java:451)
    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: XA operation failed, see errorCode
         at com.ibm.mq.MQXAResource.start(MQXAResource.java:451)
    And after this exception I see next MessagingBridgeRuntimeVerbose:
    ####<Dec 8, 2009 8:39:00 PM MSK> <Debug> <MessagingBridgeRuntimeVerbose> <dbmosws2351> <AdminServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1260293940144> <BEA-000000> <Bridge Bridge-0 doTrigger(): state = 7 stopped = false>
    I didn`t find what means this state=4 and state=7.

  • Jdeveloper freezes

    Hi, I am running Jdeveloper1013EA on a java desktop system. It freezes when I try to run
    the application. Any idea please. Here are the messages:
    [Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
    **** Unable to obtain password from principals.xml. Using default.
    /home/shagus/jdevhome/system/oracle.j2ee.10.1.3.34.12/embedded-oc4j/config>
    /home/shagus/jdk1.5.0_05/bin/java -server -classpath /home/shagus/jdev1013EA/j2ee/home/oc4j.jar:/home/shagus/jdev1013EA/jdev/lib/jdev-oc4j-embedded.jar -Xverify:none -DcheckForUpdates=adminClientOnly -Xrs -Doracle.application.environment=development -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doc4j.jms.usePersistenceLockFiles=false oracle.oc4j.loader.boot.BootStrap -config /home/shagus/jdevhome/system/oracle.j2ee.10.1.3.34.12/embedded-oc4j/config/server.xml
    [waiting for the server to complete its initialization...]
    Oct 9, 2005 12:27:45 PM com.evermind.server.XMLDataSourcesConfig parseRootNode
    INFO: Legacy datasource detected...attempting to convert to new syntax.
    05/10/09 12:27:53 java.net.SocketException: Network is unreachable
    05/10/09 12:27:53      at java.net.PlainSocketImpl.socketConnect(Native Method)
    05/10/09 12:27:53      at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    05/10/09 12:27:53      at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
    05/10/09 12:27:53      at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
    05/10/09 12:27:53      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:364)
    05/10/09 12:27:53      at java.net.Socket.connect(Socket.java:507)
    05/10/09 12:27:53      at java.net.Socket.connect(Socket.java:457)
    05/10/09 12:27:53      at java.net.Socket.<init>(Socket.java:365)
    05/10/09 12:27:53      at java.net.Socket.<init>(Socket.java:207)
    05/10/09 12:27:53      at oracle.jdevimpl.runner.oc4j.Oc4jNotifier.sendMessage(Oc4jNotifier.java:98)
    05/10/09 12:27:53      at oracle.jdevimpl.runner.oc4j.Oc4jNotifier.postInitApplicationServer(Oc4jNotifier.java:55)
    05/10/09 12:27:53      at com.evermind.server.ApplicationServer.serverExtensionPostInit(ApplicationServer.java:1041)
    05/10/09 12:27:53      at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:927)
    05/10/09 12:27:53      at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:98)
    05/10/09 12:27:53      at java.lang.Thread.run(Thread.java:595)
    05/10/09 12:27:53 Oracle Containers for J2EE 10g (10.1.3.0.0) - Developer Preview initialized

    Guvang, thank you for the response. But it did not work.
    Here is my original data-source:
    <?xml version="1.0" standalone='yes'?>
    <data-sources
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/data-sources-10_1.xsd"
    schema-major-version="10"
    schema-minor-version="1"
    >
    <!--
    This is the old example...It will soon be removed from this file.
    An example/default DataSource that uses Oracle JDBC-driver to
    create the connections. This tag creates all the needed kinds
    of data-sources, transactional, pooled and EJB-aware sources.
    The source generally used in application code is the "EJB" one -
    it provides transactional safety and connection pooling. Oracle
    thin driver could be used as well, like below.
    url="jdbc:oracle:thin:@host:port:sid"
    <data-source
    class="com.evermind.sql.DriverManagerDataSource"
    name="OracleDS"
    location="jdbc/OracleCoreDS"
    xa-location="jdbc/xa/OracleXADS"
    ejb-location="jdbc/OracleDS"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username="scott"
    password="->pwForScott"
    url="jdbc:oracle:thin:@localhost:1521:oracle"
    inactivity-timeout="30"
    />
    -->
    <connection-pool name="Example Connection Pool">
    <!-- This is an example of a connection factory that emulates XA behavior. -->
    <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
    user="scott"
    password="tiger"
    url="jdbc:oracle:thin:@//localhost:1521/oracle.regress.rdbms.dev.us.oracle.com">
    </connection-factory>
    </connection-pool>
    <managed-data-source name="OracleDS"
    connection-pool-name="Example Connection Pool"
    jndi-name="jdbc/OracleDS"/>
    <!-- The following is an example of data source whose connection factory
    that does not emulate XA behavior. It includes an xa-recovery-config
    that can be specified in order to override the runtime password-credential
    in the case where a recover scan is necessary
    -->
    <!--
    <managed-data-source name='NonEmulatedDS'
    connection-pool-name='NonEmulated Connection Pool'
    jndi-name='jdbc/NonEmulatedDS'/>
    <connection-pool name='NonEmulated Connection Pool'>
    <connection-factory factory-class='oracle.jdbc.xa.client.OracleXADataSource'
    user='scott'
    password='tiger'
    url="jdbc:oracle:thin:@//localhost:1521/oracle.regress.rdbms.dev.us.oracle.com">
    <xa-recovery-config>
    <password-credential>
    <username>system</username>
    <password>manager</password>
    </password-credential>
    </xa-recovery-config>
    </connection-factory>
    </connection-pool>
    -->
    <!-- The following is an example of the connection pool attributes in use. -->
    <!--
    <connection-pool name='NonEmulated Connection Pool'
    min-connections='0'
    max-connections='0'
    initial-limit='0'
    used-connection-wait-timeout='60'
    inactivity-timeout='60'
    login-timeout='0'
    connection-retry-interval='1'
    max-connect-attempts='3'
    validate-connection='false'
    num-cached-statements='0'
    time-to-live-timeout='-1'
    abandoned-connection-timeout='-1'
    property-check-interval='900'
    lower-threshold-limit='20'>
    <connection-factory factory-class='oracle.jdbc.xa.client.OracleDataSource'
    user='scott'
    password='tiger'
    url="jdbc:oracle:thin:@//localhost:1521/oracle.regress.rdbms.dev.us.oracle.com">
    </connection-factory>
    </connection-pool>
    -->
    <!-- An example of using password indirection.
    <managed-data-source name='PasswordIndirection'
    connection-pool-name='NonEmulated Connection Pool'
    jndi-name='jdbc/PasswordIndirection'
    user='scott'
    password='->scott'/>
    -->
    </data-sources>
    Here is modified data-source:
    <?xml version="1.0" standalone='yes'?>
    <data-sources
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/data-sources-10_1.xsd"
    schema-major-version="10"
    schema-minor-version="1"
    >
    <connection-pool name="ExampleConnectionPool">
    <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
    user="scott"
    password="tiger"
    url="jdbc:oracle:thin:@//localhost:1521/oracle">
    </connection-factory>
    </connection-pool>
    <managed-data-source name="OracleDS"
    connection-pool-name="ExampleConnectionPool"
    jndi-name="jdbc/OracleDS"/>
    </data-sources>
    Please advise. Thank you.

Maybe you are looking for

  • How Performance can be improved at  Oracle Database level

    Hi Everyone, Need a suggestion ...... I m managing SAP Landscape of Retail Sector Client. where SAP ERP PRD database size is : 2 TB. at SAP Application Layer .... we have setup five application system to distribute load because around 1200 users work

  • The "next" button of crystal report viewer does not work

    hi I use crystal report viewer control to show my crystal report on my aspx page. like: <CR:CrystalReportViewer id="CRViewer" runat="server" HasRefreshButton="False" PrintMode="ActiveX" DisplayGroupTree="False" AutoDataBind="True" SeparatePages="TRUE

  • Export of results into other than LMS

    Hi there, As a Captivate newbie, I'm having difficulty in getting results experted seamlessly into a system other than a LMS. I've seen some articles on using Cold Fusion and Excel spreadsheets to export the data, but there is too much interaction. W

  • X60 fingerprint reader driver

    Hello gurus, I've installed Win7 RC on my X60 and all is well. My colleague mentioned that Win7 has native support for use of a fingerprint reader, and I would like to try it out instead of using Lenovo's Client Security Solution. I have a clean Devi

  • Photosmart c4480 cutting off top of photos

    hi, i bought this printer today and thought i would give it a test run on photos from a memory card on 6x4 paper but it keeps cutting the top of the photo off a little bit am i doing something wrong? is there a way of stopping this happening? thanks