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 2020/04/02 12:40:00 UTC
[tomee] branch master updated (b09c807 -> b08f797)
This is an automated email from the ASF dual-hosted git repository.
jgallimore pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git.
from b09c807 Update CXF to 3.3.6
new 2268fe8 TOMEE-2785 add basic config to allow classes to skip to be configured with a system property
new 59326bd WIP
new a421416 Merge remote-tracking branch 'apache/master' into cl-config
new abdde00 Add test
new b08f797 Merge branch 'cl-config'
The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../tests/jaxws/{HelloWS.java => TestService.java} | 20 ++++++++--------
.../jaxws/WebAppClassLoaderSkipClassesTest.java} | 27 ++++++++++++++--------
.../src/test/resources/arquillian.xml | 4 ++++
arquillian/arquillian-tomee-tests/pom.xml | 2 +-
.../tomee/catalina/TomEEWebappClassLoader.java | 21 ++++++++++++++++-
.../apache/tomee/catalina/TomEEWebappLoader.java | 9 ++++----
.../tomee/catalina/WebAppFirstEarClassLoader.java | 5 ----
7 files changed, 56 insertions(+), 32 deletions(-)
copy arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxws/{HelloWS.java => TestService.java} (77%)
copy arquillian/arquillian-tomee-tests/{arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/WebAppClassLoaderTest.java => arquillian-tomee-jaxws-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxws/WebAppClassLoaderSkipClassesTest.java} (71%)
[tomee] 01/05: TOMEE-2785 add basic config to allow classes to skip
to be configured with a system property
Posted by jg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jgallimore pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git
commit 2268fe8c852c0c8b364a6df488309359c22c6d4b
Author: Jonathan Gallimore <jo...@jrg.me.uk>
AuthorDate: Tue Mar 24 15:02:01 2020 +0000
TOMEE-2785 add basic config to allow classes to skip to be configured with a system property
---
.../apache/tomee/catalina/TomEEWebappClassLoader.java | 17 ++++++++++++++++-
.../org/apache/tomee/catalina/TomEEWebappLoader.java | 9 ++++-----
.../tomee/catalina/WebAppFirstEarClassLoader.java | 5 -----
3 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
index 1a1208a..1ddf303 100644
--- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
+++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
@@ -81,6 +81,7 @@ public class TomEEWebappClassLoader extends ParallelWebappClassLoader {
}
public static final String CLASS_EXTENSION = ".class";
+ protected String[] forceSkip;
private boolean restarting;
private boolean forceStopPhase = Boolean.parseBoolean(SystemInstance.get().getProperty("tomee.webappclassloader.force-stop-phase", "false"));
@@ -164,7 +165,7 @@ public class TomEEWebappClassLoader extends ParallelWebappClassLoader {
}
// avoid to redefine classes from server in this classloader is it not already loaded
- if (URLClassLoaderFirst.shouldDelegateToTheContainer(this, name)) { // dynamic validation handling overriding
+ if (URLClassLoaderFirst.shouldDelegateToTheContainer(this, name) || shouldForceLoadFromTheContainer(name)) { // dynamic validation handling overriding
try {
return OpenEJB.class.getClassLoader().loadClass(name); // we could use containerClassLoader but this is server loader so cut it even more
} catch (final ClassNotFoundException e) {
@@ -209,6 +210,16 @@ public class TomEEWebappClassLoader extends ParallelWebappClassLoader {
}
}
+ private boolean shouldForceLoadFromTheContainer(final String name) {
+ for (final String p : forceSkip) {
+ if (name.startsWith(p)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
private Class<?> loadWithDelegate(final boolean delegate, final boolean resolve, final String name) throws ClassNotFoundException {
setDelegate(delegate);
try {
@@ -549,6 +560,10 @@ public class TomEEWebappClassLoader extends ParallelWebappClassLoader {
this.webResourceRoot = webResourceRoot;
}
+ void setForceSkip(final String[] forceSkip) {
+ this.forceSkip = forceSkip;
+ }
+
private static class NoClassClassLoader extends ClassLoader {
private static final NoClassClassLoader INSTANCE = new NoClassClassLoader();
diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
index 956e055..bb19d55 100644
--- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
+++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
@@ -39,11 +39,10 @@ import java.io.File;
* </Context>
*/
public class TomEEWebappLoader extends WebappLoader {
- public static final boolean SKIP_BACKGROUND_PROCESS = "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process", "false"));
+ private static final boolean SKIP_BACKGROUND_PROCESS = "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process", "false"));
+ private static final String FORCE_SKIP = SystemInstance.get().getProperty("tomee.webapp.classloader.forced-skip", "");
private volatile ClassLoader loader;
- private String forceSkip;
- private String[] forceSkipRuntime;
@Override
public void backgroundProcess() {
@@ -113,8 +112,8 @@ public class TomEEWebappLoader extends WebappLoader {
TomEEWebappClassLoader.cleanContext();
}
- if (forceSkip != null && WebAppFirstEarClassLoader.class.isInstance(getClassLoader())) {
- WebAppFirstEarClassLoader.class.cast(getClassLoader()).setForceSkip(forceSkip.split(" *, *"));
+ if (FORCE_SKIP != null && TomEEWebappClassLoader.class.isInstance(getClassLoader())) {
+ TomEEWebappClassLoader.class.cast(getClassLoader()).setForceSkip(FORCE_SKIP.split(" *, *"));
}
}
diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/WebAppFirstEarClassLoader.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/WebAppFirstEarClassLoader.java
index 327f58d..63f24bb 100644
--- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/WebAppFirstEarClassLoader.java
+++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/WebAppFirstEarClassLoader.java
@@ -24,8 +24,6 @@ public class WebAppFirstEarClassLoader extends TomEEWebappClassLoader {
ClassLoader.registerAsParallelCapable();
}
- private String[] forceSkip;
-
public WebAppFirstEarClassLoader() {
super();
}
@@ -56,7 +54,4 @@ public class WebAppFirstEarClassLoader extends TomEEWebappClassLoader {
return false;
}
- void setForceSkip(final String[] forceSkip) {
- this.forceSkip = forceSkip;
- }
}
[tomee] 04/05: Add test
Posted by jg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jgallimore pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git
commit abdde00ae91bd6ec2537946d4854ce7c593fcdec
Author: Jonathan Gallimore <jo...@jrg.me.uk>
AuthorDate: Thu Apr 2 13:29:32 2020 +0100
Add test
---
.../arquillian/tests/jaxws/TestService.java} | 27 +++++++++-------------
.../jaxws}/WebAppClassLoaderSkipClassesTest.java | 10 ++++----
.../src/test/resources/arquillian.xml | 4 ++++
arquillian/arquillian-tomee-tests/pom.xml | 2 +-
4 files changed, 21 insertions(+), 22 deletions(-)
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/TestServlet.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxws/TestService.java
similarity index 51%
rename from arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/TestServlet.java
rename to arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxws/TestService.java
index 7ba1fee..53bcded 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/TestServlet.java
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxws/TestService.java
@@ -14,25 +14,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.openejb.arquillian.tests.classloader.webapp;
+package org.apache.openejb.arquillian.tests.jaxws;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
+import org.apache.commons.logging.Log;
-@WebServlet(urlPatterns = "/test")
-public class TestServlet extends HttpServlet {
- @Override
- protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
+import javax.ejb.Singleton;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
- final ClassLoader tccl = Thread.currentThread().getContextClassLoader();
- ClassLoader parent = tccl.getParent();
+@Path("test")
+@Singleton
+public class TestService {
- System.out.println(parent.getClass().getName());
-
- // org/apache/commons/logging/Log.
+ @GET
+ public String get() {
+ return Log.class.getProtectionDomain().getCodeSource().getLocation().toExternalForm();
}
}
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/WebAppClassLoaderSkipClassesTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxws/WebAppClassLoaderSkipClassesTest.java
similarity index 87%
rename from arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/WebAppClassLoaderSkipClassesTest.java
rename to arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxws/WebAppClassLoaderSkipClassesTest.java
index a11a212..710e862 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/WebAppClassLoaderSkipClassesTest.java
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxws/WebAppClassLoaderSkipClassesTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.openejb.arquillian.tests.classloader.webapp;
+package org.apache.openejb.arquillian.tests.jaxws;
import org.apache.openejb.loader.IO;
import org.jboss.arquillian.container.test.api.Deployment;
@@ -26,6 +26,7 @@ import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -33,8 +34,6 @@ import java.io.File;
import java.io.IOException;
import java.net.URL;
-import static org.junit.Assert.assertEquals;
-
@RunWith(Arquillian.class)
@RunAsClient
public class WebAppClassLoaderSkipClassesTest {
@@ -52,13 +51,14 @@ public class WebAppClassLoaderSkipClassesTest {
return ShrinkWrap.create(WebArchive.class, "WebAppClassLoaderTest.war")
- .addClasses(TestServlet.class)
+ .addClasses(TestService.class)
.addAsWebInfResource(EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml"))
.addAsLibraries(libs);
}
@Test
public void valid() throws IOException {
- assertEquals("true", IO.slurp(new URL(url.toExternalForm() + "test")));
+ final String output = IO.slurp(new URL(url.toExternalForm() + "test"));
+ Assert.assertFalse(output.contains("WEB-INF")); // shouldn't be loaded from the webapp
}
}
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/resources/arquillian.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/resources/arquillian.xml
index bac5665..d24f983 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/resources/arquillian.xml
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/src/test/resources/arquillian.xml
@@ -29,6 +29,7 @@
My\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
My\ Unmanaged\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
openejb.classloader.forced-load=org.apache.openejb.arquillian.tests.
+ tomee.webapp.classloader.forced-skip=org.apache.commons.logging.
</property>
</configuration>
</container>
@@ -43,6 +44,7 @@
My\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
My\ Unmanaged\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
openejb.classloader.forced-load=org.apache.openejb.arquillian.tests
+ tomee.webapp.classloader.forced-skip=org.apache.commons.logging.
</property>
</configuration>
</container>
@@ -58,6 +60,7 @@
My\ Unmanaged\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
openejb.classloader.forced-load=org.apache.openejb.arquillian.tests
javax.security.jacc.policy.provider=sun.security.provider.PolicyFile
+ tomee.webapp.classloader.forced-skip=org.apache.commons.logging.
</property>
</configuration>
</container>
@@ -72,6 +75,7 @@
My\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
My\ Unmanaged\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
openejb.classloader.forced-load=org.apache.openejb.arquillian.tests.
+ tomee.webapp.classloader.forced-skip=org.apache.commons.logging.
</property>
</configuration>
</container>
diff --git a/arquillian/arquillian-tomee-tests/pom.xml b/arquillian/arquillian-tomee-tests/pom.xml
index b7831f8..ee714b4 100644
--- a/arquillian/arquillian-tomee-tests/pom.xml
+++ b/arquillian/arquillian-tomee-tests/pom.xml
@@ -603,7 +603,7 @@
<goal>test</goal>
</goals>
<configuration>
- <skip>${maven.test.skip}</skip>
+ <skip>false</skip>
<systemPropertyVariables>
<openejb.arquillian.debug>true</openejb.arquillian.debug>
<tomee.version>${project.version}</tomee.version>
[tomee] 05/05: Merge branch 'cl-config'
Posted by jg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jgallimore pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git
commit b08f7977fb33ec3b8ff1deb897e1945783d50358
Merge: b09c807 abdde00
Author: Jonathan Gallimore <jo...@jrg.me.uk>
AuthorDate: Thu Apr 2 13:37:15 2020 +0100
Merge branch 'cl-config'
.../arquillian/tests/jaxws/TestService.java | 33 +++++++++++
.../jaxws/WebAppClassLoaderSkipClassesTest.java | 64 ++++++++++++++++++++++
.../src/test/resources/arquillian.xml | 4 ++
arquillian/arquillian-tomee-tests/pom.xml | 2 +-
.../tomee/catalina/TomEEWebappClassLoader.java | 21 ++++++-
.../apache/tomee/catalina/TomEEWebappLoader.java | 9 ++-
.../tomee/catalina/WebAppFirstEarClassLoader.java | 5 --
7 files changed, 126 insertions(+), 12 deletions(-)
[tomee] 02/05: WIP
Posted by jg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jgallimore pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git
commit 59326bd0b210282e619c2b57ed1dce57fb2a0eb8
Author: Jonathan Gallimore <jo...@jrg.me.uk>
AuthorDate: Fri Mar 27 15:30:40 2020 +0000
WIP
---
.../tests/classloader/webapp/TestServlet.java | 38 +++++++++++++
.../webapp/WebAppClassLoaderSkipClassesTest.java | 64 ++++++++++++++++++++++
.../tomee/catalina/TomEEWebappClassLoader.java | 4 ++
.../apache/tomee/catalina/TomEEWebappLoader.java | 2 +-
4 files changed, 107 insertions(+), 1 deletion(-)
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/TestServlet.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/TestServlet.java
new file mode 100644
index 0000000..7ba1fee
--- /dev/null
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/TestServlet.java
@@ -0,0 +1,38 @@
+/*
+ * 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.arquillian.tests.classloader.webapp;
+
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+@WebServlet(urlPatterns = "/test")
+public class TestServlet extends HttpServlet {
+ @Override
+ protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
+
+ final ClassLoader tccl = Thread.currentThread().getContextClassLoader();
+ ClassLoader parent = tccl.getParent();
+
+ System.out.println(parent.getClass().getName());
+
+ // org/apache/commons/logging/Log.
+ }
+}
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/WebAppClassLoaderSkipClassesTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/WebAppClassLoaderSkipClassesTest.java
new file mode 100644
index 0000000..a11a212
--- /dev/null
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/classloader/webapp/WebAppClassLoaderSkipClassesTest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.arquillian.tests.classloader.webapp;
+
+import org.apache.openejb.loader.IO;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.shrinkwrap.api.ArchivePaths;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.resolver.api.maven.Maven;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+
+import static org.junit.Assert.assertEquals;
+
+@RunWith(Arquillian.class)
+@RunAsClient
+public class WebAppClassLoaderSkipClassesTest {
+ @ArquillianResource
+ private URL url;
+
+ @Deployment
+ public static WebArchive war() {
+ final File[] libs = Maven
+ .configureResolver()
+ .workOffline()
+ .resolve("commons-logging:commons-logging:1.2")
+ .withTransitivity()
+ .asFile();
+
+
+ return ShrinkWrap.create(WebArchive.class, "WebAppClassLoaderTest.war")
+ .addClasses(TestServlet.class)
+ .addAsWebInfResource(EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml"))
+ .addAsLibraries(libs);
+ }
+
+ @Test
+ public void valid() throws IOException {
+ assertEquals("true", IO.slurp(new URL(url.toExternalForm() + "test")));
+ }
+}
diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
index 1ddf303..3589664 100644
--- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
+++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
@@ -211,6 +211,10 @@ public class TomEEWebappClassLoader extends ParallelWebappClassLoader {
}
private boolean shouldForceLoadFromTheContainer(final String name) {
+ if (forceSkip == null) {
+ return false;
+ }
+
for (final String p : forceSkip) {
if (name.startsWith(p)) {
return true;
diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
index bb19d55..e52d62e 100644
--- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
+++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
@@ -40,7 +40,7 @@ import java.io.File;
*/
public class TomEEWebappLoader extends WebappLoader {
private static final boolean SKIP_BACKGROUND_PROCESS = "true".equals(SystemInstance.get().getProperty("tomee.classloader.skip-background-process", "false"));
- private static final String FORCE_SKIP = SystemInstance.get().getProperty("tomee.webapp.classloader.forced-skip", "");
+ private static final String FORCE_SKIP = SystemInstance.get().getProperty("tomee.webapp.classloader.forced-skip", null);
private volatile ClassLoader loader;
[tomee] 03/05: Merge remote-tracking branch 'apache/master' into
cl-config
Posted by jg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jgallimore pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git
commit a421416fdf34d0a34849932c59e33b06641e669a
Merge: 59326bd 16e59f7
Author: Jonathan Gallimore <jo...@jrg.me.uk>
AuthorDate: Wed Apr 1 12:37:47 2020 +0100
Merge remote-tracking branch 'apache/master' into cl-config
examples/deltaspike-configproperty/pom.xml | 2 +-
examples/deltaspike-exception-handling/pom.xml | 2 +-
examples/deltaspike-fullstack/pom.xml | 2 +-
examples/deltaspike-i18n/pom.xml | 2 +-
examples/mvc-cxf-hibernate/pom.xml | 4 +-
examples/mvc-cxf/pom.xml | 4 +-
examples/mvc-resteasy/pom.xml | 2 +-
examples/pom.xml | 1 +
examples/simple-jms-context/README.adoc | 472 +++++++++++++++++++++
examples/simple-jms-context/build.xml | 119 ++++++
.../{mvc-resteasy => simple-jms-context}/pom.xml | 111 ++---
.../java/org/superbiz/jms/CustomJmsService.java | 59 +++
.../org/superbiz/jms/CustomJmsServiceTest.java | 68 +++
.../src/test/resources/arquillian.xml | 30 ++
examples/vaadin-vxx-simple/README_es.adoc | 51 +++
gradle/pom.xml | 2 +-
16 files changed, 873 insertions(+), 58 deletions(-)