You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2015/04/15 22:37:20 UTC
tomee git commit: dont break custom classpath for resource lifecycle
Repository: tomee
Updated Branches:
refs/heads/master 2a29aef9f -> 9a5920e1b
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/9a5920e1
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/9a5920e1
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/9a5920e1
Branch: refs/heads/master
Commit: 9a5920e1b1c89a3c331871ff6ff2378e500a4094
Parents: 2a29aef
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Wed Apr 15 22:37:09 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Wed Apr 15 22:37:09 2015 +0200
----------------------------------------------------------------------
.../apache/openejb/assembler/classic/Assembler.java | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/9a5920e1/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 0a98318..2750fa8 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
@@ -209,19 +209,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;
@@ -1119,7 +1115,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);
@@ -3320,8 +3321,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;