|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
[jira] Created: (IBATIS-438) SqlMapClient don't release connection in a clustered ejb based applicationSqlMapClient don't release connection in a clustered ejb based application
-------------------------------------------------------------------------- Key: IBATIS-438 URL: https://issues.apache.org/jira/browse/IBATIS-438 Project: iBatis for Java Issue Type: Bug Affects Versions: 2.3.0 Environment: BEA Weblogic Server 9.2.1 Clustered, Oracle 9i, EJB 2.1, the trasaction manager type is JDBC with a JNDI Datasource type. Reporter: Nicola Amoruso I'm using JDBC transaction manager with very basic configuration. I do many database transactions as update and insert In every business method i call startTransaction() on SqlMapClient defined as private as instance variable into my ejb. At the end of my method i call commitTransaction() if the transaction end right and i call always endTransaction() in a finally block as specified in IBATIS tutorial. This architecture work fine in and environment without clustering, but in this last model i have a abnormal consuming of connections of weblogic connection pool with the following exception: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in file: query.xml. --- The error occurred while executing mapped statement. --- Check the query.update. --- Check the statement or the result map. --- Cause: weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:94) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:505) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:90) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:67) at it.mypkg.ejb.Business.unlockListaPersone(CqscPFBusiness.java:279) at it.mypkg.ejb.Business_17zvgu_EOImpl.businessMethod(Business_17zvgu_EOImpl.java:208) at it.mypkg.ejb.Business_17zvgu_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:518) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:408) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404) at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:57) at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:935) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) Caused by: weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception at weblogic.jdbc.common.internal.RmiDataSource_920_WLStub.getConnection(Unknown Source) at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48) at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78) ... 16 more Caused by: java.rmi.UnmarshalException: cannot unmarshaling return; nested exception is: java.io.NotSerializableException: weblogic.jdbc.common.internal.ConnectionEnv at weblogic.rmi.internal.ServerRequest.unmarshalReturn(ServerRequest.java:105) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252) ... 20 more Caused by: java.io.NotSerializableException: weblogic.jdbc.common.internal.ConnectionEnv at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291) at weblogic.rmi.extensions.server.CBVOutputStream.writeObject(CBVOutputStream.java:84) at weblogic.rmi.internal.ServerRequest.unmarshalReturn(ServerRequest.java:97) ... 22 more I fix the problem adding the following code after every endTransaction() : sqlMapClient.getDatasource().getConnection().close(). Thanks in advance. Nicola -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. |
|
|
[jira] Commented: (IBATIS-438) SqlMapClient don't release connection in a clustered ejb based application[ https://issues.apache.org/jira/browse/IBATIS-438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12504790 ] Jeff Butler commented on IBATIS-438: ------------------------------------ Please use the mailing lists for support questions! I think the NotSerializableException is a clue to the problem - if you ask on the lists, we can discuss it further. > SqlMapClient don't release connection in a clustered ejb based application > -------------------------------------------------------------------------- > > Key: IBATIS-438 > URL: https://issues.apache.org/jira/browse/IBATIS-438 > Project: iBatis for Java > Issue Type: Bug > Affects Versions: 2.3.0 > Environment: BEA Weblogic Server 9.2.1 Clustered, Oracle 9i, EJB 2.1, the trasaction manager type is JDBC with a JNDI Datasource type. > Reporter: Nicola Amoruso > > I'm using JDBC transaction manager with very basic configuration. I do many > database transactions as update and insert > In every business method i call startTransaction() on SqlMapClient defined as private as instance variable into my ejb. > At the end of my method i call commitTransaction() if the transaction end right and i call always endTransaction() in a finally block as specified in IBATIS tutorial. > This architecture work fine in and environment without clustering, but in this last model i have a abnormal consuming of connections of weblogic connection pool with the following exception: > com.ibatis.common.jdbc.exception.NestedSQLException: > --- The error occurred in file: query.xml. > --- The error occurred while executing mapped statement. > --- Check the query.update. > --- Check the statement or the result map. > --- Cause: weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception > at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:94) > at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:505) > at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:90) > at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:67) > at it.mypkg.ejb.Business.unlockListaPersone(CqscPFBusiness.java:279) > at it.mypkg.ejb.Business_17zvgu_EOImpl.businessMethod(Business_17zvgu_EOImpl.java:208) > at it.mypkg.ejb.Business_17zvgu_EOImpl_WLSkel.invoke(Unknown Source) > at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:518) > at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224) > at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:408) > at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) > at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147) > at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404) > at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:57) > at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:935) > at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) > at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) > Caused by: weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception > at weblogic.jdbc.common.internal.RmiDataSource_920_WLStub.getConnection(Unknown Source) > at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48) > at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89) > at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78) > ... 16 more > Caused by: java.rmi.UnmarshalException: cannot unmarshaling return; nested exception is: > java.io.NotSerializableException: weblogic.jdbc.common.internal.ConnectionEnv > at weblogic.rmi.internal.ServerRequest.unmarshalReturn(ServerRequest.java:105) > at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338) > at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252) > ... 20 more > Caused by: java.io.NotSerializableException: weblogic.jdbc.common.internal.ConnectionEnv > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075) > at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369) > at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341) > at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291) > at weblogic.rmi.extensions.server.CBVOutputStream.writeObject(CBVOutputStream.java:84) > at weblogic.rmi.internal.ServerRequest.unmarshalReturn(ServerRequest.java:97) > ... 22 more > I fix the problem adding the following code after every endTransaction() : > sqlMapClient.getDatasource().getConnection().close(). > Thanks in advance. > Nicola -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. |
|
|
[jira] Closed: (IBATIS-438) SqlMapClient don't release connection in a clustered ejb based application[ https://issues.apache.org/jira/browse/IBATIS-438?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Clinton Begin closed IBATIS-438. -------------------------------- Resolution: Won't Fix > SqlMapClient don't release connection in a clustered ejb based application > -------------------------------------------------------------------------- > > Key: IBATIS-438 > URL: https://issues.apache.org/jira/browse/IBATIS-438 > Project: iBatis for Java > Issue Type: Bug > Affects Versions: 2.3.0 > Environment: BEA Weblogic Server 9.2.1 Clustered, Oracle 9i, EJB 2.1, the trasaction manager type is JDBC with a JNDI Datasource type. > Reporter: Nicola Amoruso > > I'm using JDBC transaction manager with very basic configuration. I do many > database transactions as update and insert > In every business method i call startTransaction() on SqlMapClient defined as private as instance variable into my ejb. > At the end of my method i call commitTransaction() if the transaction end right and i call always endTransaction() in a finally block as specified in IBATIS tutorial. > This architecture work fine in and environment without clustering, but in this last model i have a abnormal consuming of connections of weblogic connection pool with the following exception: > com.ibatis.common.jdbc.exception.NestedSQLException: > --- The error occurred in file: query.xml. > --- The error occurred while executing mapped statement. > --- Check the query.update. > --- Check the statement or the result map. > --- Cause: weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception > at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:94) > at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:505) > at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:90) > at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:67) > at it.mypkg.ejb.Business.unlockListaPersone(CqscPFBusiness.java:279) > at it.mypkg.ejb.Business_17zvgu_EOImpl.businessMethod(Business_17zvgu_EOImpl.java:208) > at it.mypkg.ejb.Business_17zvgu_EOImpl_WLSkel.invoke(Unknown Source) > at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:518) > at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224) > at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:408) > at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) > at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147) > at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404) > at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:57) > at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:935) > at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) > at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) > Caused by: weblogic.rmi.extensions.RemoteRuntimeException: Unexpected Exception > at weblogic.jdbc.common.internal.RmiDataSource_920_WLStub.getConnection(Unknown Source) > at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48) > at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89) > at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78) > ... 16 more > Caused by: java.rmi.UnmarshalException: cannot unmarshaling return; nested exception is: > java.io.NotSerializableException: weblogic.jdbc.common.internal.ConnectionEnv > at weblogic.rmi.internal.ServerRequest.unmarshalReturn(ServerRequest.java:105) > at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338) > at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252) > ... 20 more > Caused by: java.io.NotSerializableException: weblogic.jdbc.common.internal.ConnectionEnv > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075) > at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369) > at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341) > at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291) > at weblogic.rmi.extensions.server.CBVOutputStream.writeObject(CBVOutputStream.java:84) > at weblogic.rmi.internal.ServerRequest.unmarshalReturn(ServerRequest.java:97) > ... 22 more > I fix the problem adding the following code after every endTransaction() : > sqlMapClient.getDatasource().getConnection().close(). > Thanks in advance. > Nicola -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@... For additional commands, e-mail: dev-help@... |
| Free embeddable forum powered by Nabble | Forum Help |