diff options
author | Benoit Foucher <benoit@zeroc.com> | 2013-01-18 16:05:32 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2013-01-18 16:05:32 +0100 |
commit | c9fcc690d90fd294145b8e3eab876b2e92edf237 (patch) | |
tree | f178ad28a951a0080f088aa96c80ffb5628b8e42 /java/src/Ice/AsyncResult.java | |
parent | Fixed IceGrid compilation with G++ 4.6 (diff) | |
download | ice-c9fcc690d90fd294145b8e3eab876b2e92edf237.tar.bz2 ice-c9fcc690d90fd294145b8e3eab876b2e92edf237.tar.xz ice-c9fcc690d90fd294145b8e3eab876b2e92edf237.zip |
Changed Ice.UseServantClassLoader to Ice.UseApplicationClassLoader
Diffstat (limited to 'java/src/Ice/AsyncResult.java')
-rw-r--r-- | java/src/Ice/AsyncResult.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/java/src/Ice/AsyncResult.java b/java/src/Ice/AsyncResult.java index dbde144ddef..8d70697c944 100644 --- a/java/src/Ice/AsyncResult.java +++ b/java/src/Ice/AsyncResult.java @@ -278,6 +278,11 @@ public class AsyncResult if(_callback != null) { + if(_instance.useApplicationClassLoader()) + { + Thread.currentThread().setContextClassLoader(_callback.getClass().getClassLoader()); + } + try { _callback.__completed(this); @@ -294,6 +299,13 @@ public class AsyncResult { __error(exc); } + finally + { + if(_instance.useApplicationClassLoader()) + { + Thread.currentThread().setContextClassLoader(null); + } + } } if(_observer != null) @@ -312,6 +324,11 @@ public class AsyncResult if(_callback != null) { + if(_instance.useApplicationClassLoader()) + { + Thread.currentThread().setContextClassLoader(_callback.getClass().getClassLoader()); + } + try { _callback.__sent(this); @@ -328,6 +345,13 @@ public class AsyncResult { __error(exc); } + finally + { + if(_instance.useApplicationClassLoader()) + { + Thread.currentThread().setContextClassLoader(null); + } + } } if(_observer != null) @@ -436,6 +460,11 @@ public class AsyncResult if(_callback != null) { + if(_instance.useApplicationClassLoader()) + { + Thread.currentThread().setContextClassLoader(_callback.getClass().getClassLoader()); + } + try { _callback.__completed(this); @@ -452,6 +481,13 @@ public class AsyncResult { __error(exc); } + finally + { + if(_instance.useApplicationClassLoader()) + { + Thread.currentThread().setContextClassLoader(null); + } + } } if(_observer != null) |