Author: boisvert
Date: Wed Feb 18 15:45:17 2009
New Revision: 745543
URL: http://svn.apache.org/viewvc?rev=745543&view=rev
Log:
ODE-521: Properly close file handles on .cbp
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java?rev=745543&r1=745542&r2=745543&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
Wed Feb 18 15:45:17 2009
@@ -859,7 +859,12 @@
markused();
__log.debug("Rehydrating process " + _pconf.getProcessId());
try {
- _oprocess =
deserializeCompiledProcess(_pconf.getCBPInputStream());
+ InputStream inputStream = _pconf.getCBPInputStream();
+ try {
+ _oprocess = deserializeCompiledProcess(inputStream);
+ } finally {
+ inputStream.close();
+ }
} catch (Exception e) {
String errmsg = "Error reloading compiled process " + _pid +
"; the file appears to be corrupted.";
__log.error(errmsg);
Modified:
ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java?rev=745543&r1=745542&r2=745543&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java
(original)
+++
ode/branches/APACHE_ODE_1.X/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java
Wed Feb 18 15:45:17 2009
@@ -18,6 +18,7 @@
*/
package org.apache.ode.jbi;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@@ -177,8 +178,14 @@
OdeService service = new OdeService(this, endpoint);
try {
ProcessConf pc = _store.getProcessConfiguration(pid);
- Serializer ofh = new Serializer(pc.getCBPInputStream());
- OProcess compiledProcess = ofh.readOProcess();
+ InputStream is = pc.getCBPInputStream();
+ OProcess compiledProcess = null;
+ try {
+ Serializer ofh = new Serializer(is);
+ compiledProcess = ofh.readOProcess();
+ } finally {
+ is.close();
+ }
QName portType = null;
for (Map.Entry<String, Endpoint> provide :
pc.getProvideEndpoints().entrySet()) {
if (provide.getValue().equals(endpoint)) {