An attempt to stop the mail bombing. :-)

Didn't you see this Rajesh?

Regards,
Adrian

-----Forwarded Message-----

From: Adrian Brock <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: RE: [JBoss-user] error while trying to open a new connection
Date: 24 Sep 2003 17:22:57 +0100

I just tested it with 3.2.2RC5 (same as 3.2.2RC4 for this code),
it works for me.

You have your resource-ref declared as Unshareable (turns off pooling)?
e.g. in ejb.jar.xml
      <session>
         <ejb-name>Stateful</ejb-name>
         <home>test.ejb.TestStatefulSessionHome</home>
         <remote>test.ejb.TestSession</remote>
         <ejb-class>test.ejb.TestSessionBean</ejb-class>
         <session-type>Stateful</session-type>
         <transaction-type>Bean</transaction-type>
         <resource-ref>
            <res-ref-name>jdbc/DataSource</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
            <res-sharing-scope>Unshareable</res-sharing-scope>
         </resource-ref>
      </session>

in jboss.xml

<jboss>
    <enterprise-beans>
       <session>
            <ejb-name>Stateful</ejb-name>
            <resource-ref>
                <res-ref-name>jdbc/DataSource</res-ref-name>
                <resource-name>DefaultDS</resource-name>
            </resource-ref>
       </session>
    </enterprise-beans>

    <resource-managers>
        <resource-manager res-class="">
            <res-name>DefaultDS</res-name>
            <res-jndi-name>java:/DefaultDS</res-jndi-name>
        </resource-manager>
    </resource-managers>
</jboss>

Regards,
Adrian

