JTA setRollbackOnly() w/ JDBC getConnection()

I don't know if this belongs in the JTA forum or the JDBC forum, so please let me know if this is in the wrong place.
The enlistResource() method in JTA will throw a RollbackException when trying to enlist a resource after setRollbackOnly() is called. Should the JDBC driver or connection pool pass this exception to the user?
What I am seeing, in a certain implementation of a connection pool, is getConnection() throwing a SQLException when the enlistResource() throws RollbackException. I would expect the pool to handle the RollbackException and still return a connection, but I could be wrong.
It makes sense to me that the transaction manager should still allow resources to be enlisted even if the TX status is STATUS_MARKED_ROLLBACK. If the TM should allow enlistment then I see no reason why the pool shouldn't return a connection instead of throwing a SQLException.
Can anyone confirm this for me, or shed some light on the topic?
-Andy

Hi,
The rollback exception can happen outside the responsibility of the JTA transaction manager (namely in the underlying JDBC database). It indicates that the database has decided to time out, for instance.
The only way that both the JTA and the connection pool can find out in that case is by a failure such as this one.
The only (well, straightforward) way to hide this would be to re-submit all previous work to the JDBC data source but in a NEW series of interactions through a new connection. This would require that the connection pool be aware of application-level logic and caches it in the transaction. In addition, since resubmission of previous SQL statements may yield different results the second time, it would jeopardize transactional correctness (serializability) of work done in other data sources.
So, in a nutshell: the current situation is the most practical one (but maybe not for the end-user).
Hope that helps,
Guy
http://www.atomikos.com

