Weblogic 10.0, JTA -JDBC ejb rollback problem

Hi,
I have one statless-session bean, with bean managed transaction.
ejbmethod()
utx=getUserTransaction();
try{
utx.begin();
method1(); //in this i am updating few table in DB -DB connection is taken in the same method and closed there
method2(); // calling a stored procedure to do smthing etc
method3(); //update smthing else
utx.commit();
}catch()
utx.rollback()
the rollback does not happen properly.
The code is not wrong, no nested transaction, db changes does not get rolled back.
My question is , what is the relation between JTA configuration and DB Connection pool?
Is there any specific configuration in weblogic fot JTA?
How to configure the JTA log in weblogic 10?

For guaranteed transaction atomicity in general, if your application updates multiple transactional resources, an XA-enabled version of the JDBC driver is required to participate in such a global 2PC transaction. If you are absolutely sure that the datasource in question is the only resource accessed in the transaction, then you can mark this datasource as 1PC in the WLS console. Even, if you application enlists multiple resources in a transaction, using the [LLR optimization|http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jta/llr.html] you are still able to use exactly one non-XA resource that must be a LLR datasourse without losing the atomicty guarantee. In order to use LLR, you have to make sure that you don't cache a the LLR datasource connection beyond transaction boundaries, i.e., you need to obtain a new connection from the LLR datasource for every transaction. See http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jdbc_admin/jdbc_datasources.html for more details.
Edited by: Gera Shegalov on Mar 17, 2009 4:44 PM

