You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by rm...@apache.org on 2014/03/23 18:08:54 UTC
svn commit: r1580541 - in
/incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache:
sirona/javaagent/InJvmTransformerRunner.java
test/sirona/javaagent/OpenEJBTest.java
Author: rmannibucau
Date: Sun Mar 23 17:08:54 2014
New Revision: 1580541
URL: http://svn.apache.org/r1580541
Log:
wrong classloader impl, fixing reloading
Modified:
incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/InJvmTransformerRunner.java
incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/test/sirona/javaagent/OpenEJBTest.java
Modified: incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/InJvmTransformerRunner.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/InJvmTransformerRunner.java?rev=1580541&r1=1580540&r2=1580541&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/InJvmTransformerRunner.java (original)
+++ incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/sirona/javaagent/InJvmTransformerRunner.java Sun Mar 23 17:08:54 2014
@@ -76,11 +76,16 @@ public class InJvmTransformerRunner exte
}
@Override
- public Class<?> loadClass(String name) throws ClassNotFoundException {
+ public Class<?> loadClass(final String name) throws ClassNotFoundException {
if (!name.startsWith(getTestClass().getName())) {
return getParent().loadClass(name);
}
+ final Class<?> existing = findLoadedClass(name);
+ if (existing != null) {
+ return existing;
+ }
+
try {
final String resourceName = name.replaceAll("\\.", "/") + ".class";
final InputStream is = getResourceAsStream(resourceName);
Modified: incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/test/sirona/javaagent/OpenEJBTest.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/test/sirona/javaagent/OpenEJBTest.java?rev=1580541&r1=1580540&r2=1580541&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/test/sirona/javaagent/OpenEJBTest.java (original)
+++ incubator/sirona/trunk/agent/javaagent/src/test/java/org/apache/test/sirona/javaagent/OpenEJBTest.java Sun Mar 23 17:08:54 2014
@@ -16,9 +16,12 @@
*/
package org.apache.test.sirona.javaagent;
+import org.apache.openejb.loader.JarLocation;
import org.apache.openejb.util.proxy.LocalBeanProxyFactory;
import org.apache.sirona.javaagent.InJvmTransformerRunner;
import org.apache.sirona.repositories.Repository;
+import org.apache.xbean.finder.AnnotationFinder;
+import org.apache.xbean.finder.archive.FileArchive;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -35,6 +38,7 @@ import javax.persistence.NoResultExcepti
import javax.persistence.PersistenceContext;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
+import java.net.MalformedURLException;
import java.util.Collection;
import java.util.List;
@@ -50,6 +54,12 @@ public class OpenEJBTest {
}
@Test
+ public void scanning() throws MalformedURLException {
+ final AnnotationFinder finder = new AnnotationFinder(new FileArchive(Thread.currentThread().getContextClassLoader(), JarLocation.jarLocation(TicTacToeServiceEJB.class).toURI().toURL())).link();
+ assertEquals(1, finder.findMetaAnnotatedFields(PersistenceContext.class).size());
+ }
+
+ @Test
public void checkEJBAreInstrumented() throws Throwable {
assertEquals(0, Repository.INSTANCE.counters().size());
TicTacToeServiceEJB.class.cast(LocalBeanProxyFactory.newProxyInstance(