Similar Messages

  • Use of JTA API in JDBC programs.

    Hi,
    Where we can use JTA API in JDBC programs. what is the significance of UserTransaction interface in JDBC programs. I heard that when we are using two databases in same program then we use this JTA API. Can't we do this by using,
    connection.setAutoCommint(false);
    // code to work with two database
    connection.commit();
    does it wont work.
    Please suggest me.
    Thanks
    Satish

    I heard that when we are using two
    databases in same program then we use this JTA API.
    Can't we do this by using,
    connection.setAutoCommint(false);
    // code to work with two database
    connection.commit();This will work if there are no errors or crashes, but it can seriously fail otherwise.
    To find out more: you can download our JTA from http://www.atomikos.com and go through the JTA user guide. It includes the answer to your question.
    Alternatively, feel free to check our transactions community forum on http://www.atomikos-support.com/forums (which we check more often than this one).
    Best,
    Guy

  • Why JDBC getConnection null? what is the problem?

    i have been using one class as thus clause:
    public java.sql.Connection getConnection(){
    String url = "jdbc:oracle:thin:@192.168.0.142:1521:test8152";
    java.sql.Connection con =null;
    java.sql.Statement stmt =null;
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    con = java.sql.DriverManager.getConnection(url,"conn","connection");
    } catch(Exception ex) { }
    return con;
    this method has been used normal in several instance for a long time, the oracle is all 816 enterprise, both for nt or linux or solaris.
    however, while i install a new oracle for linux on redhat6.2 which purchased recently, 816ee, i can not connect to it from other computers by this class, although i can connect to it by net8.sqlplus from other . nevertheless, i can connect to it in local computer by the same class with the same driver as classes12.zip; even if i use the drivers, which containd in the $ORACLE_home/jdbc/, the one is classes111.zip, the results is the same.
    the error message is the object do not exist, once i add the global service name, such as test8152.my_domain, the new message is 'refused connection'.
    thanks for your tips.
    null

    I had the same problem on this. The Linux Version of Oracle 8i seems have bugs on jdbc driver classes111.zip and classes12.zip ???
    I faced the same situation !!
    Do you find any other solution? It seems Oracle 8i oci/jdbc driver only support jdk 1.1.X . I am looking for oci/jdbc driver for 1.2. BUT I can not find it inside Oracle website ?!
    Do you find any ?
    Tommy Yang ( [email protected] )

  • JDBC getConnection

    hi,
    from some time I try to get a connection with a database for a standalone program on my computer using JDBC but I am not able to finish my purpose... and I am looking for for some help.
    I had a connection to an Microsoft access database with the ODBC bridge but I never could get connection by any driver of JDBC.
    I tried with some products but recently I am using Interbas of Borland.
    I am using a Windows XP Oprating System.
    I wite the follow code:
    static public Connection makeDataBaseConnectionWithInterbase(){ 
    Connection dbconn = null;
    String url = "jdbc:interbase://localhost/G:\\Java\\employee.gdb";
    // String url = "jdbc:interbase://ZORRO/G:/Java/employee.gdb";
    // String url = "jdbc:interbase://loopback/G:/Java/employee.gdb";
    try {       
    Class.forName("interbase.interclient.Driver");
    } catch ( ClassNotFoundException cnfex ) {  
    // cnfex.printStackTrace();
    System.out.println("getCause = " + cnfex.getCause());
    System.out.println("getMessage = " + cnfex.getMessage());
    try {
    Driver driver = DriverManager.getDriver(url);
    System.out.println("driver = " + driver.toString());
    dbconn = DriverManager.getConnection(url,"sysdba","masterkey");
    } catch ( SQLException cnfex ) {  
    cnfex.printStackTrace();
    System.out.println("Eccezione getCause = " + cnfex.getCause());
    return dbconn ;
    I give the classpath to interbase driver by command line writing:
    path.. java -cp pathInterbase\interclient.jar; myProgram(.class)
    I know the name of the driver with this line of output:
    driver = interbase.interclient.Driver@b8df17
    But after this I get a message indicating that the connection failed and that is the message:
    java.sql.SQLException: interbase.interclient.IBException: [interclient][interbas
    e]Unable to complete network request to host "java.net.ConnectException: Connect
    ion refused: connect".
    I hope someone could help me...
    Thank you tonyMrsangelo

    hello Saish,
    You are right, I don't know the concepts and the procedure to work with server databases... becauose I am acustomed to work only with standalone programs and never I worked with server databases, so surely my problem is that I miss this knowledge
    That is why I don't know the concepts that are behind the use of server database.
    Could you inform me shortly what are the procedures when I want to work with server databases and where to found good informations about the basic concepts to use them in the applications client/server,
    and also what is the difference in working between client/server database and standalone databases ?
    P.S. I try to run the same database using interclient driver on NetBeans too, having the same problem that I said before...
    thank you very much for your fast answer and help
    please excuse my bad English.... it is not my mother language
    tonyMrsangelo

  • Weblogic Eclipselink Sequence Table Connection Pool Sequence Separate transaction while JTA on main transaction

    Hi,
    And thanks in advance for your support.
    In weblogic 12, managing to get the eclipse link connection sequencing mechanism when one uses Tables for sequencing entity ids seems to be complicated.
    QUICK REFERENCE:
    http://www.eclipse.org/eclipselink/api/2.5/org/eclipse/persistence/config/PersistenceUnitProperties.html
    The concept:
    While having EJB, MDBs etc... run on a JEE container, be it glassfish or weblogic, it should be possible to have the main thread transaction be managed as part of JTA global transactions by the contianer.
    Namely, pumping messages to JMS queues, persisting entities etc.
    Meanwhile, it should be also possible to as the transaction is on going write and update entity ids from sequencing tables.
    For this very purpose, eclipse link provides persistence.xml properties, such as the now deprecated eclipselink.jdbc.sequence-connection-pool" value="true", to fullfill this very purpose.
    This option greatly avoids dead longs, by allowing eclipse link to fetch a non JTA managed connection, pseudo "two phase locking read table update table" go to the datbase and fetch a new sequence.
    The same mechnism under JTA is a disaster. A transaction that creates ten different entities, might do ten reads and updates on this table, while mean while a competing transaction might be trying to do the same. It is guaranteed dead lock with minimal stress on the environment.
    Under glassfish, for example, tagging a persistence.xml with :
    <persistence-unit name="MY_PU" transaction-type="JTA">
            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
            <jta-data-source>jdbc/DERBY_DS</jta-data-source>
            <non-jta-data-source>jdbc/DERBY_DS</non-jta-data-source>       
            <properties>           
                <property name="eclipselink.jdbc.sequence-connection-pool" value="true" />
            </properties>
    </peristence-unit>
    does miracles, when entities are using TABLE sequencing.
    Under weblogic, say you are using the Derby embedded XA driver with two phase commit, deploying the applicaiton immediately leads to:
    Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.3.v20120629-r11760): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Cannot call commit when using distributed transactions
    Error Code: 0
      at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
      at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicCommitTransaction(DatabaseAccessor.java:426)
      at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.commitTransaction(DatasourceAccessor.java:389)
      at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.commitTransaction(DatabaseAccessor.java:409)
      at org.eclipse.persistence.internal.sequencing.SequencingManager$Preallocation_Transaction_Accessor_State.getNextValue(SequencingManager.java:579)
      at org.eclipse.persistence.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:1067)
      at org.eclipse.persistence.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:70)
      at org.eclipse.persi
    While weblogic is right that their might be a distributed transaction ongoing, it is mistaken in the fact tha tthe connection requested by eclipse link for generating the ID should be part of the global transaciton.
    Eclipse link provides other ways to attempt to configure the sequencing mechanism, by sating for example a non-jta transaction.
    I have attempted also using these properties both withe original data DERBY_DS that uses the XA driver, and later with a new data source i created on purpose to try to work around the sequencing contengy.
    For example:
    <!--property name="eclipselink.jdbc.sequence-connection-pool.nonJtaDataSource" value="jdbc/DERBY_SEQUENCING_NON_JTA" /-->
                <!--property name="eclipselink.connection-pool.sequence.nonJtaDataSource" value="jdbc/DERBY_SEQUENCING_NON_JTA" /-->
    This new DERBY_SEQUENCING_NON_JTA is explicitly configured to use a NON_XA driver with global transactions flag set to disabled.
    Regardless, the only thing I get out of this is that the application is deployed and super fast, up to the point where i stress it with a system test that introduces some degreee of concurrency, and then I see the dead locks on the sequencing table.
    Meaning that the ongoing transactions are holding tight to their locks on the sequencing table.
    Is this a known issue?
    Is there something I am missing in the configuration?
    It really should not be this diffcult to get eclipse link to run its sequence reads and updates on a separate transaction of the main JTA transaction, but so far looks impossible.
    Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.3.v20120629-r11760): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLTransactionRollbackException: A lock could not be obtained within the time requested
    Error Code: 30000
    Call: UPDATE ID_GEN SET SEQ_VALUE = SEQ_VALUE + ? WHERE SEQ_NAME = ?
      bind => [2 parameters bound]
    Query: DataModifyQuery(name="MyEntity_Gen" sql="UPDATE ID_GEN SET SEQ_VALUE = SEQ_VALUE + ? WHERE SEQ_NAME = ?")
    Many thanks for your help.

    Are you calling the cmp bean code and your new Sql code under a same transactional context?
    The following setting
    "rollbackLocalTxUponConnClose=true"
    will make the connectionpool to call the rollback method on the connection object before keeping it back in the pool. In your sql code if you are calling connection.close() , then your entire transaction will be rolled back.
    CMP bean requires a transactional connection while communicating with the database.
    What is the sequence of code execution?
    I think you must be calling sql code first and then cmp bean code later.
    You may avoid this problem in this way. This is my guess based on my understanding on your code execution.
    1. set rollbackLocalTxUponConnClose=false
    Execute the sql code and cmp code in a single transaction (in a single session bean method with cmt or bmt transaction ). Specify tx.rollback if it is bmt. or call tx.setRollbackOnly() if it is a cmt. In this way you will have control to roll back the transactions.
    Hope this helps you.
    bmt-> bean managed transaction
    cmt-> container managed transaction.
    Regards,
    Seshi.

  • Intermittent XAER_RMERR on Start Branch/ getConnection()

    Hello,
    I've been reading the forums on and off for a couple months now. I was hoping someone could help me with a problem I am facing.
    I have a Container Managed MDB that persists a message in a DB. I am able to successfully complete a XA Transaction and my DB is setup for XA. I am running Weblogic 8 sp3 and connecting to a Oracle 8.1.7 DB using Oracle 9.0.2 drivers (due to integration reasons).
    I ocassionally get the following error. I have "Test Connections on Reserve" and "Test Connections on Release" both checked. My initial Pool size is 0 and I have shrinking allowed. Any thoughts?
    javax.ejb.EJBException: nested exception is: java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAER_RMERR : A resource manager error has occured in the transaction branch start() failed on resource 'SMHPMEConnectionPool': XAER_RMERR : A resource manager error has occured in the transaction branch
    javax.transaction.xa.XAException: Unexpected error during start for XAResource 'SMHPMEConnectionPool': Transaction timed out after 61 seconds
    Xid=BEA1-20C1A39CB54A5585B43F(32612847),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=61,seconds left=60,XAServerResourceInfo[JMS_SMHPMEJDBCStore]=(ServerResourceInfo[JMS_SMHPMEJDBCStore]=(state=started,assigned=none),xar=JMS_SMHPMEJDBCStore,re-Registered = false),SCInfo[MLIM+mlimManaged2]=(state=active),local properties=({weblogic.jdbc.jta.SMHPMEConnectionPool=weblogic.jdbc.wrapper.TxInfo@be676c}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=mlimManaged2+jasweblp.mlam.ml.com:9104+MLIM+t3+, XAResources={},NonXAResources={})],CoordinatorURL=mlimManaged2+jasweblp.mlam.ml.com:9104+MLIM+t3+)
         at weblogic.jdbc.wrapper.XA.createException(XA.java:104)
         at weblogic.jdbc.jta.DataSource.start(DataSource.java:678)
         at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1103)
         at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1035)
         at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:213)
         at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:461)
         at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1383)
         at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1325)
         at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
         at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
         at com.ml.mlim.smh.pme.portfolio.j2ee.PMEPortfolioBean.getConnection(Unknown Source)
         at com.ml.mlim.smh.pme.portfolio.j2ee.PMEPortfolioBean.init(Unknown Source)
         at com.ml.mlim.smh.pme.portfolio.j2ee.PMEPortfolioBean.onMessage(Unknown Source)
         at weblogic.ejb20.internal.MDListener.execute(MDListener.java:370)
         at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:262)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2678)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:2598)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)

    You might try upping your JTA Transaction Timeout as well
    as XASetTransactionTimeout and XATransactionTimeout; the
    latter have to be set manually in the config.xml.
    I believe we had similar problems with long-running txns,
    and this fixed it.
    : jay

  • What is specified in jta-data-source in persistence.xml??

    When searching on the web I find examples like:
    <jta-data-source>java:DefaultDS</jta-data-source>
    or
    <jta-data-source>jdbc/MyDataSource</jta-data-source>
    What exactly is specified here? Prob dumb question but I can't figure it out.
    Ty

    hi user644732
    This says ...
    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd
    "The container-specific name of the JTA datasource to use."
    (tip : You can use "Your Control Panel" to make your name visible in forum posts.)
    regards
    Jan Vervecken

  • Deploy failure due to jta-data-source in persistence.xml

    Hey All,
    This is driving me insane. Every example, including the Sun tutorials (which don't work on my instance of Glassfish), list persistence.xml files like:
    "<?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
         <persistence-unit name="persistence_sample">
    <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider>
    <jta-data-source>jdbc/SamplesDB</jta-data-source>
    <non-jta-data-source>jdbc/SamplesDB__nontx</non-jta-data-source>
    </persistence-unit>
    </persistence>"
    I've tried every combination of <persistence...> tags, with namespace definitions, posted in examples on the internet, but my problem is, any time I deploy my ear with a "<jta-data-source>" tag specified, I receive the following failure from the App Server:
    "Error loading deployment descriptors for module [pi-0] Line 26 Column 24 -- Deployment descriptor file META-INF/persistence.xml in archive [pi-ejb.jar]. cvc-complex-type.2.4.a: Invalid content was found starting with element 'jta-data-source'. One of '{"http://java.sun.com/xml/ns/persistence":class, "http://java.sun.com/xml/ns/persistence":exclude-unlisted-classes, "http://java.sun.com/xml/ns/persistence":properties}' is expected.
         at com.sun.enterprise.deployment.backend.Deployer.loadDescriptors(Deployer.java:352)
         at com.sun.enterprise.deployment.backend.AppDeployerBase.loadDescriptors(AppDeployerBase.java:327)
         at com.sun.enterprise.deployment.backend.AppDeployer.explodeArchive(AppDeployer.java:332)
         at com.sun.enterprise.deployment.backend.AppDeployer.deploy(AppDeployer.java:182)
         at com.sun.enterprise.deployment.backend.AppDeployer.doRequestFinish(AppDeployer.java:129)
         at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:169)
         at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:95)
         at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:871)
         at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:266)
         at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:739)
         at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:174)
         at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:210)
    Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'jta-data-source'. One of '{"http://java.sun.com/xml/ns/persistence":class, "http://java.sun.com/xml/ns/persistence":exclude-unlisted-classes, "http://java.sun.com/xml/ns/persistence":properties}' is expected.
         at com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:285)
         at com.sun.enterprise.deployment.archivist.Archivist.readPersistenceDeploymentDescriptor(Archivist.java:1718)
         at com.sun.enterprise.deployment.archivist.EjbArchivist.readPersistenceDeploymentDescriptors(EjbArchivist.java:239)
         at com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors(Archivist.java:301)
         at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:200)
         at com.sun.enterprise.deployment.archivist.ApplicationArchivist.readModulesDescriptors(ApplicationArchivist.java:308)
         at com.sun.enterprise.deployment.backend.Deployer.loadDescriptors(Deployer.java:316)
         ... 11 more"
    Note that this only happens when I have a <jta-data-source> element in the persistence.xml file. When I comment out the jta-data-source, it deploys without problems (though it doesn't do much). Here's my persistence-unit code:
    <persistence-unit name="prodcontext" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>OneOfMyClasses</class>
    <jta-data-source>jdbc/SamplesDB</jta-data-source>
    </persistence-unit>
    Please help.
    Thank you,
    Todd

    Okay okay, my mistake (staring at this thing too long).
    The solution is, I confess I overlooked it, the jta-data-source node in the xml has to follow the exact order specified in the xsd. I was putting it below the class nodes, which is a no-no.

  • Jdbc hangs on first connection only

    We are running a number of java applications against an Oracle 11g database. The applications are all running on disk-less machines. We are seeing weird behaviour where the first connection, and only the first connection for each application hangs.
    We even see this for sqldeveloper, if you start sqldeveloper and try to make a connection, it sits there with the bar going back and forth until you click cancel, at which point every connection you attempt to make after that is fine.
    We are pretty sure this has to be a problem with JDBC running on a disk-less machine. We have some ODBC applications that run fine on these disk-less machines and we can run the java applications fine on a machine with a disk that has the same architecture as the one without.
    We have tried to turn on JDBC logging by using the ojdbc5_g.jar and setting oracle.jdbc.Trace=true, but have had no success, we have also tried doing it programatically by setting DriverManager.setLogger() and setting it to System.out, but haven't seen anything new.
    We are using the oracle:thin driver and are running on red hat 5.0 with Java 1.5 and a 64 bit architecture, against Oracle 11g . Does anyone have any thoughts on what is going on?
    Edited by: user538801 on Aug 11, 2009 12:15 PM

    We found it, it was a pretty obscure issue. The JDBC getConnection() method makes a call to the random number generator. This call hangs due to the system entropy being 0 on the disk-less blades, when the JVM starts up it waits on the first call to the random number generator for the system entropy to get above a certain threshold which it doesn't do.
    The solution was to use a different random number generator, by default the JVM uses/dev/random which requires sufficient entropy to seed the first call, we changed it to /dev/urandom by setting java.security.egd which is slightly less random, but does not hang on the first call.

  • EJB JTA EntityManager not injected (null)

    Hello,
    I'm writing an enterprise application which uses JSF, EJB and the Java Persistence API (JPA) and I ran into a problem.
    I'm trying to implement username and password based authentication with the username and password stored in a database. The problem is that I cannot access the database because my injected EntityManager is always null.
    Here are some details: My application is called application, it has two modules: a Web application module (application-web) and an EJB module (application-ejb).
    I have a JSP page in which I use JSF tag libraries (login.jsp). I have a backing bean specifically for authentication purposes, called AuthenticationBackingBean. The backing bean is properly declared in faces-config.xml, I can access it without any problems. It has a method, authenticate, which I use to check if the current username and password (stored in the bean from the JSP) validate against the database. authenticate solves this by calling an EJB method with the same name. The EJB is injected with the @EJB annotation. It works, there's no problem calling the authenticate method of the EJB through the remote interface.
    The problems begin in my EJB, AuthenticationBean. I inject the EntityManager (em) into the EJB with the @PersistenceContext annotation. I understand that injecting it into EJBs should work, because they're container-managed. The problem is that it is always null, I used java.utils.logging.Logger to log its value in the server log. I also tried to inject EntityManagerFactory with the @PersistenceUnit annotation. It doesn't work either, it's null, just like em. I have read about 10 other posts and could not find any solution.
    Some other information: I inject the EntityManager in the EJB outside of any method, I understood that it would pose a problem. The server doesn't say anything, the DB tables are created. I'm using Sun Java System Application Server Platform Edition 9.0 Update 1 Patch 1.
    Here are some of the relevant parts of the code:
    AuthenticationBackingBean.java
    (the backing bean)
    package com.aci.application.backing;
    import com.aci.application.ejb.AuthenticationRemote;
    import javax.ejb.EJB;
    public class AuthenticationBackingBean
        private Boolean authenticated;
        private String password;
        private String username;
        @EJB
        AuthenticationRemote authenticationBean;
        public AuthenticationBackingBean()
         authenticated = false;
        public String authenticate()
         if (authenticationBean.authenticate(username, password) == false)
             return "failure";
         return "success";
        public Boolean getAuthenticated()
         return authenticated;
        public void setAuthenticated(Boolean authenticated)
         this.authenticated = authenticated;
        public String getPassword()
         return password;
        public void setPassword(String password)
         this.password = password;
        public String getUsername()
         return username;
        public void setUsername(String username)
         this.username = username;
    AuthenticationBean.java
    (the EJB)
    package com.aci.application.ejb;
    import com.aci.application.entity.UserDBAO;
    import java.util.logging.Logger;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    @Stateless
    public class AuthenticationBean implements com.aci.application.ejb.AuthenticationRemote
        private UserDBAO dbao;
        @PersistenceContext
        private EntityManager em;
        private Logger logger;
        public AuthenticationBean()
         dbao = new UserDBAO(em);
         logger = Logger.getLogger("com.aci.application.ejb.AuthenticationBean");
         String record = "";
         record += "em: " + em + "\n";
         logger.info(record);
        public Boolean authenticate(final String username, final String password)
         if (dbao.getUserByCredentials(username, password) == null)
             return false;
         return true;
    UserDBAO.java
    (I use this class to access the entities (currently only entity).)
    package com.aci.application.entity;
    import java.util.logging.Logger;
    import javax.persistence.EntityManager;
    public class UserDBAO
        private EntityManager em;
        private Logger logger;
        public UserDBAO(EntityManager em)
         this.em = em;
         logger = Logger.getLogger("com.aci.application.entity.UserDBAO");
        public User getUserByCredentials(final String username, final String password)
         String record = "";
         record += "em: " + em + "\n";
         logger.info(record);
         return null;
         return (User)em.createNamedQuery("getUserByCredentials")
             .setParameter("username", username)
             .setParameter("password", password)
             .getSingleResult();
    User.java
    (the entity)
    package com.aci.application.entity;
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedQuery;
    import javax.persistence.Table;
    @Entity
    @NamedQuery
        name = "getUserByCredentials",
        query =
         "SELECT user " +
            "FROM User user " +
         "WHERE user.username = :username AND user.password = :password"
    @Table(name = "Users")
    public class User implements Serializable
        private Long id;
        private String username;
        private String password;
        @Id
        @GeneratedValue(strategy = GenerationType.TABLE)
        public Long getId()
            return this.id;
        public void setId(Long id)
         this.id = id;
        @Column(name = "username")
        public String getUsername()
         return username;
        public void setUsername(String username)
         this.username = username;
        @Column(name = "password")
        public String getPassword()
         return password;
        public void setPassword(String password)
         this.password = password;
    persistence.xml
    I've read that if some version number is wrong the container does not bother to inject.
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
      <persistence-unit name="ApplicationPersistenceUnit" transaction-type="JTA">
        <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider>
        <jta-data-source>jdbc/TestDB</jta-data-source>
        <properties>
          <property name="toplink.ddl-generation" value="create-tables"/>
        </properties>
      </persistence-unit>
    </persistence>I don't know if this will do any good, but I'm posting web.xml and faces-context.xml too.
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    <web-app version="2.5"
          xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    -->
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          version="2.5">
        <servlet>
            <servlet-name>Faces Servlet</servlet-name>
            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>Faces Servlet</servlet-name>
            <url-pattern>/faces/*</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>30</session-timeout>
        </session-config>
    </web-app>
    faces-context.xml
    <?xml version='1.0' encoding='UTF-8'?>
    <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
        <navigation-rule>
            <from-view-id>/login.jsp</from-view-id>
         <navigation-case>
             <from-outcome>failure</from-outcome>
             <to-view-id>/failure.jsp</to-view-id>
         </navigation-case>
            <navigation-case>
             <from-outcome>success</from-outcome>
             <to-view-id>/success.jsp</to-view-id>
         </navigation-case>
        </navigation-rule>
        <managed-bean>
         <managed-bean-name>authentication</managed-bean-name>
         <managed-bean-class>com.aci.application.backing.AuthenticationBackingBean</managed-bean-class>
         <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
    </faces-config>I'm totally new to Java EE, this is my first application (test program), I would really appreciate some detailed information, please.

    Hi Csabi,
    Glad to hear it fixed your issue.
    --ken                                                                                                                                                                                                           

  • Invalid Oracle URL specified: OracleDataSource.makeURL in Arquillian ITest

    I asked this on Stackoverflow but haven't received any feedback.  oracle11g - Invalid Oracle URL specified: OracleDataSource.makeURL in Arquillian ITest - Stack Overflow   I'm hoping for a response here.
    I work hard to resolve any and every error I get thrown and mostly always work out the solution.  I find a good walk helps.  But this one has me stumped, I've been staring at this same error all day.  Like Ticcie in http://stackoverflow.com/questions/1332869/invalid-oracle-url-specified-oracledatasource-makeurl suggests, the error message does nothing to help understand what is wrong.
    <pre jivemacrouid="_13768863908977320" ___default_attr="java" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13768863908977320">    SEVERE: Exception during lifecycle processing
        org.glassfish.deployment.common.DeploymentException: Exception (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException
        Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: Invalid Oracle URL specified: OracleDataSource.makeURL
        Error Code: 0
            at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:762)
            at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
    I am doing Arquillian Integration Testing for a Java EE 7 EAR application.  Its been going well using JPA and the DerbyDb but I now need to test Native Oracle DB (11g) SQL.  So I've setup a new testing project to connect to an OracleDB using EclipseLink.
    I CAN connect to the database through the Eclipse IDE DataSource explorer and ping it no problems.  
    I DO connect to a sister Oracle database in Glassfish standalone and ping it no problems.
    But the Arquillian Test cannot connect to it with the above ambiguous error.
    I use exactly the same URL as I have with the Eclipse IDE DataSource explorer:
    <pre jivemacrouid="_13768864212106660" ___default_attr="java" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13768864212106660">    jdbc:oracle:thin:@marina.work.com:1521:orcl
    The Arquillian setup is the same as I did for DerbyDb (pretty-much same as http://arquillian.org/guides/testing_java_persistence/ with these variations for OracleDB.  I'm attaching a minimal test case where you can see this and run it yourself:
    <pre jivemacrouid="_13768865012731288" ___default_attr="xml" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13768865012731288"># src/main/resources-glassfish-embedded/sun-resources.xml
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
        <resources>
            <jdbc-resource pool-name="ArquillianOraclePool" jndi-name="jdbc/arquillian" />
            <jdbc-connection-pool name="ArquillianOraclePool" res-type="javax.sql.DataSource" datasource-classname="oracle.jdbc.pool.OracleDataSource" 
                is-isolation-level-guaranteed="false" >
            </jdbc-connection-pool>
        </resources>
    <pre jivemacrouid="_13768865126088326" ___default_attr="xml" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13768865126088326"># src/main/resources-glassfish-embedded/test-persistence.xml
        <?xml version="1.0" encoding="UTF-8"?>
        <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="
              http://java.sun.com/xml/ns/persistence
              http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
            <persistence-unit name="esaarch01-pu" transaction-type="JTA">
                <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
                <jta-data-source>jdbc/arquillian</jta-data-source>
                <jar-file>test.jar</jar-file>
                <exclude-unlisted-classes>false</exclude-unlisted-classes>
                <properties>
                    <property name="javax.persistence.jdbc.Url" value="jdbc:oracle:thin:@marina.work.com:1521:orcl" />
                    <property name="javax.persistence.jdbc.Password" value="demo" />
                    <property name="javax.persistence.jdbc.User" value="test" />
                    <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver" />    <!-- driver. -->
                    <property name="javax.persistence.jdbc.platform" value="org.eclipse.persistence.platform.database.oracle.OraclePlatform" />
                    <property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
                    <property name="eclipselink.logging.level" value="FINE" />
                    <property name="eclipselink.logging.level.sql" value="FINE" />
                </properties>
            </persistence-unit>
        </persistence>
    To prove this file is used (for something) I've introduced XML well-formedness errors such as text in the `properties` element and receive the following error.
    <pre jivemacrouid="_13768865443638511" ___default_attr="java" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13768865443638511"> 
        java.io.IOException: org.xml.sax.SAXParseException; lineNumber: 21; columnNumber: 16; Deployment descriptor file META-INF/persistence.xml in archive .  cvc-complex-type.2.3: Element 'properties' cannot have character , because the ...
    I've tried different property names but none change the error message.  Which makes me think that the URL property isn't being picked up at all.  
    Such URL variations as (with matching mods for name and password):
    <pre jivemacrouid="_13768865691348423" ___default_attr="java" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13768865691348423">    javax.persistence.jdbc.url URL Url (three variations)
        eclipselink.jdbc.url URL Url (three variations)
    No variation works.  Same error.
    It would be really nice if the exception can be more specific about what it can and cannot find.
    I followed Diagnosability in JDBC to try and increase the log output.  It provides a little more insight.  Below is the relevant log messages.
    Can anyone tell me what's going wrong and what I need to do to make it work?  Sample project is attached (I assume I can attach and will try after posting since I can't see anything at the moment).  To get going you'll need to do the following:
    1. Add OJDBC6_g to your local maven repository with:
    <pre _modifiedtitle="true" jivemacrouid="_13768941800232399" ___default_attr="javascript" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13768941800232399">mvn install:install-file -Dfile=ojdbc6_g.jar -DgroupId=com.oracle  -DartifactId=ojdbc6_g -Dversion=11.2.0 -Dpackaging=jar
    Be running an Oracle11g DB and set the parameters in the file:
    <pre jivemacrouid="_13768943053094146" ___default_attr="plain" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13768943053094146">sun/main/resources-glassfish-embedded
    <pre jivemacrouid="_13768942865272586" ___default_attr="plain" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13768942865272586">
    Also notice there is a 'derby' version of this file and the sun-resources file.  And there is a line of code in createData() in the AlertSQLTest.java Unit Test file (that you run) to change between Derby and Oracle.  The point of this is to show that Derby works fine, although of course you don't need to specify a URL nor username and password.  I'm confident the persistence.xml is being used.
    In the following log output I'm most interested in the line:
    <pre jivemacrouid="_1376955648594262" ___default_attr="plain" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_1376955648594262">Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource getConnection
    FINE: 37A26011 Public Enter: "", ""
    Which immediately proceeds the exception.
    To turn on this mass of debug I:
    <pre jivemacrouid="_13769559423811728" ___default_attr="plain" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13769559423811728">oracle.jdbc.pool.level=FINE
    org.level=FINE
    java.level=FINE
    javax.level=FINE
    com.level=FINE
    sun.level=FINE
    oracle.jdbc.level=INFO
    oracle.sql.level=FINE
    oracle.jdbc.handlers=java.util.logging.ConsoleHandler
    Run eclipse from the command-line (Linux) after setting JAVAOPTIONS.  Sorry can't tell you off the top of my head what you need to do in Windows.
    bsmith &gt; export JAVAOPTIONS='-Doracle.jdbc.Trace=true'bsmith > eclipse &
    <pre jivemacrouid="_13769558284387639" ___default_attr="plain" jivemacro="code" class="jive_text_macro jive_macro_code jivemacrouid_13769558284387639">Aug 19, 2013 4:09:37 PM org.glassfish.persistence.jpa.JPADeployer event
    FINE: JpaDeployer.event(): Handling APPLICATION_PREPARED origin is:deploy
    Aug 19, 2013 4:09:37 PM org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver detectJPA
    DEBUG: Found javax.persistence.Persistence on classpath containing 'getPersistenceUtil'. Assuming JPA 2 environment. Trying to instantiate JPA aware TraversableResolver
    Aug 19, 2013 4:09:37 PM org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver detectJPA
    DEBUG: Instantiated JPA aware TraversableResolver of type org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.
    Aug 19, 2013 4:09:37 PM org.hibernate.validator.internal.xml.ValidationXmlParser getInputStream
    DEBUG: Trying to load META-INF/validation.xml for XML based Validator configuration.
    Aug 19, 2013 4:09:37 PM org.hibernate.validator.internal.xml.ValidationXmlParser getInputStream
    DEBUG: No META-INF/validation.xml found. Using annotation based configuration only.
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.naming.impl.SerialInitContextFactory getInitialContext
    FINE: getInitialContext: env={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory}
    Aug 19, 2013 4:09:37 PM NamedNamingObjectManager tryNamedProxies
    FINE: found a new proxy for
    Aug 19, 2013 4:09:37 PM org.eclipse.persistence.session.file:/tmp/gfembed1088134816527298857tmp/applications/test/test_war/WEB-INF/lib/test.jar_esaarch01-pu
    INFO: EclipseLink, version: Eclipse Persistence Services - 2.5.0.v20130507-3faac2b
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.connectors.ConnectorRegistry getInstance
    FINE: returning the connector registry
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.connectors.ConnectionManagerImpl allocateConnection
    FINE: RAR5036:Resource reference is not defined for JNDI name
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.connectors.ConnectorRegistry getInstance
    FINE: returning the connector registry
    Aug 19, 2013 4:09:37 PM com.sun.gjc.spi.ManagedConnectionFactoryImpl logFine
    FINE: In equals
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.connectors.ConnectorRegistry getDescriptor
    FINE: Found/returing Connector descriptor in connector registry.
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.connectors.ConnectionManagerImpl logFine
    FINE: ConnectionMgr: poolName ArquillianOraclePool  txLevel : 1
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.resource.pool.PoolManagerImpl logFine
    FINE: Returning noTxResourceManager
    Aug 19, 2013 4:09:37 PM com.sun.gjc.spi.ManagedConnectionFactoryImpl logFine
    FINE: In createManagedConnection
    Aug 19, 2013 4:09:37 PM com.sun.gjc.spi.ManagedConnectionFactoryImpl logFine
    FINE: In equals
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource <init>
    FINE: 37A26011 Public Enter: 
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource <init>
    FINE: 37A26011 Public Enter: 
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource <init>
    FINE: 37A26011 Exit
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource <init>
    FINE: 37A26011 Exit
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource getConnection
    FINE: 37A26011 Public Enter: "", ""
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource getConnection
    FINE: 37A26011 Public Enter: "", ""
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource makeURL
    SEVERE: 37A26011 Throwing SQLException: 67OracleDataSource.makeURL
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource makeURL
    SEVERE: 37A26011 Throwing SQLException: 67OracleDataSource.makeURL
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource getConnection
    FINE: 37A26011 Exit
    Aug 19, 2013 4:09:37 PM oracle.jdbc.pool.OracleDataSource getConnection
    FINE: 37A26011 Exit
    Aug 19, 2013 4:09:37 PM com.sun.gjc.spi.DSManagedConnectionFactory createManagedConnection
    FINE: jdbc.exc_create_conn
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator createResource
    WARNING: RAR5038:Unexpected exception while creating resource for pool ArquillianOraclePool. Exception : javax.resource.spi.ResourceAllocationException: Connection could not be allocated because: Invalid Oracle URL specified: OracleDataSource.makeURL
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator createResource
    FINE: Resource Exception while creating resource
    javax.resource.spi.ResourceAllocationException: Connection could not be allocated because: Invalid Oracle URL specified: OracleDataSource.makeURL
        at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:129)
        at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87)
        at com.sun.enterprise.resource.pool.ConnectionPool.createSingleResource(ConnectionPool.java:907)
        at com.sun.enterprise.resource.pool.ConnectionPool.createResource(ConnectionPool.java:1189)
        at com.sun.enterprise.resource.pool.datastructure.RWLockDataStructure.addResource(RWLockDataStructure.java:98)
        at com.sun.enterprise.resource.pool.ConnectionPool.addResource(ConnectionPool.java:282)
        at com.sun.enterprise.resource.pool.ConnectionPool.createResourceAndAddToPool(ConnectionPool.java:1512)
        at com.sun.enterprise.resource.pool.ConnectionPool.createResources(ConnectionPool.java:944)
        at com.sun.enterprise.resource.pool.ConnectionPool.initPool(ConnectionPool.java:230)
        at com.sun.enterprise.resource.pool.ConnectionPool.internalGetResource(ConnectionPool.java:511)
        at com.sun.enterprise.resource.pool.ConnectionPool.getResource(ConnectionPool.java:381)
        at com.sun.enterprise.resource.pool.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:245)
        at com.sun.enterprise.resource.pool.PoolManagerImpl.getResource(PoolManagerImpl.java:170)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.getResource(ConnectionManagerImpl.java:360)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:307)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:196)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:171)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:166)
        at com.sun.gjc.spi.base.AbstractDataSource.getConnection(AbstractDataSource.java:114)
        at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:123)
        at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
        at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:203)
        at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:734)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:239)
        at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:681)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302)
        at org.glassfish.persistence.jpa.JPADeployer$2.visitPUD(JPADeployer.java:451)
        at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
        at org.glassfish.persistence.jpa.JPADeployer.iterateInitializedPUsAtApplicationPrepare(JPADeployer.java:492)
        at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:395)
        at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:484)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
        at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:527)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:523)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:356)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:522)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:108)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1762)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674)
        at com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:133)
        at com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:109)
        at org.jboss.arquillian.container.glassfish.embedded_3_1.GlassFishContainer.deploy(GlassFishContainer.java:227)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:161)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:128)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:271)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:127)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createDeploymentContext(ContainerDeploymentContextHandler.java:78)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.container.impl.client.container.DeploymentExceptionHandler.verifyExpectedExceptionDuringDeploy(DeploymentExceptionHandler.java:50)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:95)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:80)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachDeployment(ContainerDeployController.java:263)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachManagedDeployment(ContainerDeployController.java:239)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deployManaged(ContainerDeployController.java:79)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
        at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:101)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)
        at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:182)
        at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
        at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
        at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Caused by: java.sql.SQLException: Invalid Oracle URL specified: OracleDataSource.makeURL
        at oracle.jdbc.pool.OracleDataSource.makeURL(OracleDataSource.java:3056)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:297)
        at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:117)
        ... 136 more
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.resource.pool.ConnectionPool createSingleResource
    FINE: Connection creation failed for 1 time. It will be retried, if connection creation retrial is enabled.
    com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: Invalid Oracle URL specified: OracleDataSource.makeURL
        at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:110)
        at com.sun.enterprise.resource.pool.ConnectionPool.createSingleResource(ConnectionPool.java:907)
        at com.sun.enterprise.resource.pool.ConnectionPool.createResource(ConnectionPool.java:1189)
        at com.sun.enterprise.resource.pool.datastructure.RWLockDataStructure.addResource(RWLockDataStructure.java:98)
        at com.sun.enterprise.resource.pool.ConnectionPool.addResource(ConnectionPool.java:282)
        at com.sun.enterprise.resource.pool.ConnectionPool.createResourceAndAddToPool(ConnectionPool.java:1512)
        at com.sun.enterprise.resource.pool.ConnectionPool.createResources(ConnectionPool.java:944)
        at com.sun.enterprise.resource.pool.ConnectionPool.initPool(ConnectionPool.java:230)
        at com.sun.enterprise.resource.pool.ConnectionPool.internalGetResource(ConnectionPool.java:511)
        at com.sun.enterprise.resource.pool.ConnectionPool.getResource(ConnectionPool.java:381)
        at com.sun.enterprise.resource.pool.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:245)
        at com.sun.enterprise.resource.pool.PoolManagerImpl.getResource(PoolManagerImpl.java:170)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.getResource(ConnectionManagerImpl.java:360)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:307)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:196)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:171)
        at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:166)
        at com.sun.gjc.spi.base.AbstractDataSource.getConnection(AbstractDataSource.java:114)
        at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:123)
        at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
        at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:203)
        at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:734)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:239)
        at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:681)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302)
        at org.glassfish.persistence.jpa.JPADeployer$2.visitPUD(JPADeployer.java:451)
        at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
        at org.glassfish.persistence.jpa.JPADeployer.iterateInitializedPUsAtApplicationPrepare(JPADeployer.java:492)
        at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:395)
        at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:484)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
        at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:527)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:523)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:356)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:522)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:108)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1762)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674)
        at com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:133)
        at com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:109)
        at org.jboss.arquillian.container.glassfish.embedded_3_1.GlassFishContainer.deploy(GlassFishContainer.java:227)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:161)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:128)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:271)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:127)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createDeploymentContext(ContainerDeploymentContextHandler.java:78)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.container.impl.client.container.DeploymentExceptionHandler.verifyExpectedExceptionDuringDeploy(DeploymentExceptionHandler.java:50)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:95)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:80)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachDeployment(ContainerDeployController.java:263)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachManagedDeployment(ContainerDeployController.java:239)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deployManaged(ContainerDeployController.java:79)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
        at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:101)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)
        at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:182)
        at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)
        at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)
        at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Caused by: javax.resource.spi.ResourceAllocationException: Connection could not be allocated because: Invalid Oracle URL specified: OracleDataSource.makeURL
        at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:129)
        at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87)
        ... 135 more
    Caused by: java.sql.SQLException: Invalid Oracle URL specified: OracleDataSource.makeURL
        at oracle.jdbc.pool.OracleDataSource.makeURL(OracleDataSource.java:3056)
        at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:297)
        at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:117)
        ... 136 more
    Aug 19, 2013 4:09:37 PM com.sun.enterprise.connectors.ConnectionManagerImpl internalGetConnection
    WARNING: RAR5117 : Failed to obtain/create connection from connection pool . Reason : com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: Invalid Oracle URL specified: OracleDataSource.makeURL
    Aug 19, 2013 4:09:37 PM com.sun.gjc.spi.base.AbstractDataSource logNonTransientException
    WARNING: jdbc.exc_get_conn
    Aug 19, 2013 4:09:37 PM org.eclipse.persistence.session.file:/tmp/gfembed1088134816527298857tmp/applications/test/test_war/WEB-INF/lib/test.jar_esaarch01-pu.ejb
    SEVERE: 
    Local Exception Stack: 
    Exception (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: Invalid Oracle URL specified: OracleDataSource.makeURL
    Error Code: 0
        at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:316)
        at org.eclipse.persistence.sessions.JNDIConnector.connect(JNDIConnector.java:135)
        at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
        at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:203)
        at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:734)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:239)
        at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:681)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302)
        at org.glassfish.persistence.jpa.JPADeployer$2.visitPUD(JPADeployer.java:451)
        at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
        at org.glassfish.persistence.jpa.JPADeployer.iterateInitializedPUsAtApplicationPrepare(JPADeployer.java:492)
        at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:395)
        at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:484)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
        at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:527)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:523)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:356)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:522)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:108)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1762)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674)
        at com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:133)
        at com.sun.enterprise.admin.cli.embeddable.DeployerImpl.deploy(DeployerImpl.java:109)
        at org.jboss.arquillian.container.glassfish.embedded_3_1.GlassFishContainer.deploy(GlassFishContainer.java:227)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:161)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:128)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:271)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:127)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
        at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createDeploymentContext(ContainerDeploymentContextHandler.java:78)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.container.impl.client.container.DeploymentExceptionHandler.verifyExpectedExceptionDuringDeploy(DeploymentExceptionHandler.java:50)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:95)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:80)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachDeployment(ContainerDeployController.java:263)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachManagedDeployment(ContainerDeployController.java:239)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deployManaged(ContainerDeployController.java:79)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeO

    a3828ac4-c7f0-4056-9257-758656c7282f wrote:
    Doesn't the following come from OJDBC and hence is Oracle DB related?
    Caused by: java.sql.SQLException: Invalid Oracle URL specified: OracleDataSource.makeURL
        at oracle.jdbc.pool.OracleDataSource.makeURL(OracleDataSource.java:3056)
    From my perspective, if the connection request does not make it to the listener which runs on the DB Server, then the error is external to Oracle & so is the fix.
    EVERY connection request that is received by the listener is logged into listener.log file.
    If nothing is logged, then the problem occurs before any real Oracle software is contacted.
    You can continue to blame Oracle but it won''t get you any closer to finding the root cause or any solution.
    when was the last time this worked without error?
    What changed since then?

  • JMSServer unavailable

    Hi,
    We are using WebLogic 8.1 SP6 in Solaris (Solaris 10 1/06 s10s_u1wos_19a SPARC). JDK 1.4_11.
    We have a clustered environment using two physical servers, with two WebLogic servers per physical server, making a cluster composed by a total of four servers. Our application is deployed in this cluster.
    The application has few JMSServers, being one of them the following:
    <JMSServer Name="EGMSServer@ServerA1" Targets="ServerA1">
    <JMSQueue ExpirationLoggingPolicy="%header%,%properties%"
    ExpirationPolicy="Log"
    JNDIName="jms/Queue1ServerA1"
    Name="Queue1@ServerA1"
    RedeliveryDelayOverride="10000" RedeliveryLimit="1" StoreEnabled="default"/>
    <JMSQueue ExpirationLoggingPolicy="%header%,%properties%"
    ExpirationPolicy="Log"
    JNDIName="jms/Queue2ServerA1"
    Name="Queue2@ServerA1"
    RedeliveryDelayOverride="0" RedeliveryLimit="0" StoreEnabled="default"/>
    <JMSQueue ExpirationLoggingPolicy="%header%,%properties%"
    ExpirationPolicy="Log"
    JNDIName="Queue3ServerA1"
    Name="Queue3@ServerA1"
    RedeliveryDelayOverride="10000" RedeliveryLimit="1" StoreEnabled="default"/>
    <JMSQueue ExpirationLoggingPolicy="%header%,%properties%"
    ExpirationPolicy="Log"
    JNDIName="Queue4ServerA1"
    Name="Queue4@ServerA1"
    RedeliveryDelayOverride="10000" RedeliveryLimit="1" StoreEnabled="default"/>
    </JMSServer>
    Obviously the definition of this JMSServer is repeated for each member of the cluster.
    All worked fine until yesterday at night. We had a big volume of workload and our transactions started to fail due the following reason:
    2007-08-31 05:04:14,775;[ExecuteThread: '4' for queue: 'activity'];trg.TrgService;ERROR;weblogic.jms.common.JMSException: Internal error: XAResource 'JMS_EGJMSServer@ServerA2_NotDurable' is unavailable
    2007-08-31 05:04:14,784;[ExecuteThread: '4' for queue: 'activity'];util.DBService;ERROR;java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: delist() failed on resource 'JMS_EGJMSServer@ServerA2_NotDurable'.
    Internal error: XAResource 'JMS_EGJMSServer@ServerA2_NotDurable' is unavailable
         at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1604)
         at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1512)
         at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:455)
         at weblogic.jdbc.jta.DataSource.connect(DataSource.java:410)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:344)
         at DatabaseConnectionPool.getConnection(DatabaseConnectionPool.java:28)
         at Module.getInboundConnection(Module.java:130)
         at DBService.updateIpDataTransmLog(DBService.java:1008)
         at Service.process(bService.java:269)
         at activity.postprocessor.InPostProcessor.processImpl(InPostProcessor.java:88)
         at StageAbs.timebox(StageAbs.java:80)
         at StageAbs.process(StageAbs.java:46)
         at core.bridge.MDBBridgeDelegate.onMessage(MDBBridgeDelegate.java:55)
         at activity.bridge.impl.ejb.EventQueueMDB.onMessage(EventQueueMDB.java:73)
         at weblogic.ejb20.internal.MDListener.execute(MDListener.java:400)
         at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
         at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2698)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:2610)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    We observed that few minutes before this problem the JMSServer EGJMSServer became unavailable in the server where the crash took place, and stayed unavailable for 5 minutes. It seems that this unavailability caused this failure. I am including the relevant server logs:
    ####<Aug 31, 2007 5:02:26 AM MEST> <Warning> <JTA> <barge> <ServerA2> <ExecuteThread: '0' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <BEA-110030> <XA resource [JMS_EGJMSServer@ServerA2_NotDurable] has not responded in the last 0 second(s).>
    ####<Aug 31, 2007 5:02:26 AM MEST> <Warning> <JTA> <barge> <ServerA2> <ExecuteThread: '1' for queue: 'activity'> <<anonymous>> <BEA1-288E8324BAE684A42059> <BEA-110405> <Resource JMS_EGJMSServer@ServerA2_NotDurable was not assigned to any of these servers: ServerA2 >
    ####<Aug 31, 2007 5:02:26 AM MEST> <Warning> <JTA> <barge> <ServerA2> <ExecuteThread: '2' for queue: 'activity'> <<anonymous>> <BEA1-288C8324BAE684A42059> <BEA-110405> <Resource JMS_EGJMSServer@ServerA2_NotDurable was not assigned to any of these servers: ServerA2 >
    ####<Aug 31, 2007 5:02:26 AM MEST> <Warning> <JTA> <barge> <ServerA2> <ExecuteThread: '3' for queue: 'ctivity'> <<anonymous>> <BEA1-288F8324BAE684A42059> <BEA-110405> <Resource JMS_EGJMSServer@ServerA2_NotDurable was not assigned to any of these servers: ServerA2 >
    ####<Aug 31, 2007 5:02:26 AM MEST> <Warning> <JTA> <barge> <ServerA2> <ExecuteThread: '4' for queue: 'activity'> <<anonymous>> <BEA1-288D8324BAE684A42059> <BEA-110405> <Resource JMS_EGJMSServer@ServerA2_NotDurable was not assigned to any of these servers: ServerA2 >
    ####<Aug 31, 2007 5:02:26 AM MEST> <Info> <EJB> <barge> <ServerA2> <ExecuteThread: '0' for queue: 'activity'> <<anonymous>> <> <BEA-010213> <Message-Driven EJB: DbSpoolEventQueueMDB's transaction was rolledback. The transaction details are: Xid=BEA1-28908324BAE684A42059(20710803),Status=Rolled back. [Reason=javax.jms.JMSException: failed to enlist the transaction],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,SCInfo[xxx+ServerA2]=(state=rolledback),local properties=({weblogic.jdbc.jta.IntegXAConnectionPool=weblogic.jdbc.wrapper.TxInfo@15eb303}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=ServerA2+barge:7032+xxx+t3+, XAResources={JMS_EGJMSServer@ServerA2_NotDurable, JMS_ZZZJMSServer@ServerA2_NotDurable, Sys2ConnectionPool, Sys1ConnectionPool, IntegXAConnectionPool},NonXAResources={})],CoordinatorURL=ServerA2+barge:7032+xxx+t3+).>
    (2.1) ####<Aug 31, 2007 5:02:26 AM MEST> <Error> <EJB> <barge> <ServerA2> <ExecuteThread: '2' for queue: 'activity'> <<anonymous>> <> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-288C8324BAE684A42059(33313611),Status=Rolled back. [Reason=javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: JMS_EGJMSServer@ServerA2_NotDurable],
    --------------- nested within: ------------------
    weblogic.transaction.RollbackException: Aborting prepare because the following resources could not be assigned: JMS_EGJMSServer@ServerA2_NotDurable - with nested exception:
    [javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: JMS_EGJMSServer@ServerA2_NotDurable]
         at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1687)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:311)
         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:228)
         at weblogic.ejb20.internal.MDListener.execute(MDListener.java:430)
         at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
         at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2698)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:2610)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    .>
    ####<Aug 31, 2007 5:02:26 AM MEST> <Error> <EJB> <barge> <ServerA2> <ExecuteThread: '3' for queue: 'activity'> <<anonymous>> <> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-288F8324BAE684A42059(21874355),Status=Rolled back. [Reason=javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: JMS_EGJMSServer@ServerA2_NotDurable],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[JMS_EGJMSServer@ServerA2_NotDurable]=(ServerResourceInfo[JMS_EGJMSServer@ServerA2_NotDurable]=(state=started,assigned=none),xar=JMS_EGJMSServer@ServerA2_NotDurable,re-Registered = false),XAServerResourceInfo[IntegXAConnectionPool]=(ServerResourceInfo[IntegXAConnectionPool]=(state=rolledback,assigned=ServerA2),xar=IntegXAConnectionPool,re-Registered =
    ####<Aug 31, 2007 5:02:26 AM MEST> <Error> <EJB> <barge> <ServerA2> <ExecuteThread: '1' for queue: 'activity'> <<anonymous>> <> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-288E8324BAE684A42059(30340443),Status=Rolled back. [Reason=javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: JMS_EGJMSServer@ServerA2_NotDurable],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[JMS_EGJMSServer@ServerA2_NotDurable]=(ServerResourceInfo[JMS_EGJMSServer@ServerA2_NotDurable]=(state=started,assigned=none),xar=JMS_EGJMSServer@ServerA2_NotDurable,re-Registered = false),XAServerResourceInfo[IntegXAConnectionPool]=(ServerResourceInfo[IntegXAConnectionPool]=(state=rolledback,assigned=ServerA2),xar=IntegXAConnectionPool,re-Registered
    ####<Aug 31, 2007 5:02:26 AM MEST> <Error> <EJB> <barge> <ServerA2> <ExecuteThread: '4' for queue: 'activity'> <<anonymous>> <> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-288D8324BAE684A42059(5134189),Status=Rolled back. [Reason=javax.transaction.SystemException: Aborting prepare because the following resources could not be assigned: JMS_EGJMSServer@ServerA2_NotDurable],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[JMS_EGJMSServer@ServerA2_NotDurable]=(ServerResourceInfo[JMS_EGJMSServer@ServerA2_NotDurable]=(state=started,assigned=none),xar=JMS_EGJMSServer@ServerA2_NotDurable,re-Registered = false),XAServerResourceInfo[IntegXAConnectionPool]=(ServerResourceInfo[IntegXAConnectionPool]=(state=rolledback,assigned=ServerA2),xar=IntegXAConnectionPool,re-Registered =
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:2610)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    .>
    We have never had this problem and we are clueless about what could have caused it. It was during a moment of a workload pick.
    Could you please advice us on what could be causing this JMSServer to became unavailable? What can justify this problem and wow can we preventit?
    Many thanks!

    Same here. I cannot register for skype manager, it fails on login with the usual:
    "Oops, something went wrong...
    We're having technical problems. We're sorry for the inconvenience. Please try again after a few minutes.
    Thank you."
    Skype heartbeat says everything is ok. Please can we get an update on this?

  • Getting a datasource from a persistence-unit

    Is there any way to get the name of the datasource (non-jta or jta) from a persistence unit via the EntityManagerFactory or EntityManager instances?
    We need to do some JDBC work (for exotic data types) and are currently parsing the persistence.xml file ourselves to get the data source name (which is an awful thing to do) but would much rather be able to say Connection conn = Utility.getConnection(EntityManger em) or even String datasource = Utility.getDataSource(EntityManager em).
    Thanks, Mark

    Mark,
    Hi, I tried non-JTA code on OC4J.
    Try the following change acc.getDatasourceConnection() - tested on OC4J 10.1.3.4 using a RESOURCE_LOCAL non-JTA connection to Oracle 10g entityManager on a servlet.
    I get the same oracle.jdbc.driver.T4CConnection@18d702e connection to my Oracle 10 db from either the .getConnection() or .getDatasouceConnection() call - verify your persistence.xml properties
    <property name="eclipselink.target-server" value="OC4J"/>
    <property name="eclipselink.jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="eclipselink.jdbc.platform" value="org.eclipse.persistence.platform.database.oracle.OraclePlatform"/>
         if (acc != null) {
         //conn = acc.getConnection(); // returns null (I get the same T4CConnection)
         conn = (Connection)acc.getDatasourceConnection(); // returns oracle.jdbc.driver.T4CConnection
    [EL Finer]: 2008.09.30 17:03:07.905--ServerSession(24691161)--Thread(Thread[HTTPThreadGroup-1,9,HTTPThreadGroup])--client acquired
    [EL Finer]: 2008.09.30 17:03:13.061--UnitOfWork(18699935)--Thread(Thread[HTTPThreadGroup-1,9,HTTPThreadGroup])--acquire unit of work: 11546616
    08/09/30 17:03:20 __Connection: oracle.jdbc.driver.T4CConnection@18d702e
    I suspect you are running a RESOURCE_LOCAL entitymanager on your servlet client (not on an EJB) that defines all database properties like 3) below.
    like
    public class FrontController extends HttpServlet implements Servlet {
         public EntityManagerFactory emf = Persistence.createEntityManagerFactory("unified");
         public EntityManager entityManager = emf.createEntityManager();
    not
    @Local @Stateless
    public class ApplicationService implements ApplicationServiceLocal {
         @PersistenceContext(unitName="unified",type=PersistenceContextType.TRANSACTION)     
         private EntityManager entityManager;
    1) JTA on OC4J - NOPE
    Debugging in to UnitOfWorkImpl - I see the oracle.oc4j.sql.ManagedDataSource@202088
    However, I think this is still a tx datasource because usesExternalTransactionController = true
    uow     UnitOfWorkImpl (id=534)     
         project     Project (id=573)     
              datasourceLogin     DatabaseLogin (id=582)     
                   connector     JNDIConnector (id=592)     
                        dataSource     ManagedDataSource (id=599)     
                             m_connectionManger     OracleConnectionManager (id=613)     
                             m_connectionRetryInterval     1     
                             m_dataSourceName     "OracleDS" (id=619)     
                             m_debug     ManagedDataSourceDebugInfo (id=620)     
                             m_dmsConnectionStatMap     WeakHashMap<K,V> (id=622)     
                             m_loginTimeout     0     
                             m_logWriter     null     
                             m_managedConnectionFactory     ManagedConnectionFactoryImpl (id=624)     
                             m_manageLocalTransactions     true     
                             m_manageSqlObjects     "basic" (id=626)     
                             m_maxConnectAttempts     3     
                             m_mBean     ManagedJDBCDataSource (id=632)     
                             m_password     null     
                             m_reference     null     
                             m_unStattedConnections     WeakHashMap<K,V> (id=698)     
                             m_unStattedConnectionsLock     Object[0] (id=658)     
                             m_url     null     
                             m_user     null     
                   usesExternalTransactionController     true     
    Using your getConnection(EntityManager em) code:
    acc     DatabaseAccessor (id=537)     
         datasourceConnection     null     
    using:
    <persistence-unit name="unified" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <non-jta-data-source>jdbc/OracleDS</non-jta-data-source>
    <properties>
    <property name="eclipselink.target-server" value="OC4J"/>
    2) non-JTA on OC4J - NOPE
    using..
    entityManager.getTransaction().begin(); // non-JTA
    System.out.println("__Connection: " + getConnection(entityManager));
    on..
    <persistence-unit name="unified" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <non-jta-data-source>jdbc/OracleDS</non-jta-data-source>
    does not work with...
         @PersistenceContext(unitName="unified",type=PersistenceContextType.TRANSACTION)     
         private EntityManager entityManager;
    08/09/30 16:45:59 Exception: Cannot use resource level transactions with a container managed EntityManager
    3) non-JTA, non container managed on OC4J - YES
    using..
         // Local non-JTA application managed EMF and EM
         public EntityManagerFactory emf = Persistence.createEntityManagerFactory("unified");
         public EntityManager entityManager = emf.createEntityManager();
    persistence.xml
    <persistence-unit name="unified" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <properties>
    <property name="eclipselink.target-server" value="OC4J"/>
    <property name="eclipselink.logging.level" value="FINEST"/>
    <property name="eclipselink.session-name" value="eclipselinkwls"/>
    <property name="eclipselink.jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="eclipselink.jdbc.platform" value="org.eclipse.persistence.platform.database.oracle.OraclePlatform"/>
    <property name="eclipselink.jdbc.url" value="jdbc:oracle:thin:@x.x.x.x:1521:orcl"/>
    <property name="eclipselink.jdbc.user" value="scott"/>
    <property name="eclipselink.jdbc.password" value="password...."/>
    uow     UnitOfWorkImpl (id=518)     
         platform     Oracle10Platform (id=544)     
         project     Project (id=527)     
              aliasDescriptors     null     
              datasourceLogin     DatabaseLogin (id=533)     
                   cacheTransactionIsolation     5     
                   connectionHealthValidatedOnError     true     
                   connector     DefaultConnector (id=542)     
                        connectDirectly     true     
                        databaseURL     "jdbc:oracle:thin:@10.156.53.19:1521:orcl" (id=555)     
                        driver     OracleDriver (id=556)     
                        driverClass     Class<T> (oracle.jdbc.driver.OracleDriver) (id=557)     
                        driverClassName     "oracle.jdbc.driver.OracleDriver" (id=558)     
                        driverURLHeader     "" (id=560)     
    oracle.jdbc.driver.T4CConnection@18d702e
    acc     DatabaseAccessor (id=571)     
         activeBatchWritingMechanism     ParameterizedSQLBatchWritingMechanism (id=575)     
         datasourceConnection     T4CConnection (id=579)     
              database     "x.x.x.x:1521:orcl" (id=638)     
              databaseMetaData     OracleDatabaseMetaData (id=639)     
              databaseProductVersion     "Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production\nWith the Partitioning, OLAP and Data Mining options" (id=641)     
              thinVsessionProgram     "JDBC Thin Client" (id=736)     
              thinVsessionTerminal     "unknown" (id=737)     
              timeout     null     
              timestamptzInGmt     true     
              txnLevel     2     
              txnMode     0     
              url     "jdbc:oracle:thin:@x.x.x.x:1521:orcl" (id=738)     
              useFetchSizeWithLongColumn     false     
              userName     "SCOTT" (id=739)     
              usingXA     false     
              ver     T4C7Oversion (id=740)     
              versionNumber     10201     
              walletLocation     null     
              whichDMS     2     
              wrapper     null     
              xaWantsError     false     
    With the following change...
         public Connection getConnection(EntityManager em) {
         Connection conn = null;
         if (em != null && em.isOpen()) {
         JpaEntityManager jem = (JpaEntityManager)em.getDelegate();
         if (jem != null) {
         Session session = jem.getActiveSession();
         if (session != null) {
         UnitOfWorkImpl uow = (UnitOfWorkImpl)session.acquireUnitOfWork();
         if (uow != null) {
         Accessor acc = uow.getAccessor();
         if (acc != null) {
         //conn = acc.getConnection(); // returns null (I get the same T4CConnection)
         conn = (Connection)acc.getDatasourceConnection(); // returns oracle.jdbc.driver.T4CConnection
         return conn;
    we get...
    [EL Finer]: 2008.09.30 17:03:07.905--ServerSession(24691161)--Thread(Thread[HTTPThreadGroup-1,9,HTTPThreadGroup])--client acquired
    [EL Finer]: 2008.09.30 17:03:13.061--UnitOfWork(18699935)--Thread(Thread[HTTPThreadGroup-1,9,HTTPThreadGroup])--acquire unit of work: 11546616
    08/09/30 17:03:20 __Connection: oracle.jdbc.driver.T4CConnection@18d702e
    thank you
    [email protected]

  • Prod Env prob

    We have Weblogic 8.1 on solaris platform and have a critical application one managed server.This application/server is hangs up quite often ,like 4,5 times in a week.There are 400 execute threads and 3 reader threads.Most of the time the execute threads remain idle ,at the time of problem too, and reader thread are busy.
    I get following Exceptions in log files at different time of problems:
    ####<Feb 7, 2005 8:22:30 AM CST> <Info> <EJB> <lcy002194> <production> <ExecuteThread: '389' for queue: 'weblogic.kernel.Default'> <<anonymous>> <> <BEA-010049> <EJB Exception in method: remove: java.rmi.NoSuchObjectException: Bean has been deleted..
    java.rmi.NoSuchObjectException: Bean has been deleted.
    at weblogic.ejb20.swap.DiskSwap.read(DiskSwap.java:172)
    at weblogic.ejb20.manager.StatefulSessionManager.getBean(StatefulSessionManager.java:326)
    at weblogic.ejb20.manager.StatefulSessionManager.preInvoke(StatefulSessionManager.java:396)
    at weblogic.ejb20.manager.StatefulSessionManager.remove(StatefulSessionManager.java:936)
    at weblogic.ejb20.manager.ReplicatedStatefulSessionManager.remove(ReplicatedStatefulSessionManager.java:196)
    at weblogic.ejb20.internal.StatefulEJBObject.remove(StatefulEJBObject.java:92)
    at com.granite.middle.session.ClientServiceEJB_u5heex_EOImpl.remove(ClientServiceEJB_u5heex_EOImpl.java:4642)
    at com.granite.middle.session.ClientServiceEJB_u5heex_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:466)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:409)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >
    ####<Feb 7, 2005 8:23:38 AM CST> <Info> <EJB> <lcy002194> <production> <ExecuteThread: '389' for queue: 'weblogic.kernel.Default'> <<anonymous>> <BEA1-14E3B0CB38DA> <BEA-010051> <EJB Exception occurred during invocation from home: com.granite.middle.worxng.session.Queue_68j9s_HomeImpl@1ec56c9 threw exception: java.lang.NullPointerException
    java.lang.NullPointerException
    at com.granite.middle.worxng.session.QueueBean.getViewPrivilegeQueueList(QueueBean.java:1056)
    at com.granite.middle.worxng.session.Queue_68j9s_EOImpl.getViewPrivilegeQueueList(Queue_68j9s_EOImpl.java:208)
    at com.granite.middle.worxng.session.Queue_68j9s_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:466)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:409)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java
    ####<Feb 7, 2005 4:50:20 PM CST> <Info> <EJB> <lcy002194> <production> <ExecuteThread: '390' for queue: 'weblogic.kernel.Default'> <<anonymous>> <BEA1-0371ACF1523A94FFBE2B> <BEA-010051> <EJB Exception occurred during invocation from home: com.granite.middle.session.PathEJB_9q5d2l_HomeImpl@f5c440 threw exception: weblogic.utils.NestedError: Unexpected Exception: - with nested exception:
    [java.security.PrivilegedActionException: java.sql.SQLException: Transaction rolled back: Transaction timed out after 599 seconds
    Xid=BEA1-0371ACF1523A94FFBE2B(23844485),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=599,seconds left=60,activeThread=Thread[ExecuteThread: '390' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[JMS_xngJMSFileStore]=(ServerResourceInfo[JMS_xngJMSFileStore]=(state=suspended,assigned=none),xar=JMS_xngJMSFileStore),XAServerResourceInfo[xngprod1_prod]=(ServerResourceInfo[xngprod1_prod]=(state=started,assigned=none),xar=xngprod1_prod),SCInfo[granite+production]=(state=active),local properties=({weblogic.jdbc.jta.xngprod1_prod=weblogic.jdbc.wrapper.TxInfo@d0c4da}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=production+10.174.2.194:7280+granite+t3+, XAResources={},NonXAResources={})],CoordinatorURL=production+10.174.2.194:7280+granite+t3+)]
    java.security.PrivilegedActionException: java.sql.SQLException: Transaction rolled back: Transaction timed out after 599 seconds
    Xid=BEA1-0371ACF1523A94FFBE2B(23844485),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=599,seconds left=60,activeThread=Thread[ExecuteThread: '390' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[JMS_xngJMSFileStore]=(ServerResourceInfo[JMS_xngJMSFileStore]=(state=suspended,assigned=none),xar=JMS_xngJMSFileStore),XAServerResourceInfo[xngprod1_prod]=(ServerResourceInfo[xngprod1_prod]=(state=started,assigned=none),xar=xngprod1_prod),SCInfo[granite+production]=(state=active),local properties=({weblogic.jdbc.jta.xngprod1_prod=weblogic.jdbc.wrapper.TxInfo@d0c4da}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=production+10.174.2.194:7280+granite+t3+, XAResources={},NonXAResources={})],CoordinatorURL=production+10.174.2.194:7280+granite+t3+)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:188)
    at com.granite.middle.helper.jdbc.ConnectionJDBC.getNewConnection(ConnectionJDBC.java:843)
    at com.granite.middle.helper.jdbc.ConnectionJDBC.getConnection(ConnectionJDBC.java:819)
    at com.granite.middle.helper.jdbc.ProfilePrivilegeHelper.checkPrivilege(ProfilePrivilegeHelper.java:553)
    at com.granite.middle.helper.jdbc.ProfilePrivilegeHelper.checkPrivilege(ProfilePrivilegeHelper.java:452)
    at com.granite.middle.logic.PathLogic.getItem(PathLogic.java:429)
    at com.granite.middle.session.PathBean.getItem(PathBean.java:834)
    at com.granite.middle.session.PathBean.getItem(PathBean.java:809)
    at com.granite.middle.session.PathEJB_9q5d2l_EOImpl.getItem(PathEJB_9q5d2l_EOImpl.java:2854)
    at com.granite.bdl.protocol.IIOP.adapter.IIOPPathAdapter.load(IIOPPathAdapter.java:246)
    at com.granite.bdl.protocol.IIOP.adapter.IIOPPathAdapter.loadTransport(IIOPPathAdapter.java:1700)
    at com.granite.bdl.protocol.BDLAdapterImpl.load(BDLAdapterImpl.java:69)
    at com.granite.bdl.protocol.PathImpl.load(PathImpl.java:4656)
    at com.granite.bdl.protocol.PathImpl.loadLiveArchive(PathImpl.java:5004)
    at com.granite.xng_events.DefaultXngEventSerializer.getEventElement(DefaultXngEventSerializer.java:442)
    at com.granite.xng_events.DefaultXngEventSerializer.serialize(DefaultXngEventSerializer.java:92)
    at com.granite.xng_events.XngEventMessageBean.onMessage(XngEventMessageBean.java:442)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
    at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
    at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    Caused by: java.sql.SQLException: Transaction rolled back: Transaction timed out after 599 seconds
    Xid=BEA1-0371ACF1523A94FFBE2B(23844485),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,second
    Please provide me some ideas!
    Thanks

    What does your code do at
    com.granite.middle.worxng.session.QueueBean.getViewPrivilegeQueueList, line 1056 ?
    Regards,
    Slava Imeshev
    <syswebadmin> wrote in message news:202461572@jserv5...
    We have Weblogic 8.1 on solaris platform and have a critical application one managed server.This application/server is hangs upquite often ,like 4,5 times in a week.There are 400 execute threads and 3 reader threads.Most of the time the execute threads remain
    idle ,at the time of problem too, and reader thread are busy.
    I get following Exceptions in log files at different time of problems:
    ####<Feb 7, 2005 8:22:30 AM CST> <Info> <EJB> <lcy002194> <production> <ExecuteThread: '389' for queue: 'weblogic.kernel.Default'><<anonymous>> <> <BEA-010049> <EJB Exception in method: remove: java.rmi.NoSuchObjectException: Bean has been deleted..
    java.rmi.NoSuchObjectException: Bean has been deleted.
    at weblogic.ejb20.swap.DiskSwap.read(DiskSwap.java:172)
    at weblogic.ejb20.manager.StatefulSessionManager.getBean(StatefulSessionManager.java:326)
    at weblogic.ejb20.manager.StatefulSessionManager.preInvoke(StatefulSessionManager.java:396)
    at weblogic.ejb20.manager.StatefulSessionManager.remove(StatefulSessionManager.java:936)
    at weblogic.ejb20.manager.ReplicatedStatefulSessionManager.remove(ReplicatedStatefulSessionManager.java:196)
    at weblogic.ejb20.internal.StatefulEJBObject.remove(StatefulEJBObject.java:92)
    at com.granite.middle.session.ClientServiceEJB_u5heex_EOImpl.remove(ClientServiceEJB_u5heex_EOImpl.java:4642)
    at com.granite.middle.session.ClientServiceEJB_u5heex_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:466)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:409)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >
    ####<Feb 7, 2005 8:23:38 AM CST> <Info> <EJB> <lcy002194> <production> <ExecuteThread: '389' for queue: 'weblogic.kernel.Default'><<anonymous>> <BEA1-14E3B0CB38DA> <BEA-010051> <EJB Exception occurred during invocation from home:
    com.granite.middle.worxng.session.Queue_68j9s_HomeImpl@1ec56c9 threw exception: java.lang.NullPointerException
    java.lang.NullPointerException
    at com.granite.middle.worxng.session.QueueBean.getViewPrivilegeQueueList(QueueBean.java:1056)
    at com.granite.middle.worxng.session.Queue_68j9s_EOImpl.getViewPrivilegeQueueList(Queue_68j9s_EOImpl.java:208)
    at com.granite.middle.worxng.session.Queue_68j9s_EOImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:466)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:409)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java
    ####<Feb 7, 2005 4:50:20 PM CST> <Info> <EJB> <lcy002194> <production> <ExecuteThread: '390' for queue: 'weblogic.kernel.Default'><<anonymous>> <BEA1-0371ACF1523A94FFBE2B> <BEA-010051> <EJB Exception occurred during invocation from home:
    com.granite.middle.session.PathEJB_9q5d2l_HomeImpl@f5c440 threw exception: weblogic.utils.NestedError: Unexpected Exception: - with
    nested exception:
    [java.security.PrivilegedActionException: java.sql.SQLException: Transaction rolled back: Transaction timed out after 599 seconds
    Xid=BEA1-0371ACF1523A94FFBE2B(23844485),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=599,seconds
    left=60,activeThread=Thread[ExecuteThread: '390' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue:'weblogic.kernel.Default',XAServerResourceInfo[JMS_xngJMSFileStore]=(ServerResourceInfo[JMS_xngJMSFileStore]=(state=suspended,assigned=none),xar=JMS_xngJMSFileStore),XAServerResourceInfo[xngprod1_prod]=(ServerResourceInfo[xngprod1_prod]=(state=started,assigned=no
    ne),xa
    r=xngprod1_prod),SCInfo[granite+production]=(state=active),localproperties=({weblogic.jdbc.jta.xngprod1_prod=weblogic.jdbc.wrapper.TxInfo@d0c4da}),OwnerTransactionManager=ServerTM[ServerCoordinato
    rDescriptor=(CoordinatorURL=production+10.174.2.194:7280+granite+t3+,
    XAResources={},NonXAResources={})],CoordinatorURL=production+10.174.2.194:7280+granite+t3+)]
    java.security.PrivilegedActionException: java.sql.SQLException: Transaction rolled back: Transaction timed out after 599 seconds
    Xid=BEA1-0371ACF1523A94FFBE2B(23844485),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=599,secondsleft=60,activeThread=Thread[ExecuteThread'390'forqueue'weblogic.kernel.Default',5,ThreadGroupforQueue'weblogic.kernel.Default'],XA
    ServerResourceInfo[JMS_xngJMSFileStore]=,XAServerResourceInfo[xngprod1_prod]=ServerResourceInfo[xngprod1_prod]=state=started,assigne
    d=none,xa
    r=xngprod1_prod),SCInfo[granite+production]=(state=active),localproperties=({weblogic.jdbc.jta.xngprod1_prod=weblogic.jdbc.wrapper.TxInfo@d0c4da}),OwnerTransactionManager=ServerTM[ServerCoordinato
    rDescriptor=(CoordinatorURL=production+10.174.2.194:7280+granite+t3+,
    XAResources={},NonXAResources={})],CoordinatorURL=production+10.174.2.194:7280+granite+t3+)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:188)
    at com.granite.middle.helper.jdbc.ConnectionJDBC.getNewConnection(ConnectionJDBC.java:843)
    at com.granite.middle.helper.jdbc.ConnectionJDBC.getConnection(ConnectionJDBC.java:819)
    at com.granite.middle.helper.jdbc.ProfilePrivilegeHelper.checkPrivilege(ProfilePrivilegeHelper.java:553)
    at com.granite.middle.helper.jdbc.ProfilePrivilegeHelper.checkPrivilege(ProfilePrivilegeHelper.java:452)
    at com.granite.middle.logic.PathLogic.getItem(PathLogic.java:429)
    at com.granite.middle.session.PathBean.getItem(PathBean.java:834)
    at com.granite.middle.session.PathBean.getItem(PathBean.java:809)
    at com.granite.middle.session.PathEJB_9q5d2l_EOImpl.getItem(PathEJB_9q5d2l_EOImpl.java:2854)
    at com.granite.bdl.protocol.IIOP.adapter.IIOPPathAdapter.load(IIOPPathAdapter.java:246)
    at com.granite.bdl.protocol.IIOP.adapter.IIOPPathAdapter.loadTransport(IIOPPathAdapter.java:1700)
    at com.granite.bdl.protocol.BDLAdapterImpl.load(BDLAdapterImpl.java:69)
    at com.granite.bdl.protocol.PathImpl.load(PathImpl.java:4656)
    at com.granite.bdl.protocol.PathImpl.loadLiveArchive(PathImpl.java:5004)
    at com.granite.xng_events.DefaultXngEventSerializer.getEventElement(DefaultXngEventSerializer.java:442)
    at com.granite.xng_events.DefaultXngEventSerializer.serialize(DefaultXngEventSerializer.java:92)
    at com.granite.xng_events.XngEventMessageBean.onMessage(XngEventMessageBean.java:442)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:382)
    at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:316)
    at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:281)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    Caused by: java.sql.SQLException: Transaction rolled back: Transaction timed out after 599 seconds
    Xid=BEA1-0371ACF1523A94FFBE2B(23844485),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,second
    Please provide me some ideas!
    Thanks

  • XA issue

    We are currently having an issue in are UAT environment where after a some traffic we start seeing the following exceptions when we try specifically to connect to one of our db pools.
    java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 302 seconds
    Xid=BEA1-016D5F6CAC3804D9E1AF(4667487),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=302,seconds left=60,activeThread=Thread[ExecuteThread: '48' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[JMS_cgJMSStore_auto_1]=(ServerResourceInfo[JMS_cgJMSStore_auto_1]=(state=suspended,assigned=none),xar=JMS_cgJMSStore_auto_1,re-Registered = false),XAServerResourceInfo[oradataXAConnectionPool]=(ServerResourceInfo[oradataXAConnectionPool]=(state=started,assigned=none),xar=oradataXAConnectionPool,re-Registered = false),SCInfo[VAGateway+GWServer1]=(state=active),properties=({}),local properties=({weblogic.jdbc.jta.oradataXAConnectionPool=weblogic.jdbc.wrapper.TxInfo@1c624b7}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=GWServer1+155.90.121.72:9999+VAGateway+t3+, XAResources={},NonXAResources={})],CoordinatorURL=GWServer1+155.90.121.72:9999+VAGateway+t3+)
         at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1395)
         at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1325)
         at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:183)
         at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:73)
         at weblogic.jdbc.wrapper.ResultSet.checkResultSet(ResultSet.java:108)
         at weblogic.jdbc.wrapper.ResultSet.preInvocationHandler(ResultSet.java:66)
         at weblogic.jdbc.wrapper.ResultSet_weblogic_jdbc_oci_ResultSet.getString(Unknown Source)
         at com.visage.gateway.bean.AssetEntity_sjdkww__WebLogic_CMP_RDBMS.__WL_getPKFromRS(AssetEntity_sjdkww__WebLogic_CMP_RDBMS.java:1190)
         at com.visage.gateway.bean.AssetEntity_sjdkww__WebLogic_CMP_RDBMS.ejbFindBySubscriberEntity_i3l3bq__WebLogic_CMP_RDBMS_asset__WL_(AssetEntity_sjdkww__WebLogic_CMP_RDBMS.java:898)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.collectionFinder(RDBMSPersistenceManager.java:378)
         at weblogic.ejb20.manager.BaseEntityManager.wrapperSetFinder(BaseEntityManager.java:1888)
         at weblogic.ejb20.manager.BaseEntityManager.localWrapperSetFinder(BaseEntityManager.java:1859)
         at com.visage.gateway.bean.SubscriberEntity_i3l3bq__WebLogic_CMP_RDBMS_asset_Set.populateCache(SubscriberEntity_i3l3bq__WebLogic_CMP_RDBMS_asset_Set.java:117)
         at com.visage.gateway.bean.SubscriberEntity_i3l3bq__WebLogic_CMP_RDBMS_asset_Set.size(SubscriberEntity_i3l3bq__WebLogic_CMP_RDBMS_asset_Set.java:596)
         at com.visage.gateway.bean.SubscriberEntity.addAssets(SubscriberEntity.java:212)
         at com.visage.gateway.bean.SubscriberEntity.getSubscriptionVO(SubscriberEntity.java:141)
         at com.visage.gateway.bean.SubscriberEntity_i3l3bq_ELOImpl.getSubscriptionVO(SubscriberEntity_i3l3bq_ELOImpl.java:46)
         at com.visage.gateway.bean.AccountEntity.addSubscribers(AccountEntity.java:145)
         at com.visage.gateway.bean.AccountEntity.getAccountVO(AccountEntity.java:130)
         at com.visage.gateway.bean.AccountEntity_s5203k_EOImpl.getAccountVO(AccountEntity_s5203k_EOImpl.java:993)
         at com.visage.gateway.processes.getCustomerProfile.doGetCustomerProfile(getCustomerProfile.jpd:199)
         at com.visage.gateway.processes.getCustomerProfile_wf$ImplPerform2.invoke(getCustomerProfile_wf.java:54)
         at com.bea.wli.bpm.runtime.Perform.execute(Perform.java:32)
         at com.bea.wli.bpm.runtime.Block.execute(Block.java:39)
         at com.bea.wli.bpm.runtime.Receive.messageDelivery(Receive.java:91)
         at com.bea.wli.bpm.runtime.Receive.messageDeliveryAction(Receive.java:71)
         at com.bea.wli.bpm.runtime.ProcessState.processMessage(ProcessState.java:166)
         at com.visage.gateway.processes.getCustomerProfile_wf$_ProcessState.processMessage(getCustomerProfile_wf.java:176)
         at com.visage.gateway.processes.getCustomerProfile_wf.subscription(getCustomerProfile_wf.java:150)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
         at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
         at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
         at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
         at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
         at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
         at com.bea.wlwgen.getCustomerProfileSLSBContImpl.subscription(getCustomerProfileSLSBContImpl.java:25)
         at com.bea.wlwgen.StatelessContainer_d6ueii_ELOImpl.subscription(StatelessContainer_d6ueii_ELOImpl.java:45)
         at com.bea.wlwgen.getCustomerProfileSLSBContAdpt.invokeOnBean(getCustomerProfileSLSBContAdpt.java:53)
         at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
         at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
         at com.bea.wlw.runtime.core.bean.AsyncDispatcherBean.onMessage(AsyncDispatcherBean.java:248)
         at weblogic.ejb20.internal.MDListener.execute(MDListener.java:370)
         at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:262)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2678)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:2598)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    Eventually all the thread get back up and we go into thread starvation.
    Doing a thread dump shows most of the threads stuck at this point.
    "ExecuteThread: '14' for queue: 'weblogic.kernel.Default'" daemon prio=10 tid=000a53d0 nid=27 lwp_id=1507349 waiting for monitor entry [0x2fa39000..0x2fa374f0]
         at weblogic.jdbc.oci.xa.XADataSource.openRM(XADataSource.java:497)
         - waiting to lock <39826628> (a java.lang.String)
         at weblogic.jdbc.oci.xa.XADataSource.open(XADataSource.java:551)
         at weblogic.jdbc.oci.xa.XADataSource.internalStart(XADataSource.java:834)
         at weblogic.jdbc.oci.xa.XADataSource.start(XADataSource.java:830)
         at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:743)
         at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:392)
         at weblogic.common.resourcepool.ResourcePoolImpl.checkResource(ResourcePoolImpl.java:1509)
         at weblogic.common.resourcepool.ResourcePoolImpl.checkAndReturnResource(ResourcePoolImpl.java:1402)
         at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:295)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:451)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:359)
         at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:80)
         at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1425)
         at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1271)
         at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:396)
         at weblogic.jdbc.jta.DataSource.connect(DataSource.java:354)
         at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
         at com.visage.gateway.util.ServiceLocator.getConnection(ServiceLocator.java:110)
         at com.visage.gateway.phone.InventoryUtility.checkInventory(InventoryUtility.java:205)
         at com.visage.gateway.processes.CheckInventory.perform(CheckInventory.jpd:111)
         at com.visage.gateway.processes.CheckInventory_wf$ImplPerform2.invoke(CheckInventory_wf.java:38)
         at com.bea.wli.bpm.runtime.Perform.execute(Perform.java:32)
         at com.bea.wli.bpm.runtime.Receive.messageDelivery(Receive.java:91)
         at com.bea.wli.bpm.runtime.Receive.messageDeliveryAction(Receive.java:71)
         at com.bea.wli.bpm.runtime.ProcessState.processMessage(ProcessState.java:166)
         at com.visage.gateway.processes.CheckInventory_wf$_ProcessState.processMessage(CheckInventory_wf.java:141)
         at com.visage.gateway.processes.CheckInventory_wf.subscription(CheckInventory_wf.java:115)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
         at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
         at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
         at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
         at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
         at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
         at com.bea.wlwgen.CheckInventorySLSBContImpl.subscription(CheckInventorySLSBContImpl.java:25)
         at com.bea.wlwgen.StatelessContainer_4gsrdx_ELOImpl.subscription(StatelessContainer_4gsrdx_ELOImpl.java:45)
         at com.bea.wlwgen.CheckInventorySLSBContAdpt.invokeOnBean(CheckInventorySLSBContAdpt.java:53)
         at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
         at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
         at com.bea.wlw.runtime.core.bean.AsyncDispatcherBean.onMessage(AsyncDispatcherBean.java:248)
         at weblogic.ejb20.internal.MDListener.execute(MDListener.java:370)
         at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:262)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2678)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:2598)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    Any help would be greatfully received.
    David

    Hey Guys
    Changing the oracle driver version resolved the issue.Also there amy be issues with native io vis a vis java io.This was found in another scenario.
    By the way the JTA Time out can be increased if its required
    Cheers
    Saiprasad

Maybe you are looking for