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 2014/04/16 23:32:28 UTC
svn commit: r1588078 - in /tomee/tomee/trunk:
container/openejb-core/src/main/java/org/apache/openejb/cdi/
container/openejb-core/src/main/java/org/apache/openejb/util/classloader/
examples/datasource-versioning/ examples/datasource-versioning/src/test...
Author: rmannibucau
Date: Wed Apr 16 21:32:28 2014
New Revision: 1588078
URL: http://svn.apache.org/r1588078
Log:
fixing classpath usage + datasource versinoing sample
Added:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java
tomee/tomee/trunk/examples/datasource-versioning/pom.xml
tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml
tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java?rev=1588078&r1=1588077&r2=1588078&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java Wed Apr 16 21:32:28 2014
@@ -18,13 +18,12 @@ package org.apache.openejb.cdi;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.classloader.ClassLoaderAwareHandler;
import org.apache.webbeans.service.DefaultLoaderService;
import org.apache.webbeans.spi.LoaderService;
import org.apache.webbeans.spi.plugins.OpenWebBeansPlugin;
import javax.enterprise.inject.spi.Extension;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.Collection;
@@ -125,31 +124,4 @@ public class OptimizedLoaderService impl
}
return list;
}
-
- private static final class ClassLoaderAwareHandler implements InvocationHandler {
- private final Object delegate;
- private final ClassLoader loader;
- private final String toString;
-
- private ClassLoaderAwareHandler(final String toString, final Object delegate, final ClassLoader loader) {
- this.delegate = delegate;
- this.loader = loader;
- this.toString = toString;
- }
-
- @Override
- public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
- if (method.getName().equals("toString")) {
- return toString;
- }
-
- final ClassLoader old = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(loader);
- try {
- return method.invoke(delegate, args);
- } finally {
- Thread.currentThread().setContextClassLoader(old);
- }
- }
- }
}
Added: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java?rev=1588078&view=auto
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java (added)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java Wed Apr 16 21:32:28 2014
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.util.classloader;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+
+public final class ClassLoaderAwareHandler implements InvocationHandler {
+ private final Object delegate;
+ private final ClassLoader loader;
+ private final String toString;
+
+ public ClassLoaderAwareHandler(final String toString, final Object delegate, final ClassLoader loader) {
+ this.delegate = delegate;
+ this.loader = loader;
+ this.toString = toString;
+ }
+
+ @Override
+ public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
+ if (toString != null && method.getName().equals("toString")) {
+ return toString;
+ }
+
+ final Thread thread = Thread.currentThread();
+ final ClassLoader old = thread.getContextClassLoader();
+ thread.setContextClassLoader(loader);
+ try {
+ return method.invoke(delegate, args);
+ } finally {
+ thread.setContextClassLoader(old);
+ }
+ }
+}
Modified: tomee/tomee/trunk/examples/datasource-versioning/pom.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/datasource-versioning/pom.xml?rev=1588078&r1=1588077&r2=1588078&view=diff
==============================================================================
--- tomee/tomee/trunk/examples/datasource-versioning/pom.xml (original)
+++ tomee/tomee/trunk/examples/datasource-versioning/pom.xml Wed Apr 16 21:32:28 2014
@@ -90,34 +90,6 @@
</plugins>
</build>
- <profiles>
- <profile>
- <id>arquillian-tomee-embedded</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.apache.openejb</groupId>
- <artifactId>arquillian-tomee-embedded</artifactId>
- <version>${tomee.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </profile>
- <profile>
- <id>arquillian-tomee-remote</id>
- <dependencies>
- <dependency>
- <groupId>org.apache.openejb</groupId>
- <artifactId>arquillian-tomee-remote</artifactId>
- <version>${tomee.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </profile>
- </profiles>
-
<repositories>
<repository>
<id>apache-m2-snapshot</id>
@@ -161,6 +133,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.openejb</groupId>
+ <artifactId>arquillian-tomee-remote</artifactId>
+ <version>${tomee.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.jboss.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-depchain</artifactId>
<type>pom</type>
Modified: tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml?rev=1588078&r1=1588077&r2=1588078&view=diff
==============================================================================
--- tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml (original)
+++ tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml Wed Apr 16 21:32:28 2014
@@ -19,16 +19,16 @@
-->
<tomee>
- <Resource id="DatabaseOne" type="DataSource" classpath="target/drivers/derby-10.10.1.1.jar">
+ <Resource id="DatabaseOne" type="DataSource" classpath="${catalina.base}/../../drivers/derby-10.10.1.1.jar">
JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
JdbcUrl jdbc:derby:databaseOne;create=true
UserName SA
</Resource>
- <Resource id="DatabaseTwo" type="DataSource" classpath="target/drivers/derby-10.9.1.0.jar">
+ <Resource id="DatabaseTwo" type="DataSource" classpath="${catalina.base}/../../drivers/derby-10.9.1.0.jar">
JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
JdbcUrl jdbc:derby:databaseTwo;create=true
UserName SA
</Resource>
-</tomee>
\ No newline at end of file
+</tomee>
Modified: tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml?rev=1588078&r1=1588077&r2=1588078&view=diff
==============================================================================
--- tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml (original)
+++ tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml Wed Apr 16 21:32:28 2014
@@ -22,11 +22,13 @@
<container qualifier="tomee" default="true">
<configuration>
- <property name="serverXml">../src/test/conf/tomee.xml</property>
+ <property name="conf">src/test/conf/</property>
<property name="httpPort">-1</property>
<property name="stopPort">-1</property>
+ <property name="ajpPort">-1</property>
+ <property name="simpleLog">true</property>
<property name="dir">target/apache-tomee-remote</property>
<property name="appWorkingDir">target/arquillian-test-working-dir</property>
</configuration>
</container>
-</arquillian>
\ No newline at end of file
+</arquillian>