TAP5-2234: Refreshing the browser in Eclipse on Windows sometimes fails with a locking exception
diff --git a/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/CoffeeScriptCompiler.java b/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/CoffeeScriptCompiler.java
index 849fc22..5871b61 100644
--- a/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/CoffeeScriptCompiler.java
+++ b/tapestry-webresources/src/main/java/org/apache/tapestry5/internal/webresources/CoffeeScriptCompiler.java
@@ -5,6 +5,7 @@
import org.apache.tapestry5.ioc.OperationTracker;
import org.apache.tapestry5.ioc.Resource;
import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.services.assets.ResourceDependencies;
import org.apache.tapestry5.services.assets.ResourceTransformer;
import org.mozilla.javascript.NativeObject;
@@ -56,7 +57,17 @@
public InputStream transform(Resource source, ResourceDependencies dependencies) throws IOException
{
- String content = IOUtils.toString(source.openStream(), UTF8);
+ InputStream is = null;
+ String content;
+
+ try
+ {
+ is = source.openStream();
+ content = IOUtils.toString(is, UTF8);
+ } finally
+ {
+ InternalUtils.close(is);
+ }
RhinoExecutor executor = executorPool.get();