Author: hiranya
Date: Sun Jul 21 01:28:59 2013
New Revision: 1505250
URL: http://svn.apache.org/r1505250
Log:
Applying the patch for SYNAPSE-871. Prevent calling the
datasource.getConnection() twice for a single DB interaction.
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBLookupMediator.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBReportMediator.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java?rev=1505250&r1=1505249&r2=1505250&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/AbstractDBMediator.java
Sun Jul 21 01:28:59 2013
@@ -200,12 +200,13 @@ public abstract class AbstractDBMediator
/**
* Return a Prepared statement for the given Statement object, which is
ready to be executed
- * @param stmnt SQL stataement to be executed
+ * @param stmnt SQL statement to be executed
+ * @param con The connection to be used
* @param msgCtx Current message context
* @return a PreparedStatement
* @throws SQLException on error
*/
- protected PreparedStatement getPreparedStatement(Statement stmnt,
+ protected PreparedStatement getPreparedStatement(Statement stmnt,
Connection con,
MessageContext msgCtx)
throws SQLException {
SynapseLog synLog = getLog(msgCtx);
@@ -215,7 +216,6 @@ public abstract class AbstractDBMediator
" and preparing statement : " + stmnt.getRawStatement());
}
- Connection con = getDataSource().getConnection();
if (con == null) {
String msg = "Connection from DataSource " + getDSName() + " is
null.";
log.error(msg);
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBLookupMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBLookupMediator.java?rev=1505250&r1=1505249&r2=1505250&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBLookupMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBLookupMediator.java
Sun Jul 21 01:28:59 2013
@@ -41,8 +41,8 @@ public class DBLookupMediator extends Ab
Connection con = null;
ResultSet rs = null;
try {
- PreparedStatement ps = getPreparedStatement(stmnt, msgCtx);
- con = ps.getConnection();
+ con = this.getDataSource().getConnection();
+ PreparedStatement ps = getPreparedStatement(stmnt, con, msgCtx);
rs = ps.executeQuery();
if (rs.next()) {
@@ -90,7 +90,7 @@ public class DBLookupMediator extends Ab
if (rs != null) {
try {
rs.close();
- } catch (SQLException e) {}
+ } catch (SQLException ignore) {}
}
if (con != null) {
try {
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBReportMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBReportMediator.java?rev=1505250&r1=1505249&r2=1505250&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBReportMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/db/DBReportMediator.java
Sun Jul 21 01:28:59 2013
@@ -50,7 +50,8 @@ public class DBReportMediator extends Ab
Connection con = null;
try {
- PreparedStatement ps = getPreparedStatement(stmnt, msgCtx);
+ con = this.getDataSource().getConnection();
+ PreparedStatement ps = getPreparedStatement(stmnt, con, msgCtx);
con = ps.getConnection();
int count = ps.executeUpdate();