[jboss-svn-commits] JBL Code SVN: r32667 - in labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb: listeners/gateway and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Apr 28 07:29:46 EDT 2010
Author: tfennelly
Date: 2010-04-28 07:29:44 -0400 (Wed, 28 Apr 2010)
New Revision: 32667
Modified:
labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConn.java
labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
Log:
https://jira.jboss.org/jira/browse/JBESB-3282
sql-listener not working correctly with transacted="true"
Modified: labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConn.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConn.java 2010-04-28 10:32:33 UTC (rev 32666)
+++ labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb/helpers/persist/JdbcCleanConn.java 2010-04-28 11:29:44 UTC (rev 32667)
@@ -59,9 +59,12 @@
public void commit() throws SQLException
{
- if ((null != m_conn) && (!transactional))
+ if (null != m_conn)
{
- m_conn.commit();
+ if(!transactional)
+ {
+ m_conn.commit();
+ }
}
else
throw new SQLException("Connection is null!");
@@ -69,9 +72,11 @@
public void rollback() throws SQLException
{
- if ((null != m_conn) && (!transactional))
+ if (null != m_conn)
{
- m_conn.rollback();
+ if(!transactional) {
+ m_conn.rollback();
+ }
} else {
throw new SQLException("Connection is null");
}
@@ -288,6 +293,10 @@
if (!transactional)
{
+ if(m_conn.isClosed()) {
+ System.out.println("*** DS returning dead connections!!!");
+ }
+
m_conn.setAutoCommit(false);
m_conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
}
Modified: labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java 2010-04-28 10:32:33 UTC (rev 32666)
+++ labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java 2010-04-28 11:29:44 UTC (rev 32667)
@@ -101,6 +101,8 @@
* The current transaction strategy
*/
private TransactionStrategy transactionStrategy ;
+
+ private boolean transacted;
public SqlTableGatewayListener(ConfigTree config)
throws ConfigurationException {
@@ -146,10 +148,7 @@
}
finally {
if (failure) {
- if (_dbConn != null) {
- _dbConn.release();
- _dbConn = null;
- }
+ releaseDBConnection();
}
}
}
@@ -396,7 +395,7 @@
}
}
- final boolean transacted = _config.getBooleanAttribute(ListenerTagNames.TRANSACTED_TAG, false) ;
+ transacted = _config.getBooleanAttribute(ListenerTagNames.TRANSACTED_TAG, false);
transactionStrategy = TransactionStrategy.getTransactionStrategy(transacted) ;
} // ________________________________
@@ -519,11 +518,21 @@
} // ________________________________
public void refreshDatasource() {
- _dbConn = null;
+ releaseDBConnection();
if (_datasource != null) {
getDbConn();
}
}
+
+ private void releaseDBConnection() {
+ if(_dbConn != null) {
+ try {
+ _dbConn.release();
+ } finally {
+ _dbConn = null;
+ }
+ }
+ }
/**
* Obtain a new database connection with parameter info
@@ -554,13 +563,14 @@
* at the appropriate time.
*/
- _dbConn = new JdbcCleanConn(oDS);
+ _dbConn = new JdbcCleanConn(oDS, transacted);
}
if ((null != _dbConn) && (_dbConn.getStatements().size() == 0)) {
try {
- prepareStatements();
+ prepareStatements();
} catch (SQLException e) {
+ releaseDBConnection();
_logger.warn("Exception preparing statements", e);
}
}
More information about the jboss-svn-commits
mailing list