On Wed, 2003-09-24 at 16:37, rajeshnn wrote:
> Hi
> I will try to give u as much info as possible
> 1) we are looking up the data source only once and keeping it in a static reference
> 2) getConnection is invoked from the helper class for the stateful session bean
> 3) the connection is stored in a member variable in the helper class
> 4) Auto commit is returning true.
> 5) The logic of the application is that when the first user logs in a connection is 
> obtained from 
>    DataSource and kept open for common functions like authenticating the user etc. 
> Subsequently a     connection is taken from the datasource for the logging the 
> activities of the user as well for the query operations of the user. For every fresh 
> transaction the user starts a new connection is taken from the data source. When the 
> user session ends the connection is closed.
> We are not using any connection pool.
> 6)Is it possible to disable the CachedConnectionManager.
> 7)  the details of oracle-ds.xml is given below:
> <?xml version="1.0" encoding="UTF-8"?>
> <datasources>
>   <local-tx-datasource>
>     <jndi-name>Data</jndi-name>
>     <connection-url>jdbc:oracle:thin:@xx.xxx.com:1521:orcl</connection-url>
>     <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
>     <user-name>post_dev</user-name>
>     <password>******</password>
>   </local-tx-datasource>
> </datasources>
> 
> 8) Even when we comment the setAutoCommit(false) in the code we are getting the 
> following error
> >     
> 
> I had also set  CachedConnectionManager in transaction-service.xml( SpecCompliant to 
> true ) 
> 
> 
> 10:45:37,843 ERROR [STDERR] java.sql.SQLException: You cannot commit with autocommit 
> set!
> > 10:45:37,859 ERROR [STDERR]     at 
> > org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcCommit
> > BaseWrapperManagedConnection.java:494)
> > 10:45:37,859 ERROR [STDERR]     at 
> > org.jboss.resource.adapter.jdbc.WrappedConnection.commit(WrappedConnection.java:465)
> > 10:45:37,859 ERROR [STDERR]     at 
> > com.suntec.tbms3.ui.CUserValidateSB.storeSignInDetails(CUserValidateSB.java:318)
> 
> 
> Could you pls help as we are stuck up with this.
> 
> Regards
> Rajesh
> 
> -----Original Message-----
> From: Adrian Brock [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, September 24, 2003 6:30 PM
> To: [EMAIL PROTECTED]
> Subject: RE: [JBoss-user] error while trying to open a new connection
> 
> 
> Again you'll have to give me some information.
> Where is getConnection() invoked and where do you store the connection?
> What is done between getting the connection and the commit()?
> Is this a StatefulSessionBean?
> What is the deployment descriptor for the resource-ref?
> 
> What does the following return just before the commit():
> m_dbCon.getAutoCommit();
> ((org.jboss.resource.adapter.jdbc.WrappedConnection)
> m_dbCon).getUnderylingConnection().getAutoCommit();
> 
> You know this kind of pattern won't scale. You are not
> using the pool. You will need one db connection per user.
> 
> Regards,
> Adrian
> 
> On Wed, 2003-09-24 at 07:48, rajeshnn wrote:
> > Hi Adrian
> > Thanks you very much for the quick response.
> > 
> >     The issue described in the earlier mail(below) has been solved while using 
> > jboss-3.2.2RC4 ( latest jboss release ), as advised by you.
> > Now i am facing a new error.
> > 
> >     java.sql.SQLException: You cannot commit with autocommit set!
> > 
> >     I had also set  CachedConnectionManager in transaction-service.xml( 
> > SpecCompliant to true ) ),
> > 
> > code is given below:
> > ===============
> > public Connection getConnection(){
> >     String m_strDefaultDataSource   ="java:comp/env/jdbc/Data";
> > 
> >     InitialContext ic                       = new InitialContext();
> >     DataSource m_dsCommmon  = ( DataSource ) ic.lookup( m_strDefaultDataSource );
> >     m_dbCon                 = m_dsCommmon.getConnection();
> >     m_dbCon.setAutoCommit(false);
> >     
> >     return m_dbCon;
> > }
> > 
> > private boolean storeSignInDetails(String  strUserName,String strClientIp , 
> > Connection m_dbCon){
> > 
> >     String strUserId        = getUserId();
> >     strUserId                       = ( null == strUserId )?"Invalid":strUserId;
> > 
> >     String strQuery ="//sql statement for logging //
> >     try{
> >             Statement stmt = m_dbCon.createStatement();
> >             int iCount = stmt.executeUpdate(strQuery);
> >             m_dbCon.commit();
> > 
> >     }catch(Exception e){
> >             e.printStackTrace();
> >             return false;
> >     }
> > 
> >     return true;
> > 
> >     }
> > 
> > // Also pls note that i am not closing the connection, as this is used for further 
> > transaction.
> > // We are using bean managed transaction . We are handling the transaction using 
> > JDBC only (not using JavaTransaction API).
> > //Initially after successful logging of the user, the user details are logged and 
> > it is commited
> >     ( Given in the  above function --storeSignInDetails () ).
> > //Later it is commited , only when the user finishes his transaction.
> > // So we need to use setAutoCommit( false );
> > 
> > Is there any way to prevent this issue....
> > 
> > Also can u please clarify as to what JBoss is expecting. Do we need to disable 
> > CachedConnectionManager??
> >     
> > 
> > 10:45:37,843 ERROR [STDERR] java.sql.SQLException: You cannot commit with 
> > autocommit set!
> > 10:45:37,859 ERROR [STDERR]     at 
> > org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcCommit
> > BaseWrapperManagedConnection.java:494)
> > 10:45:37,859 ERROR [STDERR]     at 
> > org.jboss.resource.adapter.jdbc.WrappedConnection.commit(WrappedConnection.java:465)
> > 10:45:37,859 ERROR [STDERR]     at 
> > com.suntec.tbms3.ui.CUserValidateSB.storeSignInDetails(CUserValidateSB.java:318)
> > 
> > -----Original Message-----
> > From: Adrian Brock [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, September 23, 2003 8:39 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: [JBoss-user] error while trying to open a new connection
> > 
> > 
> > You'll have to provide some more information.
> > It says you are closing a connection that it does not know about
> > were there previous errors?
> > 
> > There has been some cleanup of the error checking in the 3.2.2RC 
> > releases can you check if you still have the problem with 3.2.2RC4?
> > 
> > This actual error shouldn't cause any problems it is a sanity
> > check in the internal datastructure tidyup code. 
> > I would expect the connection has already 
> > been tidied up by a previous error?
> > 
> > Regards,
> > Adrian
> > 
> > On Tue, 2003-09-23 at 15:46, rajeshnn wrote:
> > > Hi All
> > > While trying to create a new connection before closing an existing
> > > connection
> > > the following error  occured. 
> > > Can anyone pls help..
> > > 
> > > 
> > > java.lang.IllegalStateException: Trying to return an unknown
> > > connection2! org.jboss.resource.adapter
> > > [EMAIL PROTECTED]
> > >         at
> > > org.jboss.resource.connectionmanager.CachedConnectionManager.unregisterConnection(CachedC
> > > onnectionManager.java:275)
> > >         at
> > > org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connec
> > > tionClosed(TxConnectionManager.java:550)
> > >         at
> > > org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.closeHandle(BaseWrapperManag
> > > edConnection.java:280)
> > >         at
> > > org.jboss.resource.adapter.jdbc.WrappedConnection.close(WrappedConnection.java:127)
> > >         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
> > > org.jboss.resource.connectionmanager.CachedConnectionManager.closeAll(CachedConnectionMan
> > > 
> > > Rajesh N Nair
> > > SunTec Business Solution,
> > > # 311, Nila ,Technopark, Trivandrum,
> > > Kerala, India. Pin:695581.
> > > Phone ( +91-471-2700984-95)
> > > 
> > > 
> > > 
> > >  
> > > 
> > > 
> > > ______________________________________________________________________
> > > This electronic mail (including any attachment thereto) may be
> > > confidential and privileged and is intended only for the individual or
> > > entity named above. Any unauthorized use, printing, copying,
> > > disclosure or dissemination of this communication may be subject to
> > > legal restriction or sanction. Accordingly, if you are not the
> > > intended recipient, please notify the sender by replying to this email
> > > immediately and delete this email (and any attachment thereto) from
> > > your computer system....Thank You
-- 
xxxxxxxxxxxxxxxxxxxxxxxx 
Adrian Brock
Director of Support
Back Office
JBoss Group, LLC 
xxxxxxxxxxxxxxxxxxxxxxxx 



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user
-- 
xxxxxxxxxxxxxxxxxxxxxxxx 
Adrian Brock
Director of Support
Back Office
JBoss Group, LLC 
xxxxxxxxxxxxxxxxxxxxxxxx 



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to