Hi,

Regarding the per webapp logging, when we use the 
http://wiki.jboss.org/wiki/Wiki.jsp?page=Log4jRepositorySelector approach
it is not possible any more to do hot ear redeployments.

Steps to reproduce :
1. start JBoss with the ear deployed
2. undeployed the ear
3. redeploy the ear ==> the application cannot be deployed and the whole app 
server is blocked.


I don't understand why, when redeploying the ear, the Log4jLoggerPlugin tries 
to use the per webapp RepositorySelector.  Of course it has not been 
initialized yet and it fails.

See the stacktrace below.  We got a NPE because the RepositorySelector was not 
initialized yet.  However, I don't think the repository of the 
Log4jLoggerPlugin should have been modified.

 ****************stacktrace begins****************

java.lang.NullPointerException
        at 
org.jboss.repositoryselectorexample.MyRepositorySelector.getLoggerRepo
sitory(MyRepositorySelector.java:87)
at org.apache.log4j.LogManager.getLogger(LogManager.java:179)
        at org.apache.log4j.Logger.getLogger(Logger.java:85)
        at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.apache.commons.logging.impl.Log4jProxy.(Log4jProxy.java:132)
        at
org.apache.commons.logging.impl.Log4JLogger.(Log4JLogger.java:39)
        at
sun.reflect.GeneratedConstructorAccessor23.newInstance(Unknown Source)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
tructorAccessorImpl.java:27)
        at
java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImp
l.java:529)
        at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImp
l.java:235)
        at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImp
l.java:209)
        at
org.apache.commons.logging.LogFactory.getLog(LogFactory.java:353)
        at
org.apache.commons.httpclient.HttpMethodBase.(HttpMethodBase.jav
a:102)
        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
        at
sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAcces
sorFactory.java:25)
        at
sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:12
2)
        at java.lang.reflect.Field.acquireFieldAccessor(Field.java:917)
        at java.lang.reflect.Field.getFieldAccessor(Field.java:898)
        at java.lang.reflect.Field.get(Field.java:357)
        at
org.apache.catalina.loader.WebappClassLoader.clearReferences(WebappClass
Loader.java:1608)
        at
org.apache.catalina.loader.WebappClassLoader.stop(WebappClassLoader.java
:1492)
        at
org.apache.catalina.loader.WebappLoader.stop(WebappLoader.java:736)
        at
org.apache.catalina.core.StandardContext.stop(StandardContext.java:4393)
        at
org.apache.catalina.core.ContainerBase.destroy(ContainerBase.java:1132)
        at
org.apache.catalina.core.StandardContext.destroy(StandardContext.java:44
49)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503
)
        at
org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at
org.jboss.web.tomcat.tc5.TomcatDeployer.performUndeployInternal(TomcatDe
ployer.java:450)
        at
org.jboss.web.tomcat.tc5.TomcatDeployer.performUndeploy(TomcatDeployer.j
ava:421)
        at
org.jboss.web.AbstractWebDeployer.stop(AbstractWebDeployer.java:418)
        at org.jboss.web.WebModule.stopModule(WebModule.java:100)
        at org.jboss.web.WebModule.stopService(WebModule.java:66)
        at
org.jboss.system.ServiceMBeanSupport.jbossInternalStop(ServiceMBeanSuppo
rt.java:315)
        at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBean
Support.java:247)
        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.
java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.jav
a:264)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController
.java:978)
        at $Proxy0.stop(Unknown Source)
        at
org.jboss.system.ServiceController.stop(ServiceController.java:508)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.
java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.jav
a:264)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at
org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy38.stop(Unknown Source)
        at
org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:498)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.
java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.
java:133)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBea
nOperationInterceptor.java:142)
        at
org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.ja
va:97)
        at
org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorSe
rviceMBeanSupport.java:238)
        at
org.jboss.ws.integration.jboss.DeployerInterceptor.stop(DeployerIntercep
tor.java:122)
        at
org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.sto
p(SubDeployerInterceptorSupport.java:196)
        at
org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerIntercepto
r.java:99)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.jav
a:264)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at
org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy39.stop(Unknown Source)
        at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
        at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:659)
        at
org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
        at
org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
        at
org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.
java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.
java:133)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBea
nOperationInterceptor.java:142)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.jav
a:264)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at
org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy8.undeploy(Unknown Source)
        at
org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeployment
Scanner.java:450)
        at
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScan
ner.java:570)
        at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doS
can(AbstractDeploymentScanner.java:263)
        at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loo
p(AbstractDeploymentScanner.java:274)
        at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run
(AbstractDeploymentScanner.java:225)

****************stacktrace ends****************

I also tried to copy the log4j.jar in the ./WEB-INF/lib/ of my webapp.  Instead 
of getting a NPE, I got a ClassCastException.

Is anybody succeeded in carrying out hot redeployments while having by per 
webapp logging?  I look at all the forums and I don't think JBoss can do this.  
We are running JBoss 4.0.5.

TIA
Al


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4044988#4044988

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4044988
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to