You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2015/04/22 21:46:13 UTC
[2/6] tomee git commit: dont break custom classpath for resource
lifecycle
dont break custom classpath for resource lifecycle
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/cd4de99e
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/cd4de99e
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/cd4de99e
Branch: refs/heads/tomee-1.7.x
Commit: cd4de99e3ccfe424984510a1afa2f2768955f6c2
Parents: fe1e06d
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Wed Apr 15 22:37:09 2015 +0200
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Mon Apr 20 13:26:23 2015 +0100
----------------------------------------------------------------------
.../apache/openejb/assembler/classic/Assembler.java | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/cd4de99e/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
index fc10d9e..66f1920 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
@@ -192,19 +192,15 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InvalidObjectException;
-import java.io.ObjectStreamException;
-import java.io.Serializable;
import java.lang.instrument.ClassFileTransformer;
import java.lang.instrument.Instrumentation;
import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
@@ -973,7 +969,12 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
for (final ResourceInfo resourceInfo : resourceList) {
try {
- final Class<?> clazz = classLoader.loadClass(resourceInfo.className);
+ Class<?> clazz;
+ try {
+ clazz = classLoader.loadClass(resourceInfo.className);
+ } catch (final ClassNotFoundException cnfe) { // custom classpath
+ clazz = containerSystemContext.lookup(OPENEJB_RESOURCE_JNDI_PREFIX + resourceInfo.id).getClass();
+ }
final AnnotationFinder finder = new AnnotationFinder(new ClassesArchive(ancestors(clazz)));
final List<Method> postConstructs = finder.findAnnotatedMethods(PostConstruct.class);
final List<Method> preDestroys = finder.findAnnotatedMethods(PreDestroy.class);
@@ -3158,8 +3159,8 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
public static class ResourceInstance extends Reference implements Serializable, DestroyableResource {
private final String name;
private final Object delegate;
- private transient final Collection<Method> preDestroys;
- private transient final CreationalContext<?> context;
+ private transient Collection<Method> preDestroys;
+ private transient CreationalContext<?> context;
public ResourceInstance(final String name, final Object delegate, final Collection<Method> preDestroys, final CreationalContext<?> context) {
this.name = name;