From commits-return-46364-archive-asf-public=cust-asf.ponee.io@tomee.apache.org Thu Jan 24 08:57:06 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id C26F418077A for ; Thu, 24 Jan 2019 08:57:05 +0100 (CET) Received: (qmail 93264 invoked by uid 500); 24 Jan 2019 07:57:04 -0000 Mailing-List: contact commits-help@tomee.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tomee.apache.org Delivered-To: mailing list commits@tomee.apache.org Received: (qmail 93249 invoked by uid 500); 24 Jan 2019 07:57:04 -0000 Delivered-To: apmail-openejb-commits@openejb.apache.org Received: (qmail 93246 invoked by uid 99); 24 Jan 2019 07:57:04 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Jan 2019 07:57:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 66F0D1805FB for ; Thu, 24 Jan 2019 07:57:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -109.501 X-Spam-Level: X-Spam-Status: No, score=-109.501 tagged_above=-999 required=6.31 tests=[ENV_AND_HDR_SPF_MATCH=-0.5, KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, USER_IN_DEF_SPF_WL=-7.5, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id b4vbVpaKOc75 for ; Thu, 24 Jan 2019 07:57:02 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id E4A8E60D5B for ; Thu, 24 Jan 2019 07:57:01 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 07783E26A4 for ; Thu, 24 Jan 2019 07:57:01 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 5A35F242B5 for ; Thu, 24 Jan 2019 07:57:00 +0000 (UTC) Date: Thu, 24 Jan 2019 07:57:00 +0000 (UTC) From: "Donald Kwakkel (JIRA)" To: commits@openejb.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (TOMEE-2458) Loading Beans causes ClassNotFoundException when using custom context classloader MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/TOMEE-2458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16750833#comment-16750833 ] Donald Kwakkel commented on TOMEE-2458: --------------------------------------- I found a similair issue about tccl not used here: TOMEE-877. [~romain.manni-bucau] is this the same issue? > Loading Beans causes ClassNotFoundException when using custom context classloader > --------------------------------------------------------------------------------- > > Key: TOMEE-2458 > URL: https://issues.apache.org/jira/browse/TOMEE-2458 > Project: TomEE > Issue Type: Bug > Components: TomEE Core Server > Affects Versions: 8.0.0-M1 > Reporter: Gerwin > Priority: Major > Attachments: myclassloader.jar, myclassloader.jar.withtccl, myexception.jar, myexception.jar.withbean, repro.war > > > h4. Steps to reproduce > # Create a custom Exception and put it in {{CATALINA_HOME/myexception.jar}} > {code:java} > public class MyException extends Exception { > } > {code} > # Create a custom ClassLoader and put it in {{CATALINA_HOME/myclassloader.jar}} > {code:java} > public class MyClassLoader extends WebappClassLoader { > public MyClassLoader(ClassLoader parent)throws MalformedURLException { > super(parent); > addURL(Paths.get(System.getProperty("catalina.home"), "myexception.jar").toUri().toURL()); > } > } > {code} > # Put the classloader on the classpath > {code:none|title=CATALINA_HOME/conf/catalina.properties} > common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/myclassloader.jar" > {code} > # Use the classloader in the context > {code:xml|title=CATALINA_HOME/webapps/repro/META-INF/context.xml} > > > > {code} > # Create a bean with the {{MyException}} in the method signature > {code:java|title=CATALINA_HOME/webapps/repro/WEB-INF/classes/MyBean.class} > @Stateless(name = "MyBeanEJB") > public class MyBean { > public String hello() throws MyException { > return "hello"; > } > } > {code} > # Use the bean > {code:java|title=CATALINA_HOME/webapps/repro/index.jsp} > <%@ page import="MyBean" %> > <%@ page contentType="text/html;charset=UTF-8" language="java" %> > > > <% > MyBean myBean = new MyBean(); > out.println(myBean.hello()); > %> > > > {code} > h4. Actual result > {code:none|title=CATALINA_HOME/logs/catalina.0.log} > jan 23, 2019 4:37:17 PM sun.reflect.DelegatingMethodAccessorImpl invoke > INFO: Starting Servlet Engine: Apache Tomcat (TomEE)/9.0.12 (8.0.0-SNAPSHOT) > jan 23, 2019 4:37:17 PM sun.reflect.DelegatingMethodAccessorImpl invoke > INFO: Deploying web application archive [C:\Program Files\TomEE\webapps\repro.war] > jan 23, 2019 4:37:17 PM org.apache.tomee.catalina.TomcatWebAppBuilder init > INFO: ------------------------- localhost -> /repro > jan 23, 2019 4:37:17 PM org.apache.openejb.config.ConfigurationFactory configureApplication > INFO: Configuring enterprise application: C:\Program Files\TomEE\webapps\repro > jan 23, 2019 4:37:17 PM sun.reflect.NativeMethodAccessorImpl invoke > SEVERE: ContainerBase.addChild: start: > org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/repro]] > at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) > at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) > at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703) > at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:986) > at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1858) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) > at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) > at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:772) > at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:426) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1585) > at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308) > at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) > at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424) > at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367) > at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:969) > at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429) > at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) > at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) > at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944) > at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at org.apache.catalina.startup.Catalina.start(Catalina.java:682) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492) > Caused by: java.lang.NoClassDefFoundError: test/MyException > at java.lang.Class.getDeclaredMethods0(Native Method) > at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) > at java.lang.Class.privateGetPublicMethods(Class.java:2902) > at java.lang.Class.getMethods(Class.java:1615) > at org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.processApplicationExceptions(AnnotationDeployer.java:3058) > at org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:2566) > at org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:1991) > at org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:384) > at org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:420) > at org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1037) > at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1286) > at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1130) > at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:134) > at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) > at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5007) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > ... 38 more > Caused by: java.lang.ClassNotFoundException: test.MyException > at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:186) > at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:83) > ... 54 more > jan 23, 2019 4:37:17 PM sun.reflect.NativeMethodAccessorImpl invoke > SEVERE: Error deploying web application archive [C:\Program Files\TomEE\webapps\repro.war] > java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/repro]] > at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:747) > at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703) > at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:986) > at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1858) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) > at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) > at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:772) > at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:426) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1585) > at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308) > at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) > at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424) > at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367) > at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:969) > at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429) > at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) > at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) > at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944) > at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) > at org.apache.catalina.startup.Catalina.start(Catalina.java:682) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492) > jan 23, 2019 4:37:17 PM sun.reflect.DelegatingMethodAccessorImpl invoke > INFO: Deployment of web application archive [C:\Program Files\TomEE\webapps\repro.war] has finished in [469] ms > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)