Hi, 

I have just reproduced an issue which I have in my Application. 
Steps to reproduce: 

*Checkout project from https://github.com/eiskonzept/tomee/
*Start TomEE maven plugin with node1 profile
*Open in browser: /<application_context_root>/index.xhtml 
*Press submit button. 
*Following code will be executed: 
        ByteArrayOutputStream byteArrayOutputStream = new 
ByteArrayOutputStream();
        SerializationUtils.serialize(new DefaultRequestTypeResolver(), 
byteArrayOutputStream);
        byte[] bytes = byteArrayOutputStream.toByteArray();
        try {
            byteArrayOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();        }
        Object deserialize = SerializationUtils.deserialize(bytes);

Exception: 
org.apache.commons.lang.SerializationException: 
java.lang.ClassNotFoundException: 
org.apache.myfaces.extensions.cdi.jsf2.impl.request.DefaultRequestTypeResolver
        
org.apache.commons.lang.SerializationUtils.deserialize(SerializationUtils.java:166)
        
org.apache.commons.lang.SerializationUtils.deserialize(SerializationUtils.java:193)
        de.test.PassivationCapableBean.submit(PassivationCapableBean.java:55)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        
org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:322)
        
org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:117)
        
org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:108)
        
de.test.PassivationCapableBean_$$_javassist_27.submit(PassivationCapableBean_$$_javassist_27.java)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:601)
        org.apache.el.parser.AstValue.invoke(AstValue.java:278)
        org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
        
org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
        
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
        
org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityViolationAwareActionListener.processAction(SecurityViolationAwareActionListener.java:56)
        
org.apache.myfaces.extensions.cdi.jsf.impl.config.view.ViewControllerActionListener.processAction(ViewControllerActionListener.java:68)
        
org.apache.myfaces.extensions.cdi.jsf.impl.listener.action.CodiActionListener.processAction(CodiActionListener.java:58)
        javax.faces.component.UICommand.broadcast(UICommand.java:120)
        javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1028)
        javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:286)
        javax.faces.component.UIViewRoot._process(UIViewRoot.java:1375)
        javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
        
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38)
        
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
        
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        
org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95)
        javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)


-----Ursprüngliche Nachricht-----
Von: Romain Manni-Bucau [mailto:[email protected]] 
Gesendet: Mittwoch, 6. Februar 2013 14:42
An: [email protected]
Betreff: Re: AW: Class loading problem in TomEE 1.5.1

yep, i just commited it today so it will be available tomorrow

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/2/6 <[email protected]>

