You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2007/07/30 17:13:24 UTC
svn commit: r561009 - in /incubator/servicemix/branches/servicemix-3.1:
common/servicemix-components/src/main/java/org/apache/servicemix/components/file/
deployables/bindingcomponents/servicemix-file/src/main/java/org/apache/servicemix/file/
Author: gnodet
Date: Mon Jul 30 08:13:23 2007
New Revision: 561009
URL: http://svn.apache.org/viewvc?view=rev&rev=561009
Log:
SM-1012: Possible resource leak in FilePoller
Modified:
incubator/servicemix/branches/servicemix-3.1/common/servicemix-components/src/main/java/org/apache/servicemix/components/file/FilePoller.java
incubator/servicemix/branches/servicemix-3.1/deployables/bindingcomponents/servicemix-file/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java
Modified: incubator/servicemix/branches/servicemix-3.1/common/servicemix-components/src/main/java/org/apache/servicemix/components/file/FilePoller.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-3.1/common/servicemix-components/src/main/java/org/apache/servicemix/components/file/FilePoller.java?view=diff&rev=561009&r1=561008&r2=561009
==============================================================================
--- incubator/servicemix/branches/servicemix-3.1/common/servicemix-components/src/main/java/org/apache/servicemix/components/file/FilePoller.java (original)
+++ incubator/servicemix/branches/servicemix-3.1/common/servicemix-components/src/main/java/org/apache/servicemix/components/file/FilePoller.java Mon Jul 30 08:13:23 2007
@@ -194,13 +194,19 @@
}
protected void processFile(File aFile) throws Exception {
- String name = aFile.getCanonicalPath();
- InputStream in = new BufferedInputStream(new FileInputStream(aFile));
- InOnly exchange = getExchangeFactory().createInOnlyExchange();
- NormalizedMessage message = exchange.createMessage();
- exchange.setInMessage(message);
- marshaler.readMessage(exchange, message, in, name);
- getDeliveryChannel().sendSync(exchange);
- in.close();
+ InputStream in = null;
+ try {
+ String name = aFile.getCanonicalPath();
+ in = new BufferedInputStream(new FileInputStream(aFile));
+ InOnly exchange = getExchangeFactory().createInOnlyExchange();
+ NormalizedMessage message = exchange.createMessage();
+ exchange.setInMessage(message);
+ marshaler.readMessage(exchange, message, in, name);
+ getDeliveryChannel().sendSync(exchange);
+ } finally {
+ if (in != null) {
+ in.close();
+ }
+ }
}
}
Modified: incubator/servicemix/branches/servicemix-3.1/deployables/bindingcomponents/servicemix-file/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-3.1/deployables/bindingcomponents/servicemix-file/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java?view=diff&rev=561009&r1=561008&r2=561009
==============================================================================
--- incubator/servicemix/branches/servicemix-3.1/deployables/bindingcomponents/servicemix-file/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java (original)
+++ incubator/servicemix/branches/servicemix-3.1/deployables/bindingcomponents/servicemix-file/src/main/java/org/apache/servicemix/file/FilePollerEndpoint.java Mon Jul 30 08:13:23 2007
@@ -244,21 +244,27 @@
}
protected void processFile(File aFile) throws Exception {
- String name = aFile.getCanonicalPath();
- InputStream in = new BufferedInputStream(new FileInputStream(aFile));
- InOnly exchange = getExchangeFactory().createInOnlyExchange();
- configureExchangeTarget(exchange);
- NormalizedMessage message = exchange.createMessage();
- exchange.setInMessage(message);
- marshaler.readMessage(exchange, message, in, name);
- sendSync(exchange);
- in.close();
- if (exchange.getStatus() == ExchangeStatus.ERROR) {
- Exception e = exchange.getError();
- if (e == null) {
- e = new JBIException("Unkown error");
+ InputStream in = null;
+ try {
+ String name = aFile.getCanonicalPath();
+ in = new BufferedInputStream(new FileInputStream(aFile));
+ InOnly exchange = getExchangeFactory().createInOnlyExchange();
+ configureExchangeTarget(exchange);
+ NormalizedMessage message = exchange.createMessage();
+ exchange.setInMessage(message);
+ marshaler.readMessage(exchange, message, in, name);
+ sendSync(exchange);
+ if (exchange.getStatus() == ExchangeStatus.ERROR) {
+ Exception e = exchange.getError();
+ if (e == null) {
+ e = new JBIException("Unkown error");
+ }
+ throw e;
+ }
+ } finally {
+ if (in != null) {
+ in.close();
}
- throw e;
}
}