I appreciate the response. The URLs are being changed per the above code. However, now the quickstart app errors on deployment. I am using Tapestry 5.0.18. Maybe I am missing something. Did this solution work properly for you? Is there another Tapestry class that needs to be overridden?
Thanks in advance. Jeff java.lang.RuntimeException: java.util.zip.ZipException: The system cannot find the path specified at org.apache.tapestry5.ioc.internal.services.ClassNameLocatorImpl.locateClassNames(ClassNameLocatorImpl.java:80 ) at $ClassNameLocator_11e468dbacf.locateClassNames($ClassNameLocator_11e468dbacf.java) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl.fillNameToClassNameMap(ComponentClassResolv erImpl.java:291) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl.rebuild(ComponentClassResolverImpl.java:280 ) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl.performRebuild(ComponentClassResolverImpl.j ava:200) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl.access$100(ComponentClassResolverImpl.java: 33) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl$2.run(ComponentClassResolverImpl.java:182) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier$2.invoke(ConcurrentBarrier.java:198) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier$2.invoke(ConcurrentBarrier.java:196) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withWrite(ConcurrentBarrier.java:138) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withWrite(ConcurrentBarrier.java:204) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl.rebuild(ComponentClassResolverImpl.java:178 ) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl.locate(ComponentClassResolverImpl.java:512) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl.access$300(ComponentClassResolverImpl.java: 33) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl$4.invoke(ComponentClassResolverImpl.java:42 9) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl$4.invoke(ComponentClassResolverImpl.java:42 7) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83) at org.apache.tapestry5.internal.services.ComponentClassResolverImpl.isPageName(ComponentClassResolverImpl.java: 425) at $ComponentClassResolver_11e468dbac9.isPageName($ComponentClassResolver_11e468dbac9.java) at org.apache.tapestry5.services.TapestryModule$37.initializeApplication(TapestryModule.java:1945) at $ApplicationInitializer_11e468dbaca.initializeApplication($ApplicationInitializer_11e468dbaca.java) at $ApplicationInitializer_11e468dbac7.initializeApplication($ApplicationInitializer_11e468dbac7.java) at org.apache.tapestry5.services.TapestryModule$18.initializeApplication(TapestryModule.java:1050) at $ServletApplicationInitializer_11e468dbab0.initializeApplication($ServletApplicationInitializer_11e468dbab0.j ava) at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:91) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:234) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:332) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:90) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3783) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4413) at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:367) at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:146) at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:460) at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118) at org.jboss.web.deployers.WebModule.start(WebModule.java:96) at sun.reflect.GeneratedMethodAccessor292.invoke(Unknown Source) 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:206) at $Proxy36.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(SimpleControllerContext Action.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java: 71) at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:5 1) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) at org.jboss.system.ServiceController.doChange(ServiceController.java:688) at org.jboss.system.ServiceController.start(ServiceController.java:460) at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:146) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:104) at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:45) at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer .java:62) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50) at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171) at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157) at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178) at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822) at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781) at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:545) at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:290) at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.j ava:65) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor. java:142) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166 ) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Caused by: java.util.zip.ZipException: The system cannot find the path specified at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:203) at java.util.jar.JarFile.<init>(JarFile.java:132) at java.util.jar.JarFile.<init>(JarFile.java:70) at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:56) at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:41) at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:63) at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:102) at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:69) at org.apache.tapestry5.ioc.internal.services.ClassNameLocatorImpl.scanURL(ClassNameLocatorImpl.java:110) at org.apache.tapestry5.ioc.internal.services.ClassNameLocatorImpl.findClassesWithinPath(ClassNameLocatorImpl.ja va:96) at org.apache.tapestry5.ioc.internal.services.ClassNameLocatorImpl.locateClassNames(ClassNameLocatorImpl.java:75 ) ... 89 more Geoff Callender-2 wrote: > > I've just been working in that, too. The problem is that JBoss 5's > URLs for jars are not yet recognised by Tapestry. Tapestry has an > empty ClasspathURLConverter service which can be overridden in > situations like this. > > So, create a new implementation of ClasspathURLConverter... > > > package jumpstart.web.services; > > import org.apache.tapestry5.ioc.services.ClasspathURLConverter; > > import java.net.MalformedURLException; > import java.net.URL; > > /** > * This is intended to override Tapestry's ClasspathURLConverter > service. It recognizes JBoss 5's vfszip protocol, which > * Tapestry does not understand, by replacing it with the traditional > jar protocol, which Tapestry does understand. > */ > public class MyClasspathURLConverterImpl implements > ClasspathURLConverter { > public URL convert(URL url) { > > if (url.getProtocol().equals("vfszip")) { > try { > String urlStr = "jar:file:" + > url.getPath().replaceAll(".jar/", > ".jar!/"); > url = new URL(urlStr); > } > catch (MalformedURLException e) { > throw new IllegalStateException("Should not get > here. url = " + > url); > } > } > > return url; > } > } > > > ...and override the existing ClasspathURLConverter service: > > > @SuppressWarnings("unchecked") > public void contributeAlias(Configuration<AliasContribution> > configuration) { > > configuration > .add(AliasContribution.create(ClasspathURLConverter.class, new > MyClasspathURLConverterImpl())); > } > > > That's all it takes. > > There are 2 other tricks to watch out for: > - Hibernate exceptions are a bit different in a couple of situations. > The JumpStart business tests find these. > - I haven't yet figured out how to get the deployment scanner in conf/ > bootstrap/profile.xml to work. If anyone knows then please do tell! > > Cheers, > Geoff > > On 17/12/2008, at 8:01 AM, jeffk99 wrote: > >> >> Trying to migrate our Tapestry5 webapp from JBoss 4.2.1 to JBoss 5.0.0 >> Had some errors deploying the app, so I decided to try a simple T5 >> app. >> Created the new app with using the Quickstart Archetype. >> The simple application deploys without error. >> However, when I try to access a page with a browser I get 404 error. >> When I submit the request, the logs show INFO entry for TimingFilter: >> INFO [STDOUT] [INFO] AppModule.TimingFilter Request time: 0 ms >> >> This same simple app war works properly on JBoss 4.2.1 >> >> I added an onActivate() method to the the Index.java page with some >> logging >> but the logging is not produced. >> >> Does anybody have experience running T5 apps on JBoss 5.0.0? >> >> Any suggestions / advice is appreciated. >> >> >> Thank you, >> >> Jeff >> -- >> View this message in context: >> http://www.nabble.com/JBoss5-and-T5-configuration--tp21041727p21041727.html >> Sent from the Tapestry - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> > > > -- View this message in context: http://www.nabble.com/JBoss5-and-T5-configuration--tp21041727p21060618.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org