[Design of JBoss Portal] - Portlet taglib + test case
by julien@jboss.com
I have added a basic test case for checking that a portlet application can use the JSR 168 taglib that we'll complete later when we start impl of JSR 286 taglib.
The one thing is that the TLD file needs to be bundled with the applications since there is no way to define a global taglib in a portable manner today.
It is done in build.xml in the portal-portlet-test-framework-lib.jar which is bunlded with all test cases. As it is the simplest to do for now.
I was able to share the taglib with Tomcat by placing a jar containing the portlet container classes and the TLD in the of Cargo. It does not work with JBoss AS since it uses another mechanism (see here http://wiki.jboss.org/wiki/Wiki.jsp?page=GlobalTLDs).
For the portlet container with bundle we'll need different solutions according to the target bundle that will
- share the taglib in lib of tomcat
- require a modification of AS using the described artifact or to use the existing runtime mechanism which copies the taglib in the war file at deployment time (which would be more transparent).
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4123849#4123849
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4123849
16 years, 11 months
[Design of POJO Server] - Truncated class file exception with NoCopy VFS
by alesj
I get the following exceptions while deploying Seam Booking example app and using NoCopyNestedJar VFS usage (-Djboss.vfs.forceNoCopy=true):
| 2008-01-27 14:21:55,406 DEBUG [org.ajax4jsf.resource.ResourceBuilderImpl] Process resources configuration file vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear/jboss-seam-booking.war/WEB-INF/lib/jboss-seam-ui.jar/META-INF/resources-config.xml
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} loadClass org.apache.commons.digester.Digester resolve=false
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} aquireLockFairly Thread[main,5,jboss]
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} aquiredLock Thread[main,5,jboss] holding=1
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} load from domain org.apache.commons.digester.Digester domain=ClassLoaderDomain@798797{seam.jboss.org:loader=seam-booking}
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] ClassLoaderDomain@798797{seam.jboss.org:loader=seam-booking} findLoader org/apache/commons/digester/Digester.class classLoader=BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} allExports=false
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] ClassLoaderDomain@798797{seam.jboss.org:loader=seam-booking} trying to load org/apache/commons/digester/Digester.class from all exports of package org.apache.commons.digester [VFSClassLoaderPolicy@1ae306c{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear}]
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} get resource locally org/apache/commons/digester/Digester.class
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} got resource locally org/apache/commons/digester/Digester.class
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} load class locally org.apache.commons.digester.Digester
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} getPackage org.apache.commons.digester
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} already loaded package org.apache.commons.digester org.apache.commons.digester
| 2008-01-27 14:21:55,546 WARN [org.jboss.detailed.classloader.ClassLoaderManager] Unexpected error during load of:org.apache.commons.digester.Digester
| java.lang.ClassFormatError: Truncated class file
| at java.lang.ClassLoader.defineClass1(Native Method)
| at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
| at org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:58)
| at org.jboss.classloader.spi.base.BaseClassLoader$1.run(BaseClassLoader.java:362)
| at org.jboss.classloader.spi.base.BaseClassLoader$1.run(BaseClassLoader.java:321)
| at java.security.AccessController.doPrivileged(Native Method)
| at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:320)
| at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:293)
| at org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:75)
| at org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:91)
| at org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:449)
| at org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:251)
| at org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:145)
| at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:193)
| at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1006)
| at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:584)
| at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:234)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
| at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:579)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
| at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
| at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
| at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
| at org.ajax4jsf.resource.ResourceBuilderImpl.registerConfig(ResourceBuilderImpl.java:159)
| at org.ajax4jsf.resource.ResourceBuilderImpl.registerResources(ResourceBuilderImpl.java:143)
| at org.ajax4jsf.resource.ResourceBuilderImpl.init(ResourceBuilderImpl.java:214)
| at org.ajax4jsf.renderkit.ChameleonRenderKitFactory.<init>(ChameleonRenderKitFactory.java:62)
| at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
| at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
| at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
| at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
| at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:549)
| at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:448)
| at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:249)
| at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:1036)
| at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:493)
| at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:381)
| at org.jboss.web.jsf.integration.config.JBossJSFConfigureListener.contextInitialized(JBossJSFConfigureListener.java:69)
| at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3860)
| at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
| at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
| at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
| at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
| 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:585)
| at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
| at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
| at org.apache.catalina.core.StandardContext.init(StandardContext.java:5357)
| at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:345)
| at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:141)
| at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:344)
| at org.jboss.web.deployers.WebModule.startModule(WebModule.java:89)
| at org.jboss.web.deployers.WebModule.start(WebModule.java:67)
| 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:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
| at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:184)
| at $Proxy5.start(Unknown Source)
| at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
| at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
| at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
| at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
| at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
| at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:255)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
| at org.jboss.system.ServiceController.doChange(ServiceController.java:659)
| at org.jboss.system.ServiceController.start(ServiceController.java:431)
| at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:149)
| at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:107)
| at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
| at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:65)
| at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:853)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:874)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:906)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:794)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:498)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:506)
| at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:246)
| at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:131)
| at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:408)
| at org.jboss.Main.boot(Main.java:208)
| at org.jboss.Main$1.run(Main.java:534)
| at java.lang.Thread.run(Thread.java:595)
| 2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} unlock Thread[main,5,jboss] holding=1
|
There is no such exception with direct VFS usage.
Can't find the difference ... :-(
This exception causes the Seam app. not to deploy properly.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4123848#4123848
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4123848
16 years, 11 months