Author: david.lloyd(a)jboss.com
Date: 2008-04-18 10:59:24 -0400 (Fri, 18 Apr 2008)
New Revision: 4008
Modified:
remoting3/trunk/build.xml
remoting3/trunk/core/src/main/java/org/jboss/cx/remoting/core/RemoteClassLoader.java
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/JrppBasicExampleMain.java
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/JrppStreamExampleMain.java
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/LocalBasicExampleMain.java
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/LocalStreamExampleMain.java
remoting3/trunk/util/src/main/java/org/jboss/cx/remoting/util/IoUtil.java
Log:
Add IoUtil.closeSafely() method
Modified: remoting3/trunk/build.xml
===================================================================
--- remoting3/trunk/build.xml 2008-04-18 07:50:11 UTC (rev 4007)
+++ remoting3/trunk/build.xml 2008-04-18 14:59:24 UTC (rev 4008)
@@ -1060,7 +1060,7 @@
<delete dir="util/target"/>
</target>
- <target name="util" description="Build the utilities module"
depends="util.compile">
+ <target name="util" description="Build the utilities module"
depends="log-jul,util.compile">
<path id="util.classpath">
<pathelement location="util/target/main/classes"/>
</path>
Modified:
remoting3/trunk/core/src/main/java/org/jboss/cx/remoting/core/RemoteClassLoader.java
===================================================================
---
remoting3/trunk/core/src/main/java/org/jboss/cx/remoting/core/RemoteClassLoader.java 2008-04-18
07:50:11 UTC (rev 4007)
+++
remoting3/trunk/core/src/main/java/org/jboss/cx/remoting/core/RemoteClassLoader.java 2008-04-18
14:59:24 UTC (rev 4008)
@@ -11,6 +11,7 @@
import org.jboss.cx.remoting.service.ClassLoaderResourceRequest;
import org.jboss.cx.remoting.service.RemoteResource;
import org.jboss.cx.remoting.stream.ObjectSource;
+import org.jboss.cx.remoting.util.IoUtil;
/**
*
@@ -49,18 +50,10 @@
for (int t = 0; t < size; t += stream.read(bytes, t, size - t));
return defineClass(name, bytes, 0, size);
} finally {
- try {
- stream.close();
- } catch (IOException e) {
- log.trace("Stream close failed", e);
- }
+ IoUtil.closeSafely(stream);
}
} finally {
- try {
- source.close();
- } catch (IOException e) {
- log.trace("Resource ObjectSource close failed", e);
- }
+ IoUtil.closeSafely(source);
}
} catch (RemotingException e) {
throw new ClassNotFoundException("Cannot load class " + name +
" due to an invocation failure", e);
Modified:
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/JrppBasicExampleMain.java
===================================================================
---
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/JrppBasicExampleMain.java 2008-04-18
07:50:11 UTC (rev 4007)
+++
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/JrppBasicExampleMain.java 2008-04-18
14:59:24 UTC (rev 4008)
@@ -10,9 +10,10 @@
import org.jboss.cx.remoting.RemoteExecutionException;
import org.jboss.cx.remoting.Remoting;
import org.jboss.cx.remoting.Session;
+import org.jboss.cx.remoting.core.security.sasl.Provider;
import org.jboss.cx.remoting.jrpp.JrppServer;
-import org.jboss.cx.remoting.core.security.sasl.Provider;
import org.jboss.cx.remoting.util.AttributeMap;
+import org.jboss.cx.remoting.util.IoUtil;
/**
*
@@ -34,10 +35,10 @@
final String result = client.invoke(original);
System.out.printf("The secret message \"%s\"
became \"%s\"!\n", original.trim(), result.trim());
} finally {
- client.close();
+ IoUtil.closeSafely(client);
}
} finally {
- session.close();
+ IoUtil.closeSafely(session);
}
} finally {
jrppServer.stop();
Modified:
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/JrppStreamExampleMain.java
===================================================================
---
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/JrppStreamExampleMain.java 2008-04-18
07:50:11 UTC (rev 4007)
+++
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/JrppStreamExampleMain.java 2008-04-18
14:59:24 UTC (rev 4008)
@@ -13,9 +13,10 @@
import org.jboss.cx.remoting.RemoteExecutionException;
import org.jboss.cx.remoting.Remoting;
import org.jboss.cx.remoting.Session;
+import org.jboss.cx.remoting.core.security.sasl.Provider;
import org.jboss.cx.remoting.jrpp.JrppServer;
-import org.jboss.cx.remoting.core.security.sasl.Provider;
import org.jboss.cx.remoting.util.AttributeMap;
+import org.jboss.cx.remoting.util.IoUtil;
/**
*
@@ -43,19 +44,19 @@
final String secretLine = bufferedReader.readLine();
System.out.printf("The secret message
\"%s\" became \"%s\"!\n", original.trim(), secretLine);
} finally {
- bufferedReader.close();
+ IoUtil.closeSafely(bufferedReader);
}
} finally {
- reader.close();
+ IoUtil.closeSafely(reader);
}
} finally {
- originalReader.close();
+ IoUtil.closeSafely(originalReader);
}
} finally {
- client.close();
+ IoUtil.closeSafely(client);
}
} finally {
- session.close();
+ IoUtil.closeSafely(session);
}
} finally {
jrppServer.stop();
Modified:
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/LocalBasicExampleMain.java
===================================================================
---
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/LocalBasicExampleMain.java 2008-04-18
07:50:11 UTC (rev 4007)
+++
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/LocalBasicExampleMain.java 2008-04-18
14:59:24 UTC (rev 4008)
@@ -7,6 +7,7 @@
import org.jboss.cx.remoting.RemoteExecutionException;
import org.jboss.cx.remoting.Remoting;
import org.jboss.cx.remoting.core.security.sasl.Provider;
+import org.jboss.cx.remoting.util.IoUtil;
/**
*
@@ -24,7 +25,7 @@
final String result = client.invoke(original);
System.out.printf("The secret message \"%s\" became
\"%s\"!\n", original.trim(), result.trim());
} finally {
- client.close();
+ IoUtil.closeSafely(client);
}
} finally {
Remoting.closeEndpoint(endpoint);
Modified:
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/LocalStreamExampleMain.java
===================================================================
---
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/LocalStreamExampleMain.java 2008-04-18
07:50:11 UTC (rev 4007)
+++
remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/LocalStreamExampleMain.java 2008-04-18
14:59:24 UTC (rev 4008)
@@ -10,6 +10,7 @@
import org.jboss.cx.remoting.RemoteExecutionException;
import org.jboss.cx.remoting.Remoting;
import org.jboss.cx.remoting.core.security.sasl.Provider;
+import org.jboss.cx.remoting.util.IoUtil;
/**
*
@@ -33,16 +34,16 @@
final String secretLine = bufferedReader.readLine();
System.out.printf("The secret message \"%s\"
became \"%s\"!\n", original.trim(), secretLine);
} finally {
- bufferedReader.close();
+ IoUtil.closeSafely(bufferedReader);
}
} finally {
- reader.close();
+ IoUtil.closeSafely(reader);
}
} finally {
- originalReader.close();
+ IoUtil.closeSafely(originalReader);
}
} finally {
- client.close();
+ IoUtil.closeSafely(client);
}
} finally {
Remoting.closeEndpoint(endpoint);
Modified: remoting3/trunk/util/src/main/java/org/jboss/cx/remoting/util/IoUtil.java
===================================================================
--- remoting3/trunk/util/src/main/java/org/jboss/cx/remoting/util/IoUtil.java 2008-04-18
07:50:11 UTC (rev 4007)
+++ remoting3/trunk/util/src/main/java/org/jboss/cx/remoting/util/IoUtil.java 2008-04-18
14:59:24 UTC (rev 4008)
@@ -1,12 +1,16 @@
package org.jboss.cx.remoting.util;
+import java.io.Closeable;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
+import org.jboss.cx.remoting.log.Logger;
/**
*
*/
public final class IoUtil {
+ private static final Logger log = Logger.getLogger(IoUtil.class);
+
public static ByteBuffer getSlice(ByteBuffer source, int length) {
ByteBuffer slice = source.duplicate();
final int newLimit;
@@ -146,4 +150,12 @@
target.put(base64table[b & 0x3f]);
}
}
+
+ public static void closeSafely(Closeable c) {
+ try {
+ c.close();
+ } catch (Throwable t) {
+ log.trace(t, "Closing %s failed", c);
+ }
+ }
}