> What should I rebuild from sources? :) I just replaced as proposed:
>
> org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLo
> gger
> by
> org.apache.commons.logging.Log=org.apache.openejb.log.commonslogging.L
> og4J4AppOpenEJB4ContainerLog
>
> in my commons-logging.properties.
> Or I got you wrong and this workaround will work only in future builds?
>
> -----Ursprüngliche Nachricht-----
> Von: Romain Manni-Bucau [mailto:[email protected]]
> Gesendet: Mittwoch, 6. Februar 2013 12:09
> An: [email protected]
> Betreff: Re: AW: Class loading problem in TomEE 1.5.1
>
> you rebuilt it from sources?
>
> *Romain Manni-Bucau*
> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> *Blog: **http://rmannibucau.wordpress.com/*<
> http://rmannibucau.wordpress.com/>
> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> *Github: https://github.com/rmannibucau*
>
>
>
> 2013/2/6 <[email protected]>
>
> > Just tried proposed workaround and got exception:
> >
> > Error configuring application listener of class 
> > com.opensymphony.webwork.lifecycle.SessionLifecycleListener
> > java.lang.ExceptionInInitializerError
> >         at
> > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> > Method)
> >         at
> >
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructo
> rAccessorImpl.java:57)
> >         at
> >
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCo
> nstructorAccessorImpl.java:45)
> >         at
> java.lang.reflect.Constructor.newInstance(Constructor.java:525)
> >         at
> >
> org.apache.webbeans.inject.InjectableConstructor.doInjection(Injectabl
> eConstructor.java:89)
> >         at
> >
> org.apache.openejb.cdi.ConstructorInjectionBean.createInstance(Constru
> ctorInjectionBean.java:77)
> >         at
> >
> org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.j
> ava:186)
> >         at
> > org.apache.openejb.core.WebContext.newInstance(WebContext.java:107)
> >         at
> >
> org.apache.tomee.catalina.JavaeeInstanceManager.newInstance(JavaeeInst
> anceManager.java:55)
> >         at
> >
> org.apache.tomee.catalina.JavaeeInstanceManager.newInstance(JavaeeInst
> anceManager.java:48)
> >         at
> >
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext
> .java:4727)
> >         at
> >
> org.apache.catalina.core.StandardContext.startInternal(StandardContext
> .java:5285)
> >         at
> > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> >         at
> >
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.
> java:901)
> >         at
> > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
> >         at
> > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
> >         at
> >
> org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.jav
> a:657)
> >         at
> >
> org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig
> .java:1637)
> >         at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> >         at
> > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> >         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1110)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:603)
> >         at java.lang.Thread.run(Thread.java:722)
> > Caused by: org.apache.commons.logging.LogConfigurationException:
> > User-specified log class
> > 'org.apache.openejb.log.commonslogging.Log4J4AppOpenEJB4ContainerLog'
> > cannot be found or is not useable.
> >         at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementati
> on(LogFactoryImpl.java:874)
> >         at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryI
> mpl.java:604)
> >         at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryI
> mpl.java:336)
> >         at
> >
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryI
> mpl.java:310)
> >         at
> > org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
> >         at
> >
> com.opensymphony.webwork.lifecycle.SessionLifecycleListener.<clinit>(S
> essionLifecycleListener.java:28)
> >         ... 24 more
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Romain Manni-Bucau [mailto:[email protected]]
> > Gesendet: Mittwoch, 6. Februar 2013 11:21
> > An: [email protected]
> > Betreff: Re: AW: Class loading problem in TomEE 1.5.1
> >
> > that's more or less a bug in commons-logging which respects 
> > classloading but uses the current class loader configuration even 
> > when instantiating classes from upper classloader.
> >
> > It means it works for your app but not for the container part
> > (myfaces) which will reuse your config but the parent classloader.
> >
> > The workaround i added is the following one:
> >
> > replace
> > org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4J
> > Lo
> > gger
> > by
> > org.apache.commons.logging.Log=org.apache.openejb.log.commonslogging.
> > Log4J4AppOpenEJB4ContainerLog
> >
> > i opened https://issues.apache.org/jira/browse/TOMEE-758 about it
> >
> > PS: you can implement any other facade you'd like to match your need
> >
> > *Romain Manni-Bucau*
> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
> > *Blog: **http://rmannibucau.wordpress.com/*<
> > http://rmannibucau.wordpress.com/>
> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
> > *Github: https://github.com/rmannibucau*
> >
> >
> >
> > 2013/2/5 <[email protected]>
> >
> > > just have reproduced not exactly the same issue, but very similar, 
> > > in my test project:  https://github.com/eiskonzept/tomee
> > > Just package the app and start tomee-plugin with node1 profile.
> > >
> > > Explanation:
> > > I have two dependencies in my project: commons-logging and log4j. 
> > > If I package both libraries in my webapp I become:
> > > "LogConfigurationException: User-specified log class 
> > > 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or 
> > > is not useable"
> > > which means that commons-logging can't find Log4JLogger class.
> > >
> > > When I put log4j.jar in tomee's lib folder it works just fine. But 
> > > I can't do this with other libraries in real Project, because we  
> > > use some special versions of libraries(quartz for example) which 
> > > are
> > provided by tomee too.
> > >
> > > is there any possibility to use my own versions of libraries which 
> > > already provided by tomee?
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: [email protected]
> > > [mailto:[email protected]]
> > > Gesendet: Montag, 4. Februar 2013 13:12
> > > An: [email protected]
> > > Betreff: AW: AW: Class loading problem in TomEE 1.5.1
> > >
> > > I got further by copying log4j.jar in CATALINA_BASE/lib folder, 
> > > but then I got next NoClassDefFoundError.
> > > Most confusing is that the same application deployed in TomEE 
> > > Version 1.5.0 works perfectly.
> > > I believe it is some kind of class loader issue. Are there some 
> > > significant class loader changes between version 1.5.0 and 1.5.1?
> > > It looks like that container is loading some classes from 
> > > container provided commons-logging.jar first, and then can't find 
> > > some classes in WEB-APP/lib which needed by commons-logging.
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Romain Manni-Bucau [mailto:[email protected]]
> > > Gesendet: Montag, 4. Februar 2013 12:13
> > > An: [email protected]
> > > Betreff: Re: AW: Class loading problem in TomEE 1.5.1
> > >
> > > Hard to help since we dont "see" the issue
> > >
> > > You probably have some conflict in your app.
> > >
> > > Check your deps maybe
> > > Le 4 févr. 2013 12:11, <[email protected]> a écrit :
> > >
> > > > I have tried both: with commons-logging in my war file and without.
> > > > With same result(exception) in both cases.
> > > > I have tried to isolate the issue in small sample app, but 
> > > > without success. Unfortunately I can't provide full application 
> > > > for
> > reproduction.
> > > > Could you give some hints, how can I help you to reproduce the 
> > > > problem on your side or solve the issue by myself?
> > > >
> > > >
> > > > > Note: did you put commons-logging in your app too?
> > > >
> > > > > can you reproduce it in a sample webapp?
> > > >
> > >
> >
>

Reply via email to