Similar Messages

  • Sender JDBC Commn channel problem - Channel is not reading any data.

    Hi,
    I am referring to the following blog as i have exactly the same problem:
    [Blog|Sender JDBC Commn channel problem;
    I communication channel monitoring i am getting the following logs -
    6/21/10 7:19:07 PM   Processing started
    6/21/10 7:19:07 PM   Retry interval started. Length: 86400.0 seconds
    Here in the channel the poling interval is 86400 seconds.
    Now according to this blog the solution to my issue is "Check whether anything is locked in "Locking adapter" in VA? If there is then just release the lock and restart the comm channel. Note: In "locking adapter" the name will be something like $XIDBAD.JDBC2XI."
    Mine is a PI7.1 system and i am not able to find any thing like this in NWA.
    Can some one please help me on this?
    Thanks & Regards,
    Anshul

    try;
    Goto NWA -> Availability and Performance Management -> Resource Monitoring -> Locks

  • WEbLogic 8.1 SP4 vs EJB 2.1

    Hello!
    Does WebLogic 8.1 SP4 support EJB 2.1?
    I have gone thru the documentation, but nowhere it is written that it supports.
    Reg,
    Chetan Parekh

    No WLS 8.1 sp4 does not support EJB 2.1
    - Ramkumar

  • Does BEAs WebLogic Server 8.x  support EJB 2.1?

    Does BEAs WebLogic Server 8.x support EJB 2.1? When it is Support?

    I know weblogic 8.1 is EJB 2.0
    "John Naranjo" <[email protected]> wrote:
    >
    Does BEAs WebLogic Server 8.x support EJB 2.1? When it is Support?

  • CF 10 getting random resets : Detail: [Macromedia][SQLServer JDBC Driver]A problem occurred when attempting to contact the server (Server returned: Connection reset).

      These resets appear to coincide with a clearing of the cached queries for the DSN from memory, breaking all my sub queries that try to use the initial cached one.  I am grasping at straws to discover the reset culprit, the DSN tests always show OK, there is not packet loss at the switch level.  If anyone has some suggestions, I am all ears!
      The resets are completely random and under no load.  My sql 2008 r2 box is set to unlimited connections.
    An example of a DSN setup is :
    Maintain Connections [x]
    String Format [ ]
    Max Pooled Statements 100
    Timeout 20 Interval 7
    Query Timeout 0
    Login Timeout 30
    CLOB [ ]
    BLOB [ ]
    Long Text Buffer 64000
    Blob Buffer 64000
    Validate Connection [ ]
    I am running the following :
    CF Enterprise 10,0,13,287689
    Tomcat 7.0.23.0
    Ubuntu 1204 x64
    Java VM 20.4-b02
    Java 1.6 (Sun Microsystems Inc)
      I have seen it suggested to uncheck the maintain connections advanced options but this doesn't seem like a good approach to the problem and will cause more stress on the sql box IMHO.
      I have also seen it suggested to enable Validate Connection but documentation on this is a bit sparse...
    Here are more examples of the initial reset error and then the subsequent cache related errors :
    Database Error Information:
    Native Error Code: 0
    SQL State: 08S01
    Query Error: [Macromedia][SQLServer JDBC Driver]A problem occurred when attempting to contact the server (Server returned: Connection reset). Please ensure that the server parameters passed to the driver are correct and that the server is running. Also ensure that the maximum number of connections have not been exceeded for this server.
    Custom Error Code: 08S01
    Database Error Information:
    Native Error Code: 0
    SQL State: n/a
    Query Error:
    Query Of Queries runtime error.
    Table named GlobalDetails was not found in memory. The name is misspelled or the table is not defined.
    Custom Error Code: n/a
    Thanks in advance to anyone who has a suggestion.

    Hi, could DBA check MS SQL Server connection logs???
    May be server has some limits (for example sessions, memory and e.t.c.)

  • Reproducible ZfDAgent rollback problem w/ HP4

    I'm beginning to test ZfDAgent 7.0 SP1 IR4 HP4. I have an HP3 machine
    (WinXPsp3). During the install of HP4, it rolls back. Unfortunately, it's
    not truly rolled back. The agent is left completely broken. If I reinstall
    HP3, reboot, then it's fine, but re-trying the upgrade to HP4 causes the
    same situation again.
    I have an MSI log with full logging (voicewarmup) enabled, but I'm not sure
    how to decode where exactly the problem is.
    Anyone?
    Thank you.

    On 2/27/2011 1:06 PM, grimlock wrote:
    >
    > ecyoung;2061791 Wrote:
    >> This may be the issue:
    >> "ZDM 7 HP4 agent install fails with 1603 error due to truncated
    >> Environment
    >> Path"
    >> 'ZDM 7 HP4 agent install fails with 1603 error due to truncated
    >> Environment Path'
    >> (http://www.novell.com/support/viewCo...7463&sliceId=1)
    >>
    >> <[email protected]> wrote in message
    >> news:[email protected]. ..
    >>> No, sorry. They weren't able to reproduce it at Novell, but it
    >> wasn't a
    >>> formally submitted SR.
    >>>
    >>> "hennys"<[email protected]> wrote in message
    >>> news:[email protected]...
    >>>>
    >>>> Hi,
    >>>>
    >>>> Did you ever get this solved ?
    >>>>
    >>>> I'm having the same problem. Agent starts rolling back. After
    >> reboot
    >>>> and reinstall, again rollback.
    >>>>
    >>>> Kind regards,
    >>>>
    >>>> Hen
    >>>> imayroam;2003889 Wrote:
    >>>>> I'm having the same issue w/ the Zen agent install.
    >>>>>
    >>>>> Could I have a look at that log?
    >>>>>
    >>>>> Thanks!
    >>>>
    >>>>
    >>>> --
    >>>> Regards,
    >>>>
    >>>> Hen
    >>>>
    >> ------------------------------------------------------------------------
    >>>> hennys's Profile: 'View Profile: hennys - NOVELL FORUMS'
    >> (http://forums.novell.com/member.php?userid=233)
    >>>> View this thread: 'Reproducible ZfDAgent rollback problem w/ HP4'
    >> (http://forums.novell.com/showthread.php?t=413684)
    >>>>
    >>>
    >>>
    >
    > I came across this issue when upgrading to the HP5 agent. It was only
    > on one specific hardware platform of about 6 machines, so it was
    > isolated. The solution I came up with (as of 5 minutes ago because I
    > just spent some time playing with it) is as follows.
    >
    > use MSIZAP to kill the installer information. Reboot to safe mode.
    > Rename c:\program files\novell\zenworks to zenworks.old.
    >
    > Install the HP5 agent.
    >
    > Delete the zenworks.old folder.
    >
    > This is NOT practical if you have a significant number of workstations
    > in an organization affected, but for 6, I'll live with it.
    >
    > After installation, I did a test uninstall/reinstall of the HP5 agent
    > to verify that it was no longer broken for removal/reinstall.
    >
    >
    Spoke too soon, I have one machine that this doesn't work on. Product
    is removed, and no longer reinstalls. It rolls back during the install.
    Might be a similar issue to what you're having. Attempting to attach
    an MSI log file via nntp, we'll see how that goes. (edit, not allowed).
    Happy to e-mail it if someone wants to see it.
    I can always start a new thread for this, but I suspect it's related.
    This is the HP5 agent.

  • EJB Deployment Problem for Stateless Session with Multiple ejbCreate

    In weblogic server if I use multiple ejbCreate with different parameters it is found
    to raise error with error message :
    <Error deploying application cart:
    Unable to deploy EJB: cart.jar from cart.jar:
         In EJB CartBean, the stateless session bean class must define a single ejbCreate
    method that takes no parameters.
         at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:256)
         at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:220)
         at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:453)
         at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:410)
         at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:203)
         at weblogic.ejb20.deployer.Deployer.runEJBC(Deployer.java:296)
         at weblogic.ejb20.deployer.Deployer.compileEJB(Deployer.java:676)
         at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:843)
         at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:30)
         at weblogic.j2ee.Application.addComponent(Application.java:160)
         at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
         at ......
    Code example...
    public void ejbCreate() throws CreateException {}
    public void ejbCreate(String person) throws CreateException {
    // code here
    public void ejbCreate(String person, String id) throws CreateException {
    // code here
    the code above is found ok in J2ee Ref. Implementation and able to deploy. Why this
    is not deployable in Weblogic(tried in 6.1).is it a required condition for stateless
    session bean
    to have only single ejbcreate with no parameters ?
    Can somebody explain? and is there a way out to overcome this constraint if so in
    weblogic
    with regards
    Ganeshan Kalembeth

    Stateless session beans may define only a single create() method with no
    suffix
    and no arguments.
    Michael Jouravlev wrote:
    "Ganeshan Kalembeth" <[email protected]> wrote in message
    news:3ce28a88$[email protected]..
    In weblogic server if I use multiple ejbCreate with different parametersit is found
    to raise error with error message :
    <Error deploying application cart:
    Unable to deploy EJB: cart.jar from cart.jar:
    In EJB CartBean, the stateless session bean class must define a singleejbCreate
    method that takes no parameters.
    atweblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.ja
    va:256)
    atweblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBCompli
    anceChecker.java:220)
    atweblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:453)
    at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:410)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:203)
    at weblogic.ejb20.deployer.Deployer.runEJBC(Deployer.java:296)
    at weblogic.ejb20.deployer.Deployer.compileEJB(Deployer.java:676)
    at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:843)
    at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:30)
    at weblogic.j2ee.Application.addComponent(Application.java:160)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at ......
    Code example...
    public void ejbCreate() throws CreateException {}
    public void ejbCreate(String person) throws CreateException {
    // code here
    public void ejbCreate(String person, String id) throws CreateException {
    // code here
    the code above is found ok in J2ee Ref. Implementation and able to deploy.Why this
    is not deployable in Weblogic(tried in 6.1).is it a required condition forstateless
    session bean
    to have only single ejbcreate with no parameters ?
    Can somebody explain? and is there a way out to overcome this constraintif so in
    weblogic
    with regards
    Ganeshan KalembethRTFM EJB 2.0 Spec, chapter 7.8

  • EJB Entity transaction rollback problem

              Hello,
              I have created 2 beans one is a Stateless Session and the other a Bean Managed Entity Bean. The SS Bean has methods to retrieve an Oracle Connection from a DataSource defined connection pool, and to close a connection. The entity bean I have created is responsible for insterting a new record into one of the tables in my database.
              I have a client app that calls the ejbCreate method on the entity bean at which point the Entity EJB takes control, gets a valid connection from the SS EJB, runs a simple working SQL SELECT statement (obtaining correct values), and then attempts to perform an insert into a table using a prepared statement. My problem is that the application runs fine without any errors and all calls are made and all calls seem to be working fine. I have checked to make sure that the Datasource I am using is AutoCommit= false and it is and there are no exceptions being thrown in my EJB's but yet it appears as though the SQL statements executeUpdate() command is not being committed as their is no rows created in the database. Does anyone know what I may be doing wrong. I have all ACL parameters set up correctly and as I stated before the entire app runs without errors and I do have a SELECT statment that is working properly within the same method as the INSERT statement which is not!!! Please send any suggestions!!
              Justin
              

              I am using CMT, it is activated by default on Entity Beans I believe. The bean itself is marked as TX_REQUIRED so I believe all the methods automatically are all TX_REQUIRED.
              Here is my Bean ejbCreate Method, My PK class, and my ejb-jar.xml file-- I've pasted them below for convenience.
              ejbCreate:
                   public CustomerPK ejbCreate(String aUserName, String aPassword, String aFirstName,
                        String aMiddleInit, String aLastName, String aEmailAddr)
                        throws javax.ejb.CreateException {
                   Connection conn=null;
                   long nextPrsnID;
                   long nextCustID;
                   if (verifyParams(aUserName, aPassword, aFirstName, aMiddleInit,
                        aLastName, aEmailAddr)) {
                   if (isUniqueUserName(aUserName)) {
                   try {
                        conn=getConnection();
                        conn.setAutoCommit(false);
                        nextPrsnID=addPerson(conn,aFirstName,aMiddleInit,aLastName); // adds a person to the person table consists of just simple SQL
                        nextCustID=addCustomer(conn,nextPrsnID, aUserName,aPassword, aEmailAddr); //adds a customer to the customer table
                        // SET THE BEAN MANAGED PUBLIC VARIABLES
                        this.userName=aUserName;
                        this.password=aPassword;
                        this.firstName=aFirstName;
                        this.middleInit=aMiddleInit;
                        this.lastName=aLastName;
                        this.emailAddr=aEmailAddr;
                        this.personID=nextPrsnID;
                        this.custID=nextCustID;
                        conn.commit(); // with this statement here the transaction goes through otherwise the DB will not be updated
                   catch (Exception e){
                        throw new javax.ejb.CreateException("Experiencing Database Problems-- Unrecoverable Error"); // rollback transaction
                   finally{
                        cleanup(conn,null); // close the connection
                   else {           // UserName already exists
                   throw new javax.ejb.CreateException("Sorry username already exists please choose another one");
                   else {          // Registration parameters were not verifiable
                   throw new javax.ejb.CreateException("Registration paramater rules were violated");
                   CustomerPK custPK=new CustomerPK(nextCustID);
                   return custPK;
              EJB CUSTOMER PRIMARY KEY CLASS:
              public class CustomerPK implements java.io.Serializable {
              // PRIMARY KEY VARIABLES
              public long CustomerID;
              public CustomerPK(long aCustomerID) {
              this.CustomerID=aCustomerID;
              public CustomerPK() {
              public String toString(){
              return ((new Long(CustomerID)).toString());
              public boolean equals(Object aComparePK){
              if (this.CustomerID==((CustomerPK)aComparePK).CustomerID){
                   return true;
              return false;
              public int hashCode(){
              return ((new Long(CustomerID).toString()).hashCode());
              } // END-CLASS
              CUSTOMER ejb-jar.xml
              <?xml version="1.0"?>
              <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
              <ejb-jar>
              <enterprise-beans>
              <entity>
                   <ejb-name>Customer</ejb-name>
                   <home>CustomerHome</home>
                   <remote>Customer</remote>
                   <ejb-class>CustomerBean</ejb-class>
                   <persistence-type>Bean</persistence-type>
                   <prim-key-class>CustomerPK</prim-key-class>
                   <reentrant>False</reentrant>
                   <resource-ref>
              <res-ref-name>jdbc/DeveloperPool</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
              </resource-ref>
              </entity>
              </enterprise-beans>
              <assembly-descriptor>
              <container-transaction>
                   <method>
                   <ejb-name>Customer</ejb-name>
                   <method-intf>Remote</method-intf>
                   <method-name>*</method-name>
                   </method>
                   <trans-attribute>Required</trans-attribute>
              </container-transaction>
              </assembly-descriptor>
              </ejb-jar>
              "Cameron Purdy" <[email protected]> wrote:
              >Are you using CMT? Have you marked the methods as REQUIRED?
              >
              >Peace,
              >
              >--
              >Cameron Purdy
              >Tangosol, Inc.
              >http://www.tangosol.com
              >+1.617.623.5782
              >WebLogic Consulting Available
              >
              >
              >"Justin Jose" <[email protected]> wrote in message
              >news:[email protected]...
              >>
              >> Hello,
              >>
              >> I have created 2 beans one is a Stateless Session and the other a Bean
              >Managed Entity Bean. The SS Bean has methods to retrieve an Oracle
              >Connection from a DataSource defined connection pool, and to close a
              >connection. The entity bean I have created is responsible for insterting a
              >new record into one of the tables in my database.
              >> I have a client app that calls the ejbCreate method on the entity bean at
              >which point the Entity EJB takes control, gets a valid connection from the
              >SS EJB, runs a simple working SQL SELECT statement (obtaining correct
              >values), and then attempts to perform an insert into a table using a
              >prepared statement. My problem is that the application runs fine without
              >any errors and all calls are made and all calls seem to be working fine. I
              >have checked to make sure that the Datasource I am using is AutoCommit=
              >false and it is and there are no exceptions being thrown in my EJB's but yet
              >it appears as though the SQL statements executeUpdate() command is not being
              >committed as their is no rows created in the database. Does anyone know
              >what I may be doing wrong. I have all ACL parameters set up correctly and
              >as I stated before the entire app runs without errors and I do have a SELECT
              >statment that is working properly within the same method as the INSERT
              >statement which is not!!! Please send any suggestions!!
              >>
              >> Justin
              >
              >
              

  • Errors using weblogic sql driver: "No JDBC connection can be made because the transaction state is marked rollback"

    One of our customers starts to encounter this error message recently.
    We checked our log files. It seems that the error happens when
    to obtain a jdbc connection. Have anyone seen similar problems
    and knows how to fix it? thanks in advance.
    We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
    The functions that invoke the jdbc calls are stateless session bean
    methods with their transaction attributes marked as Required.
    There is no nested calls of these methods.
    A partial stack trace we obtained is as following:
    java.sql.SQLException: No JDBC connection can be made
    because the transaction state is
    Marked Rollback
         at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)
         at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
         at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
         at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
    lixin

    Joseph Weinstein <[email protected]> wrote:
    >
    >
    YuanHui Liu wrote:
    Joe,
    We got the exact same error message. The error came after we got theJDBC connection,
    and trying to create statement off it.
    It occurs intermitently when we are running another standalone JAVAapp to do
    some end of day work, which results in the DB Server being very busy(90+%CPU
    usage) for about 5 minutes. We see a surge of requests to the WLSJDBC Connection
    pool. This would sometimes result in all our subsequent DB requeststo fail and
    lead to a crash.
    We are using WLS6.0SP1. I do not think there's a 30 seconds wait leadingto a
    connection timeout that caused this(rather it is the end effect).
    Can you give us a more detailed explanation? Is there a miscommunicationbetween
    our DB(Sybase12) and WLS?Hi. It looks to you like it's after you get the connection, but really
    it's when the server is
    gettng the pool connection. For performance/synchronization reasons we
    do a clever
    delay: When your code asks for a pool connection we quickly give you
    the pool wrapper,
    but we delay actually reserving the real underlying DBMS connection until
    your first
    real need for a connection, at your first JDBC call, such as createStatement()
    etc.
    It is while waiting for a pool connection long enough for the transaction
    coordinator
    to have timed you out before you ever get a chance. It's nothing to do
    with the
    DBMS or even JDBC, I believe. I think the weblogic server either has
    too few execute-threads
    and/or too few CPU cycles to do the work load.
    Okay, so there's a lazy initialization of the connection.
    From reading our log I believe our failur is immediate rather
    than waiting for 30+ seconds(the default setting) from the DB,
    the timeout occurred later as a result. At the time either because the DB Server
    is very busy.
    Since we are running WLS6.0 we have only one connection pool,
    we have defined a max of 150 threads in the pool. While this
    is happening the DB Server is being pinned by an overnight job,
    but the WLS Server is not busy at all. The DB and WLS resides
    on different physical boxes.
    We also have a thread dump from the WLS console when we rebooted the server, it
    showed that we are hanging on to the thread & jdbc
    connections after these exceptions has occurred instead of releasing them, note
    "16083"(~4.5 hours) seconds has passed:
    142 116222 Retry rollback request for tx: 'transaction=(IdHash=2963855,Name =
    [EJB UserManagerBeanImpl.signalICUserServletHeartBeat()],Xid=30643:8f3838f3709bf53d,Status=Rolling
    Back. [Reason = Unknown],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since
    begin=16083,seconds left=10,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=server),SCInfo[server]=(state=active),properties=({weblogic.jdbc=t3://159.55.158.25:8005,
    weblogic.transaction.name=[EJB UserManagerBeanImpl.signalICUserServletHeartBeat()]}))'
    Scheduled Trigger
    So I would argue this problem actually chewed up resources on the WLS server.
    -Yuanhui Liu
    >>
    >>
    Thanks.
    -YuanHui Liu
    Joseph Weinstein <[email protected]> wrote:
    lixin wrote:
    One of our customers starts to encounter this error message recently.
    We checked our log files. It seems that the error happens when
    to obtain a jdbc connection. Have anyone seen similar problems
    and knows how to fix it? thanks in advance.
    We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
    The functions that invoke the jdbc calls are stateless session bean
    methods with their transaction attributes marked as Required.
    There is no nested calls of these methods.
    A partial stack trace we obtained is as following:
    java.sql.SQLException: No JDBC connection can be made
    because the transaction state is
    Marked Rollback
    at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)Hi. This sounds like a JVM thread starvation issue, and/or a server
    load
    issue. What is
    happening is that the transaction is started, and times out beforethe
    SSB even gets to
    the first JDBC work. I would first verify that the customer is using
    the very latest JVM
    available for the machine.
    Joe Weinstein
    at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
    at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
    at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
    lixin

  • WebLogic 6.1 SP2 stateful EJB handle serialization problem

    I try to serialize and later deserialize the handle of a stateful
    session bean in WebLogic 6.1 SP2. This works on the client, but not on
    the server. In WebLogic 6.1 SP1, it worked on both server and client.
    The test code:
    try {
    InitialContext context = new InitialContext();
    InfSessionHome sessionHome = (InfSessionHome)
    InfEJBUtil.getInfEJBHome
    (context, InfJNDINames.INFSESSION_EJBHOME,
    InfSessionHome.class);
    infSession1 = sessionHome.create();
    // serialize
    ObjectOutputStream objector = new ObjectOutputStream(byteStream);
    objector.writeObject(infSession1.getHandle());
    objector.flush();
    objector.close();
    byte[] ejbKeyBytes = byteStream.toByteArray();
    // deserialize
    ByteArrayInputStream byteInStream = new
    ByteArrayInputStream(ejbKeyBytes);
    ObjectInputStream objStream = new ObjectInputStream(byteInStream);
    Handle ejbHandle = (Handle) objStream.readObject();
    objStream.close();
    InfSession infSession2 = (InfSession) ejbHandle.getEJBObject();
    if (!infSession2.equals(infSession1)) {
    throw new IllegalStateException("not equal: " + infSession2);
    } catch (Exception e) {
    e.printStackTrace();
    I get the following stack trace in the readObject() call:
    java.io.InvalidClassException:
    weblogic.rmi.internal.LocalServerRefMissing no-arg constructor for
    class
    at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1221)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
    at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
    at weblogic.rmi.internal.StubInfo.readObject(StubInfo.java:73)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2214)
    at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1411)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at weblogic.ejb20.internal.HandleImpl.readExternal(HandleImpl.java:89)
    at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1212)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    I suppose that WebLogic uses a different handle on the server
    (LocalServerRef class, handle local to it's EJB) than on the client.
    I took the routine from Apache SOAP 2.2 StatefulEJBProvider. So I
    suppose that more people are running into the same problem.
    Does anybody know of a workaround?
    Tom

    Just a small addition/clarification to what Cameron said on serialization.
    - The no argument constructor is required in the first non-serializable class in the object hierarchy for de-serialization process. If your class extends form Object class(which has a no arg constructor), you need not have a no-arg constructor. refere to http://64.49.216.133/faq/view.jsp?EID=251942 for more details.
    - Also I suggest using the api
    isIdentical(...)
    instead of equals method in the code if you are trying to establish whether the two objects represent the same EJBObject or not
    - Rajeev
    Cameron Purdy <[email protected]> wrote in message news:[email protected]...
    A no-argument constructor is required for a class to be deserialized. It
    sounds like a BEA bug from the stack trace, but make sure you don't have
    something extra that you are serializing on something of yours that should
    be transient. (It's hard to imagine how, but you never know ...)
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    Clustering Weblogic? You're either using Coherence, or you should be!
    Download a Tangosol Coherence eval today at http://www.tangosol.com/
    "Tom Gerber" <[email protected]> wrote in message
    news:[email protected]...
    I try to serialize and later deserialize the handle of a stateful
    session bean in WebLogic 6.1 SP2. This works on the client, but not on
    the server. In WebLogic 6.1 SP1, it worked on both server and client.
    The test code:
    try {
    InitialContext context = new InitialContext();
    InfSessionHome sessionHome = (InfSessionHome)
    InfEJBUtil.getInfEJBHome
    (context, InfJNDINames.INFSESSION_EJBHOME,
    InfSessionHome.class);
    infSession1 = sessionHome.create();
    // serialize
    ObjectOutputStream objector = new ObjectOutputStream(byteStream);
    objector.writeObject(infSession1.getHandle());
    objector.flush();
    objector.close();
    byte[] ejbKeyBytes = byteStream.toByteArray();
    // deserialize
    ByteArrayInputStream byteInStream = new
    ByteArrayInputStream(ejbKeyBytes);
    ObjectInputStream objStream = new ObjectInputStream(byteInStream);
    Handle ejbHandle = (Handle) objStream.readObject();
    objStream.close();
    InfSession infSession2 = (InfSession) ejbHandle.getEJBObject();
    if (!infSession2.equals(infSession1)) {
    throw new IllegalStateException("not equal: " + infSession2);
    } catch (Exception e) {
    e.printStackTrace();
    I get the following stack trace in the readObject() call:
    java.io.InvalidClassException:
    weblogic.rmi.internal.LocalServerRefMissing no-arg constructor for
    class
    atjava.io.ObjectInputStream.inputObject(ObjectInputStream.java:1221)
    atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    atjava.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
    atjava.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
    at weblogic.rmi.internal.StubInfo.readObject(StubInfo.java:73)
    at java.lang.reflect.Method.invoke(Native Method)
    atjava.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2214)
    atjava.io.ObjectInputStream.inputObject(ObjectInputStream.java:1411)
    atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    atweblogic.ejb20.internal.HandleImpl.readExternal(HandleImpl.java:89)
    atjava.io.ObjectInputStream.inputObject(ObjectInputStream.java:1212)
    atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    I suppose that WebLogic uses a different handle on the server
    (LocalServerRef class, handle local to it's EJB) than on the client.
    I took the routine from Apache SOAP 2.2 StatefulEJBProvider. So I
    suppose that more people are running into the same problem.
    Does anybody know of a workaround?
    Tom
    [att1.html]

  • JDBC connection pools problems: weblogic doesn't release connections

    Hi all,
    we use Weblogic 5.1 in conjunction with Content Server 3.6 and Oracle
    8.1.6;
    We have this strange problem:
    Calling a page the connections, in the content server connection pool,
    grows up till the maximum. We think the problem is that Weblogic
    doesn't release used connections.
    Does anybody can help us? Did anybody had the same problem?
    Best Regards,
    Marcello Villani

    Hi. I'd have to see the code. When a pool connection is closed, it gets
    back into the pool. Until it's closed, it doesn't.
    Marcello Villani wrote:
    Hi all,
    we use Weblogic 5.1 in conjunction with Content Server 3.6 and Oracle
    8.1.6;
    We have this strange problem:
    Calling a page the connections, in the content server connection pool,
    grows up till the maximum. We think the problem is that Weblogic
    doesn't release used connections.
    Does anybody can help us? Did anybody had the same problem?
    Best Regards,
    Marcello Villani

  • Configure  Weblogic to force JTA transactions to commit.

    Hello Everyone,
    I have a webservice running on a Tomcat Server and connected to an Oracle DB.
    Data is being selected, pulled out and send through the weblogic JMS client.
    This data is marked as sent but my code is restricted by the system´s design and is not allowed to commit the transactions. This is responsibility of the Weblogic’s JTA layer.
    Here is the problem: my code is being called every minute and it is retrieving records that should already be marked.
    And worst: the Java webservice code can’t be modified by client’s request.
    How can I setup my Weblogic server to ensure the mark?
    Is there any other place I should look?
    Thanks in advance.
    M.
    Edited by: 914451 on Feb 15, 2012 5:17 AM

    The configuration for JTA can be found in the admin console. The domain configuration, JTA tab shows how JTA is configured.
    On the deployments, monitoring tab you can find all the subsystems runtime information. What you are probably interested in
    is the JDBC (data sources and connection pooling). Here you can enable (by clicking on customize this table) how many active
    connections are present at the current moment. When the active connections keep growing (or the leaked connection count)
    there is probably never any commit or rollback issued (and maybe worse the connections are not returned to the pool)
    When the third party is using EJB's, you see information about the transaction in the monitoring, EJBs tab. Here also you
    need to customize the table to add the transactions committed, rolled back, timed out attributes.
    The specific JTA information for a particular server (to which the application is deployed) can be found in the environment, servers, server_name,
    monitoring, JTA. Here you see different tabs, such as Summary (that gives you an overview of the transactions). There is also an Transactions
    tab that gives you the possibility the commit, roll back transactions.
    When you want to get behind what is really going on you have to know what the third party is doing.

  • "domain was null"; rmicontext=false; JTA UserTransaction;EJB Transaction

    Hi folks!
    I´m doing a test with EJB´s and JTA transactions.
    The goal of the test is to verify if the OC4J will recognize a JTA User Transaction opened by a client just before an EJB method invocation and use it inside the EJB method, instead of opening a new transaction.
    So, I have an EJB with conteiner managed transaction feature "Required".
    And I have a client of this EJB, that opens a JTA UserTransaction and performs some updates and calls the EJB.
    After the EJB call, I throwed a RuntimeException. The proposal of throwing this exception is to force the rollback of all the transaction ( the updates made by the client and the updates made by the ejb must not be commited ).
    My method seems like this ( actually it´s a little bit more structured, but for understading purporses, i put it all in one method only here ):
    <pre>
    public void testTransaction () {
    boolean commit = false;
    javax.transaction.UserTransaction ut = null;
    try {
    // getting the JTA Transaction
    javax.naming.Context initCtx = new javax.naming.InitialContext();
    ut = (javax.transaction.UserTransaction) initCtx.lookup("java:comp/UserTransaction");
    ut.begin();
    try{
    //issue the update
    Connection conn = null;
    try {
    Context ic = new InitialContext();
         DataSource ds = (DataSource) ic.lookup("jdbc/JTADS");
         conn = ds.getConnection();
         PreparedStatement stmt = conn.prepareStatement("UPDATE dont_drop_this_table set field2 =? where field1 = ?");
         stmt.setString(1, "First Record");
         stmt.setInt(2, 1);
         stmt.executeUpdate();
    } finally {
    if (conn != null) conn.close();
    //issue another update via EJB
    Hashtable env = new Hashtable();
    String initialContextFactory = "com.evermind.server.rmi.RMIInitialContextFactory";
    String securityPrincipal = "jazn.com/admin";//admin
    String securityCredentials = "welcome";//admin
    String providerUrl = "ormi://localhost:23791/jta";
    env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
    env.put(Context.SECURITY_PRINCIPAL, securityPrincipal);
    env.put(Context.SECURITY_CREDENTIALS, securityCredentials);
    env.put("dedicated.rmicontext", "false");
    env.put("dedicated.connection", "false");
    env.put(Context.PROVIDER_URL, providerUrl);
    Context ctx = new InitialContext(env);
    Object home = ctx.lookup(jndiName);
    Object o = PortableRemoteObject.narrow(home, Class.forName("mytest.MyEJBHome"))
    Class clazz = o.getClass();
    Method method = clazz.getMethod("create", null);
    MyEJBBean bean = (MyEJBBean) method.invoke(o, null);
    //invoking ejb
    bean.updateTable(2, "Second Record")
    //force an ArrayOutOfBoundsException, in order to test
    //if the EJB container will rollback or commit the ejb transaction.
    int x[] = { 0 };
    x[1] = 1;
    x[2] = 1;
    } catch (Exception e) {
    throw new RuntimeException(e);
    //if there was no exception thrown until here... then commit
    commit = true;
    catch ( Exception e ) {
    throw new RuntimeException (e);
    finally {
    try {
    if ( commit ) ut.commit();
    else ut.rollback();
    } catch ( Exception e ) {
    throw new RuntimeException (e);
    </pre>
    Now my question:
    When I use dedicated.rmicontext = true or dedicated.connection = true, the EJB container commits the transaction, even after the exception thrown. I understand that EJB container open a new transaction, instead of use the existing one ( jta UserTransaction.
    When I use dedicated.rmicontext = false and dedicated.connection = false, the EJB container rollbacks the transaction, as I expected.
    I´ve seen many posts about "domain was null" message after a NullPointerException.
    I did many tests, but no NullPointerException was thrown, even when calling the EJB remotely nor issuing concurrent calls.
    - I need the container rollback the transaction.
    - I found that it only rollbacks when I put dedicated.rmicontext = false and dedicated.connection = false.
    - I found that when dedicated.rmicontext = false and dedicated.connection = false, a NullPointerException may ocurr.
    This "domain was null" problem seems to be an OC4J bug and the rmicontext=true an workaround for this bug, but I can´t use rmicontext=true because it will make the EJB transaction not to be the same JTA UserTransaction opened before the EJB call.
    Is there any other way to make an EJB transaction be the same JTA UserTransaction openned before the EJB call?
    PS: I´m using JDeveloper 10.1.2
    Thanks for any help...

    Can anybody help me?
    I need to know how can I set my EJB to use the same connection opened by a POJO class via JTA. ( Actually I need the EJB and POJO class be in same JTA transaction )
    If I set the dedicated.rmicontext to false, it works but I run to risk of getting a NullPointerException "domain was null".
    I realy need your help!
    Thanks!

  • Weblogic 12.1.3 JDBC driver

    I migrated our application from 12.1.2 ADF to 12.1.3 and we have issues, a possible cause can be JDBC 4.1 , I want to use JDBC 4.0 driver for our datasource, I found ojdbc6.jar file in WLS 12.1.3 too, if this is JDBC 4.0 how can I use it ,if not and I copy over ojdbc6.jar from 12.1.2 ADF ,how can I define it in datasource list of drivers.

    Hi Joe,
    our app is working on ADF 12.1.2 with proxy user but it doesnt work on ADF 12.1.3, I logged issue in ADF forum but no luck only problem could be JDBC difference , casue we get follwoing exceptions:
    <oracle.adf.model> <DBTransactionImpl> <closeTransaction> <[1532] *** closing jdbc connection now **** (weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection@36)>
    <oracle.adf.model> <DBTransactionImpl> <createPreparedStatement> <[1533] DBTransactionImpl.createPreparedStatement failed...>
    <oracle.adf.model> <DBTransactionImpl> <createPreparedStatement> <[1534] java.sql.SQLException: Closed Statement
    at oracle.jdbc.driver.OracleClosedStatement.setFetchSize(OracleClosedStatement.java:6214)
    at oracle.jdbc.driver.OracleStatementWrapper.setFetchSize(OracleStatementWrapper.java:282)
    at weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper.setFetchSize(Unknown Source)
    at oracle.jbo.server.OracleSQLBuilderImpl.doStatementSetRowPrefetch(OracleSQLBuilderImpl.java:1206)
    at oracle.jbo.server.DBTransactionImpl.createPreparedStatement(DBTransactionImpl.java:3748)
    at oracle.jbo.server.DBTransactionImpl2.createPreparedStatement(DBTransactionImpl2.java:398)
    at com.enlogix.commonmodelcode.frwkext.CustomAppModuleImpl.beforeDisconnect(CustomAppModuleImpl.java:201)
    at oracle.jbo.server.ApplicationModuleImpl.callBeforeDisconnect(ApplicationModuleImpl.java:7582)
    at oracle.jbo.server.DBTransactionImpl.closeTransaction(DBTransactionImpl.java:1545)
    at oracle.jbo.server.DBTransactionImpl.disconnect(DBTransactionImpl.java:5585)
    at oracle.jbo.server.DBTransactionImpl2.disconnect(DBTransactionImpl2.java:364)
    at oracle.jbo.server.DBTransactionImpl.disconnect(DBTransactionImpl.java:5861)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:446)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9542)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4526)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.finalizeResource(ApplicationPoolImpl.java:1337)
    at oracle.jbo.pool.ResourcePool.removeResourceInternal(ResourcePool.java:851)
    at oracle.jbo.pool.ResourcePool.setState(ResourcePool.java:1168)
    at oracle.jbo.pool.ResourcePool.removeResource(ResourcePool.java:863)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.removeDeadInstance(ApplicationPoolImpl.java:2652)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4557)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2453)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2263)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2298)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3162)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:590)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:224)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:523)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:518)
    at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1507)
    at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1398)
    at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1366)
    at parameters.ProxyAuthUserLoginBean.performProxyUserLogin(ProxyAuthUserLoginBean.java:133)
    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:606)
    at com.sun.el.parser.AstValue.invoke(AstValue.java:254)
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
    at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
    at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
    at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
    at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:111)
    at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
    at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:115)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:1074)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:402)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:327)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:229)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:202)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
    >
    <oracle.adf.model> <DBTransactionImpl> <processConnProperties> <[1535] mPCollUsePMgr is false>
    <oracle.adf.model> <DBTransactionImpl> <processConnProperties> <[1536] ViewObjectImpl.mDefaultMaxRowsPerNode is 70>
    <oracle.adf.model> <DBTransactionImpl> <processConnProperties> <[1537] ViewObjectImpl.mDefaultMaxActiveNodes is 30>
    <oracle.adf.model> <DBTransactionImpl> <processProperties> <[1538] Default locking mode changed to: optimistic>
    <oracle.adf.model> <ApplicationPoolImpl> <prepareApplicationModule> <[1539] An exception occured during checkout.>
    <oracle.adf.model> <ApplicationPoolImpl> <prepareApplicationModule> <[1540] oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation.  Statement: rollback
    at oracle.jbo.server.DBTransactionImpl.createPreparedStatement(DBTransactionImpl.java:3773)
    at oracle.jbo.server.DBTransactionImpl2.createPreparedStatement(DBTransactionImpl2.java:398)
    at com.enlogix.commonmodelcode.frwkext.CustomAppModuleImpl.prepareSession(CustomAppModuleImpl.java:140)
    at oracle.jbo.server.ApplicationModuleImpl.prepareSession(ApplicationModuleImpl.java:7088)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:170)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9542)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4526)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2453)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2263)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2298)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3162)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:590)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:224)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:523)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:518)
    at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1507)
    at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1398)
    at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1366)
    at parameters.ProxyAuthUserLoginBean.performProxyUserLogin(ProxyAuthUserLoginBean.java:133)
    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:606)
    at com.sun.el.parser.AstValue.invoke(AstValue.java:254)
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
    at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
    at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
    at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
    at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:111)
    at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
    at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:115)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:1074)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:402)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:327)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:229)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:202)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
    Caused by: java.sql.SQLException: Closed Statement
    at oracle.jdbc.driver.OracleClosedStatement.setFetchSize(OracleClosedStatement.java:6214)
    at oracle.jdbc.driver.OracleStatementWrapper.setFetchSize(OracleStatementWrapper.java:282)
    at weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper.setFetchSize(Unknown Source)
    at oracle.jbo.server.OracleSQLBuilderImpl.doStatementSetRowPrefetch(OracleSQLBuilderImpl.java:1206)
    at oracle.jbo.server.DBTransactionImpl.createPreparedStatement(DBTransactionImpl.java:3748)
    ... 90 more
    ## Detail 0 ##
    java.sql.SQLException: Closed Statement
    at oracle.jdbc.driver.OracleClosedStatement.setFetchSize(OracleClosedStatement.java:6214)
    at oracle.jdbc.driver.OracleStatementWrapper.setFetchSize(OracleStatementWrapper.java:282)
    at weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper.setFetchSize(Unknown Source)
    at oracle.jbo.server.OracleSQLBuilderImpl.doStatementSetRowPrefetch(OracleSQLBuilderImpl.java:1206)
    at oracle.jbo.server.DBTransactionImpl.createPreparedStatement(DBTransactionImpl.java:3748)
    at oracle.jbo.server.DBTransactionImpl2.createPreparedStatement(DBTransactionImpl2.java:398)
    at com.enlogix.commonmodelcode.frwkext.CustomAppModuleImpl.prepareSession(CustomAppModuleImpl.java:140)
    at oracle.jbo.server.ApplicationModuleImpl.prepareSession(ApplicationModuleImpl.java:7088)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:170)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9542)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4526)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2453)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2263)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2298)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3162)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:590)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:224)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:523)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:518)
    at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1507)
    at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1398)
    at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1366)
    at parameters.ProxyAuthUserLoginBean.performProxyUserLogin(ProxyAuthUserLoginBean.java:133)
    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:606)
    at com.sun.el.parser.AstValue.invoke(AstValue.java:254)
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
    at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
    at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
    at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
    at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:111)
    at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
    at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:115)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:1074)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:402)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:327)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:229)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:202)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
    >
    JBO-27122: SQL error during statement preparation.  Statement: rollback
    <org.apache.myfaces.trinidadinternal.renderkit.core.StyleContextImpl> <StyleContextImpl> <isDisableStyleCompression> <DISABLE_CONTENT_COMPRESSION_IN_PRODUCTION_STAGE>
    <org.apache.myfaces.trinidadinternal.skin.SkinImpl> <SkinImpl> <_isContentCompressionDisabled> <DISABLE_CONTENT_COMPRESSION_IN_PRODUCTION_STAGE>

  • EJB + CORBA problems

    Hi there,
    I've got some code (EJB) which connect
    me to OLAPService on my 9i Oracle server. I deployed it to Oracle AS which
    is istalled on another machine. Then I wrote client application which has to
    connect to OAS and invoke EJB method to connect to OLAPService.
    The connection to EJB was successfully established (of course through a
    CORBA). But when EJB was trying to connect to Oracle9i I got such error :
    javax.naming.NameNotFoundException:
    sess_iiop://<server_ip>:<port>:<sid>/etc/OLAPServer/OLAPServer not found
    I think it something wrong with my OAS enviroment. I have tried to do my best , but still nothing .... ( I am sure that everything else is OK, because I tried to make connection through
    JDBC to relational database and it worked fine).
    When I'm starting EJB's code as client application everything is OK. The
    connection to OLAPService is established every time. When I modyfied code
    for EJB (commenting code responsible for preparing InitailContextEnviroment
    and connecting to OLAPService) everything was OK. So :
    1) I can connect and invoke EJB's method deployed to OAS,
    2) I can connect to Oracle9i OLAPService and use OLAPAPI methods,
    3) I can't do it when I try to connect to OLAPService through the OAS (where
    is EJB)
    client_application (java) ===CORBA===> OAS ( EJB with OLAPAPI) ==CORBA==>
    OLAPService
    This is the EJB's method code ( when it is calling as client application it
    works!!!!):
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import org.omg.CORBA.Object;
    import oracle.aurora.jndi.sess_iiop.ServiceCtx;
    import oracle.express.connection.Connection;
    import oracle.express.connection.ConnectionManager;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import java.util.*;
    public String Polaczenie()
    String serviceURL="sess_iiop://<server_ip>:<port>:<sid>";
    String objectName="/etc/OLAPServer/OLAPServer";
    Hashtable env=new Hashtable();
    env.put(Context.URL_PKG_PREFIXES,"oracle.aurora.jndi");
    env.put(Context.SECURITY_PRINCIPAL,<user>);
    env.put(Context.SECURITY_CREDENTIALS,<password>);
    env.put(Context.SECURITY_AUTHENTICATION,ServiceCtx.NON_SSL_LOGIN);
    try
    Context ic=new InitialContext(env);
    org.omg.CORBA.Object
    ServiceStub=(org.omg.CORBA.Object)(ic.lookup(serviceURL+objectName));
    Properties connParams = new Properties();
    connParams.put("UserID",<user>);
    connParams.put("Password",<password>);
    ConnectionManager cm=ConnectionManager.init();
    Connection conn=
    cm.connect((org.omg.CORBA.Object)ServiceStub,connParams);
    conn.close();
    catch(Exception e)
    return "\nError:" + e + "\n";
    return "\nIt works\n";
    This is client's code:
    public static void main(String[] args)
    try {
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.PROVIDER_URL, "ormi://sasza/SerwerEjb");
    env.put(Context.SECURITY_PRINCIPAL, "admin");
    env.put(Context.SECURITY_CREDENTIALS, "oracle");
    Context context = new
    com.evermind.server.rmi.RMIInitialContextFactory().getInitialContext(env);
    Object homeObject = context.lookup("<myEJBName>");
    SerwerEjbHome home = (SerwerEjbHome)
    PortableRemoteObject.narrow(homeObject, pakiet.SerwerEjbHome.class);
    SerwerEjb remote = home.create();
    System.out.println(remote.Polaczenie()); <------------------ there is
    error !!!!!!!!!!!!!!!!!! ------------------>
    catch(Exception e)
    System.err.println("Error: " + e + ":::" + e.getMessage());
    Any idea ??
    Thank you in advance.

    "Taesun, An" <[email protected]> writes:
    Thanks for your concern !Its my code - I should be concerned :)
    I have successfuly tested the sample program that you attached.
    and I have some more questions.Great!
    Q1) Can I use idl files generated by weblogic.ejbc on the other ORB like as
    orbix, etc..?Yes. But the problem is that Orbix is known to have problems with the
    codeset that we send out. For silversword we are doing a GIOP 1.2
    implementation a by-product of which will be that we have to do some
    form of codeset negotiation, so hopefully these issues will be sorted
    in the near future.
    And I know that the Client.cpp program you sent differs from original source
    code in the respects which is including TradeResultFactory and
    TradeResultImpl classes.
    Q2) If so, Do i have to implement the above classes for all of call by value
    parameters or return type ?You have to write some C++ code for any valuetypes that you use. This
    basically means any non-primitive object that is not a remote
    interface and implements serializable.
    I wanna know for the needed classes how to easily get generated or the other
    solutions.I attach the entity bean example I cooked up which shows you how you
    can use C++ macros to take away some of this pain. Note that you cannot make the finder method work with 6.0SP2. This will be fixed in 6.1
    [generic_idl_entity.zip]
    I got error message following as, when i used "-idlFactories" of
    weblogic.ejbc option to generate Factory definition.
    Usage: java weblogic.rmic [options] <classes>...
    option descriptions ,.,........
    option descriptions ,.,........
    ERROR: Error from ejbc: Unrecognized option or flag, -idlFactories
    ERROR: ejbc found errors
    make: *** [ejbc] Error 1Hmm, you are right. It looks like the option didn't get inverted in
    rmic. The attached class file should fix this.
    [IDLGeneratorOptions.class]
    andy

Maybe you are looking for

  • ITunes locks my iMac every so often?

    Every so often, but pretty regularly, iTunes seems to cause my mouse or iMac to lock up? It's been doint this ever since I migrated my old iMac computer files to my ne iMac. Any ideas?

  • Talagent wants to use the local items keychain

    Since the last upgrade I have repeated boxes that asks me for a password. I can't get rid of these and don;t know what the password is that I'm being asked for. I'm wasting a lot of time going round in circles. Can anyone help?

  • Hit counter on .Mac

    I've found that since upgrading to iWeb '08 the hit counter under My Pages on my .Mac home page is no longer there. It worked fine while I was working with iWeb '06. Everything else appears to be in order. The hit counter is working on the web page i

  • I don't know how to use GetMatchingArt(...) to get what I need

    Hello programmers, I have compound path arts and path arts selected in the document. I want to have all the selected compund paths and then all the paths which are not part of a compound path. I do the following(short version): AIMatchingArtSpec path

  • Management port on CSS 11150

    I have a simple question. Can someone tell me how to access the management port on the css 11150? I configured the ip and mask on the management port and condigured my laptop for a ip on the same network. But i am unable to connect.