You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2017/01/26 19:44:52 UTC
svn commit: r1780445 -
/jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java
Author: pmouawad
Date: Thu Jan 26 19:44:52 2017
New Revision: 1780445
URL: http://svn.apache.org/viewvc?rev=1780445&view=rev
Log:
Fix stream leaks
Modified:
jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java
Modified: jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java?rev=1780445&r1=1780444&r2=1780445&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java (original)
+++ jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java Thu Jan 26 19:44:52 2017
@@ -19,6 +19,8 @@
package org.apache.jmeter.protocol.jdbc;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.math.BigDecimal;
@@ -315,13 +317,16 @@ public abstract class AbstractJDBCTestEl
final Clob clob) throws SQLException {
try {
if (clob.length() > MAX_RETAIN_SIZE) {
- jmvars.put(
- name,
- IOUtils.toString(clob.getCharacterStream(0,
- MAX_RETAIN_SIZE))
- + "<result cut off, it is too big>");
+ try (Reader reader = clob.getCharacterStream(0,MAX_RETAIN_SIZE)) {
+ jmvars.put(
+ name,
+ IOUtils.toString(reader)
+ + "<result cut off, it is too big>");
+ }
} else {
- jmvars.put(name, IOUtils.toString(clob.getCharacterStream()));
+ try (Reader reader = clob.getCharacterStream()) {
+ jmvars.put(name, IOUtils.toString(reader));
+ }
}
} catch (IOException e) {
log.warn("Could not read CLOB into " + name, e);
@@ -343,8 +348,9 @@ public abstract class AbstractJDBCTestEl
} else {
try {
long length = Math.max(blob.length(), MAX_RETAIN_SIZE);
- jmvars.put(name, IOUtils.toString(
- blob.getBinaryStream(0, length), ENCODING));
+ try (InputStream is = blob.getBinaryStream(0, length)) {
+ jmvars.put(name, IOUtils.toString(is, ENCODING));
+ }
} catch (IOException e) {
log.warn("Can't convert BLOB to String using " + ENCODING, e);
}