0 Replies Latest reply on Mar 9, 2011 12:39 AM by johncoopernz

    JBoss isolated ear deployment problem

    johncoopernz

      We have an application that we package as an ear file.  We use seam in our application. We are using JBoss 5.1.0.GA. We found that there were class conflict problems with the jboss admin console because it uses seam.  So we decided to set ear deployment to isolated by setting the isolated property of the EARClassLoaderDeployer bean to true in the file:  .../jboss-as/server/default/deployers/ear-deployer-jboss-beans.xml

       

      When we did this we started to get ClassNotFoundExceptions within our app which was unexpected.  I thought that setting isolated ear deployment meant that modules within the ear could still share classes?

       

      The class not found is an interface of an ejb.

       

      Does anyone have any pointers on this problem?

       

       

       

      A seam filter class from a seam library in connect-web-1.0.0-SNAPSHOT.war is trying to reference an EJB interface class in connect-domain-1.0.0-SNAPSHOT.jar

       

      Our ear structure:

       

      META-INF/

      META-INF/MANIFEST.MF

      lib/

      bcprov-jdk15-140.jar

      connect-domain-1.0.0-SNAPSHOT.jar

      connect-esb-1.0.0-SNAPSHOT.jar

      connect-soap-1.0.0-SNAPSHOT.war

      connect-web-1.0.0-SNAPSHOT.war

      jboss-seam-2.2.0.GA.jar

      joda-time-1.6.jar

      lib/commons-codec-1.2.jar

      lib/commons-lang-2.1.jar

      lib/connect-core-1.0.0-SNAPSHOT.jar

      lib/jasypt-1.6.jar

      lib/jboss-el-1.0_02.CR4.jar

      lib/log4j-1.2.14.jar

      lib/saxon-9.1.0.8.jar

      lib/saxon-dom-9.1.0.8.jar

      log4j.xml

      META-INF/application.xml

      META-INF/jboss-app.xml

      not-yet-commons-ssl-0.3.9.jar

      opensaml-2.1.0.jar

      openws-1.1.0.jar

      paconnect-ds.xml

      paconnectDeploy.sh

      velocity-1.5.jar

      xmltooling-1.0.1.jar

      META-INF/maven/

      META-INF/maven/au.com.intunity.pa.connect/

      META-INF/maven/au.com.intunity.pa.connect/connect-ear/

      META-INF/maven/au.com.intunity.pa.connect/connect-ear/pom.xml

      META-INF/maven/au.com.intunity.pa.connect/connect-ear/pom.properties

       

       

       

      Our stack trace:

       

      java.lang.ClassNotFoundException: pa.connect.domain.ConnectDomainService

          at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

          at java.security.AccessController.doPrivileged(Native Method)

          at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

          at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

          at java.lang.Class.forName0(Native Method)

          at java.lang.Class.forName(Class.java:247)

          at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:292)

          at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1119)

          at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:798)

          at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441)

          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

          at java.lang.Class.forName0(Native Method)

          at java.lang.Class.forName(Class.java:247)

          at java.io.ObjectInputStream.resolveProxyClass(ObjectInputStream.java:675)

          at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1530)

          at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1492)

          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)

          at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)

          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)

          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)

          at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)

          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)

          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)

          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)

          at java.util.HashMap.readObject(HashMap.java:1030)

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

          at java.lang.reflect.Method.invoke(Method.java:597)

          at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)

          at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)

          at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)

          at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)

          at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)

          at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)

          at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)

          at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)

          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)

          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)

          at com.sun.faces.renderkit.ResponseStateManagerImpl.getTreeStructureToRestore(ResponseStateManagerImpl.java:200)

          at javax.faces.render.ResponseStateManager.getState(ResponseStateManager.java:226)

          at org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:419)

          at com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:311)

          at org.jboss.seam.jsf.SeamViewHandler.restoreView(SeamViewHandler.java:93)

          at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:316)

          at org.ajax4jsf.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:107)

          at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:179)

          at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)

          at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:102)

          at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)

          at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)

          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

          at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:86)

          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

          at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)

          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

          at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)

          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

          at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)

          at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)

          at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)

          at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)

          at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)

          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

          at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)

          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

          at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)

          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

          at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)

          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

          at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)

          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)

          at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)

          at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)

          at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)

          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

          at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)

          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)

          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)

          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

          at java.lang.Thread.run(Thread.java:680)

      15:13:25,442 SEVERE [lifecycle] JSF1054: (Phase ID: RESTORE_VIEW 1, View ID: ) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@7a7f72e0]