Hi Ognjen,

Are you able to advice the mailing list for sitemesh? Is it under Tomcat as
well?

Best Regards,
Andy Ee
 
 

-----Original Message-----
From: Ognjen Blagojevic [mailto:ogn...@etf.bg.ac.rs] 
Sent: Monday, August 17, 2009 7:31 PM
To: Tomcat Users List
Subject: Re: Multi-Level Context Paths

Hi Andy,

On Tomcat side everything seems to work just fine.

It seems that sitemash (wrongly) assumes the location of the file config 
file. Try on sitemesh forum/mailing list.

 > Caused by: com.opensymphony.module.sitemesh.factory.FactoryException: 
Could
 > not read config file : /WEB-INF/sitemesh.xml: 
java.io.FileNotFoundException:
 > /usr/local/apache-tomcat/webapps/sg (No such file or directory)

Regards,
Ognjen


Andy Ee wrote:
> Hi Ognjen,
> 
>  
> 
> Thank you for your quick response!
> 
>  
> 
> I have undeployed the old application (test.war) under Tomcat Manager, as
> well as renamed test.war to sg#server#test.war under webapps. Without the
> need to restart Tomcat, I saw the new project directory created under
> /webapps/sg#server#test after awhile.
> 
>  
> 
> I tried to access http://localhost:8080/sg/server/test but it doesn't
work.
> 
>  
> 
> Under catalina.out log:
> 
>  
> 
> INFO: Undeploying context [/test]
> 
> Aug 17, 2009 6:57:24 PM org.apache.catalina.startup.HostConfig deployWAR
> 
> INFO: Deploying web application archive sg#server#test.war
> 
> [test] DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
> StartupListener.contextInitialized(44) | initializing context...
> 
> AbandonedObjectPool is used
> (org.apache.commons.dbcp.abandonedobjectp...@169be56)
> 
>    LogAbandoned: false
> 
>    RemoveAbandoned: true
> 
>    RemoveAbandonedTimeout: 60
> 
> [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
> DefaultValidatorFactory.setValidationConfigLocations(78) | Loading
> validation configurations from [ServletContext resource
> [/WEB-INF/validation.xml],ServletContext resource
> [/WEB-INF/validator-rules.xml],ServletContext resource
> [/WEB-INF/validator-rules-custom.xml]]
> 
> [test] DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
> MS3Crypto.initParams(53) | Initializing crypto parameters.
> 
> [test] DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
> MS3Crypto.initParams(80) | Raw Seed : [...@87c801
> 
> [test] DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
> StartupListener.contextInitialized(95) | Remember Me Enabled? null
> 
> [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
> LocaleFilter.init(152) | Initializing filter 'localeFilter'
> 
> [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
> LocaleFilter.init(177) | Filter 'localeFilter' configured successfully
> 
> [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
> GZIPFilter.init(152) | Initializing filter 'compressionFilter'
> 
> [test] INFO [ContainerBackgroundProcessor[StandardEngine[Catalina]]]
> GZIPFilter.init(177) | Filter 'compressionFilter' configured successfully
> 
> Aug 17, 2009 6:57:44 PM org.apache.catalina.core.StandardContext start
> 
> SEVERE: Error filterStart
> 
> Aug 17, 2009 6:57:44 PM org.apache.catalina.core.StandardContext start
> 
> SEVERE: Context [/singapore/dbs/test] startup failed due to previous
errors
> 
>  
> 
> Under localhost log:
> 
>  
> 
> Aug 17, 2009 6:57:44 PM org.apache.catalina.core.StandardContext
filterStart
> 
> SEVERE: Exception starting filter sitemesh
> 
> com.opensymphony.module.sitemesh.factory.FactoryException: Cannot
construct
> Factory : com.opensymphony.module.sitemesh.factory.DefaultFactory:
> java.lang.reflect.InvocationTargetException
> 
>         at
com.opensymphony.module.sitemesh.Factory.report(Factory.java:87)
> 
>         at
> com.opensymphony.module.sitemesh.Factory.getInstance(Factory.java:56)
> 
>         at
>
com.opensymphony.module.sitemesh.filter.PageFilter.init(PageFilter.java:86)
> 
>         at
>
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilter
> Config.java:275)
> 
>         at
>
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFil
> terConfig.java:397)
> 
>         at
>
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterCon
> fig.java:108)
> 
>         at
>
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:38
> 00)
> 
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
> 
>         at
>
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7
> 91)
> 
>         at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
> 
>         at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
> 
>         at
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850)
> 
>         at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724)
> 
>         at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)
> 
>         at
> org.apache.catalina.startup.HostConfig.check(HostConfig.java:1274)
> 
>         at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296)
> 
>         at
>
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
> t.java:119)
> 
>         at
>
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:
> 1337)
> 
>         at
>
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC
> hildren(ContainerBase.java:1601)
> 
>         at
>
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC
> hildren(ContainerBase.java:1610)
> 
>         at
>
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Cont
> ainerBase.java:1590)
> 
>         at java.lang.Thread.run(Thread.java:619)
> 
>  
> 
> Root cause:
> 
> java.lang.reflect.InvocationTargetException
> 
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> 
>         at
>
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
> sorImpl.java:39)
> 
>         at
>
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
> torAccessorImpl.java:27)
> 
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> 
>         at
> com.opensymphony.module.sitemesh.Factory.getInstance(Factory.java:52)
> 
>         at
>
com.opensymphony.module.sitemesh.filter.PageFilter.init(PageFilter.java:86)
> 
>         at
>
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilter
> Config.java:275)
> 
>         at
>
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFil
> terConfig.java:397)
> 
>         at
>
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterCon
> fig.java:108)
> 
>         at
>
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:38
> 00)
> 
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
> 
>         at
>
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7
> 91)
> 
>         at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
> 
>         at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
> 
>         at
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850)
> 
>         at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724)
> 
>         at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)
> 
>         at
> org.apache.catalina.startup.HostConfig.check(HostConfig.java:1274)
> 
>         at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296)
> 
>         at
>
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
> t.java:119)
> 
>         at
>
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:
> 1337)
> 
>         at
>
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC
> hildren(ContainerBase.java:1601)
> 
>         at
>
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC
> hildren(ContainerBase.java:1610)
> 
>         at
>
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Cont
> ainerBase.java:1590)
> 
>         at java.lang.Thread.run(Thread.java:619)
> 
> Caused by: com.opensymphony.module.sitemesh.factory.FactoryException:
Could
> not read config file : /WEB-INF/sitemesh.xml:
java.io.FileNotFoundException:
> /usr/local/apache-tomcat/webapps/sg (No such file or directory)
> 
>         at
com.opensymphony.module.sitemesh.Factory.report(Factory.java:87)
> 
>         at
>
com.opensymphony.module.sitemesh.factory.DefaultFactory.loadConfig(DefaultFa
> ctory.java:131)
> 
>         at
>
com.opensymphony.module.sitemesh.factory.DefaultFactory.<init>(DefaultFactor
> y.java:57)
> 
>         ... 25 more
> 
> Aug 17, 2009 6:57:44 PM org.apache.catalina.core.ApplicationContext log
> 
> INFO: Closing Spring root WebApplicationContext
> 
>  
> 
>  
> 
> Any idea? Thanks.
> 
>  
> 
> Best Regards,
> Andy Ee
> 
> 
> 
> 
> -----Original Message-----
> From: Ognjen Blagojevic [mailto:ogn...@etf.bg.ac.rs] 
> Sent: Monday, August 17, 2009 7:00 PM
> To: Tomcat Users List
> Subject: Re: Multi-Level Context Paths
> 
>  
> 
> Hi Andy,
> 
>  
> 
> Try to undeploy the old application. Rename the test.war to 
> 
> sg#server#test.war, and deploy it.
> 
>  
> 
> Regards,
> 
> Ognjen
> 
>  
> 
> Andy Ee wrote:
> 
>>  
> 
> 
>> Dear All,
> 
> 
>>  
> 
> 
>> I need an urgent help, and I hope you will shed some light to it.
> 
> 
>>  
> 
> 
>> I have recently installed Apache Tomcat version 6.0.20. I copied my
> project
> 
>> file (test.war) under /usr/local/apache-tomcat-6.0.20/webapps/ and it
> 
>> deployed successfully. I can access the site via the URL of
> 
>> <http://localhost:8080/ms3/> http://localhost:8080/test/. For this
> example,
> 
>> the context path simply follows the filename of the war file.
> 
> 
>>  
> 
> 
>> There is a new requirement to setup multi-level context path as in I need
> 
>> the URL to be  <http://localhost:8080/sg/server/test/>
> 
>> http://localhost:8080/sg/server/test/ instead. I read up your site and
> 
>> confirmed that adding Context path within server.xml is not recommended.
I
> 
>> went ahead to make a copy of the existing test.xml to sg#server#test.xml
> 
>> under /usr/local/apache-tomcat-6.0.20/conf/Catalina/localhost/. Then I
> 
>> restarted Tomcat.
> 
> 
>>  
> 
> 
>> The content of sg#server#test is:
> 
> 
>>  
> 
> 
>> <Context path="/test" debug="99" reloadable="true"
> 
> 
>>     antiJARLocking="true" antiResourceLocking="false">
> 
> 
>>  
> 
> 
>>     <!--Resource name="jdbc/test" auth="Container"
> 
>> type="javax.sql.DataSource"
> 
> 
>>               maxActive="100" maxIdle="30" maxWait="10000"
> 
> 
>>               driverClassName="oracle.jdbc.driver.OracleDriver"
> 
> 
>>               username="MS3_STL" password="password"
> 
> 
>>               url="jdbc:oracle:thin:@192.168.0.37:1521:MS3"
> 
> 
>>               defaultAutoCommit="true" removeAbandoned="true"
> 
> 
>>               removeAbandonedTimeout="60" logAbandoned="true"/-->
> 
> 
>> </Context>
> 
> 
>>  
> 
> 
>> I restarted Tomcat but it gives errors under Catalina.out
> 
> 
>>  
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext
> 
>> resourcesStart
> 
> 
>> SEVERE: Error starting static Resources
> 
> 
>> java.lang.IllegalArgumentException: Document base
> 
>> /usr/local/apache-tomcat/webapps/sg#server#test does not exist or is not
a
> 
>> readable directory
> 
> 
>>         at
> 
>
org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:14
> 
>> 2)
> 
> 
>>         at
> 
>
org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java
> 
>> :4048)
> 
> 
>>         at
> 
>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4217)
> 
> 
>>         at
> 
>
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7
> 
>> 91)
> 
> 
>>         at
> 
>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
> 
> 
>>         at
> 
>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
> 
> 
>>         at
> 
>
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
> 
> 
>>         at
> 
>
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556
> 
>> )
> 
> 
>>         at
> 
>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
> 
> 
>>         at
> 
>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
> 
> 
>>         at
> 
>>
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
> 
> 
>>         at
> 
>
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
> 
>> t.java:119)
> 
> 
>>         at
> 
>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
> 
> 
>>         at
> 
>> org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
> 
> 
>>         at
> 
>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> 
> 
>>         at
> 
>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> 
> 
>>         at
> 
>> org.apache.catalina.core.StandardService.start(StandardService.java:516)
> 
> 
>>         at
> 
>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> 
> 
>>         at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
> 
> 
>>         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
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> 
> 
>>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext start
> 
> 
>> SEVERE: Error in resourceStart()
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext start
> 
> 
>> SEVERE: Error getConfigured
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext start
> 
> 
>> SEVERE: Context [/sg/server/test] startup failed due to previous errors
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.catalina.core.StandardContext stop
> 
> 
>> INFO: Container
> 
>
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/sg/server/te
> 
>> st] has not been started
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.coyote.http11.Http11Protocol start
> 
> 
>> INFO: Starting Coyote HTTP/1.1 on http-6060
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.coyote.http11.Http11Protocol start
> 
> 
>> INFO: Starting Coyote HTTP/1.1 on http-6443
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.jk.common.ChannelSocket init
> 
> 
>> INFO: JK: ajp13 listening on /0.0.0.0:6009
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.jk.server.JkMain start
> 
> 
>> INFO: Jk running ID=0 time=0/40  config=null
> 
> 
>> Aug 17, 2009 5:54:43 PM org.apache.catalina.startup.Catalina start
> 
> 
>> INFO: Server startup in 18859 ms
> 
> 
>>  
> 
> 
>> I have searched the Internet and couldn't find any posts with solutions
to
> 
>> such issue. It seems that setting up multi-level context path in Tomcat 6
> is
> 
>> not so straight-forwarded.
> 
> 
>>  
> 
> 
>> Please kindly help, thanks.
> 
> 
>>  
> 
> 
>> Best Regards,
> 
>> Andy Ee
> 
> 
> 
> 
>>  
> 
> 
>>  
> 
> 
> 
>  
> 
>  
> 
> ---------------------------------------------------------------------
> 
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> 
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
>  
> 
>  
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to