Author: rmannibucau
Date: Wed Dec 5 09:22:19 2012
New Revision: 1417327
URL: http://svn.apache.org/viewvc?rev=1417327&view=rev
Log:
OWB 1.1.7-SNAPSHOT new API + ensuring Files shutdown hook use server
classloader (even for context and not only classloader)
Modified:
openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Files.java
Modified:
openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Files.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Files.java?rev=1417327&r1=1417326&r2=1417327&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Files.java
(original)
+++
openejb/trunk/openejb/container/openejb-loader/src/main/java/org/apache/openejb/loader/Files.java
Wed Dec 5 09:22:19 2012
@@ -165,14 +165,19 @@ public class Files {
static final List<String> delete = new ArrayList<String>();
static {
- final Thread deleteShutdownHook = new Thread() {
- @Override
- public void run() {
- delete();
- }
- };
- deleteShutdownHook.setContextClassLoader(Files.class.getClassLoader());
- Runtime.getRuntime().addShutdownHook(deleteShutdownHook);
+ final ClassLoader loader =
Thread.currentThread().getContextClassLoader();
+
Thread.currentThread().setContextClassLoader(Files.class.getClassLoader());
+ try {
+ final Thread deleteShutdownHook = new Thread() {
+ @Override
+ public void run() {
+ delete();
+ }
+ };
+ Runtime.getRuntime().addShutdownHook(deleteShutdownHook);
+ } finally {
+ Thread.currentThread().setContextClassLoader(loader);
+ }
}
public static void deleteOnExit(File file) {