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

Reply via email to