I think the dir creation are not done because of the error I get :
2006-03-09 11:31:23,125 : StandardContext.start : Error listenerStart2006-03-09 11:31:23,126 : StandardContext.start : Context [/servicemix-web-3.0-SNAPSHOT] startup failed due to previous errors 2006-03-09 11:31:23,131 : ApplicationContext.log : Closing Spring root WebApplicationContext
Charles Charles Souillard wrote:
Guillaume, you are right, the two files are loaded at the same time.When starting my J2EE app server, I get an error concerning a bean, have you ever seen this error ?Have you an idea ?I can verify that the data directory is created now in the path of the webapp.But install, wdir and deploy are not... Thanks CharlesXmlBeanDefinitionReader.loadBeanDefinitions : Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml] 2006-03-09 11:31:20,094 : CollectionFactory.<clinit> : JDK 1.4+ collections available 2006-03-09 11:31:20,344 : CollectionFactory.<clinit> : Commons Collections 3.x available 2006-03-09 11:31:20,957 : XmlBeanDefinitionReader.loadBeanDefinitions : Loading XML bean definitions from ServletContext resource [/WEB-INF/activemq.xml] 2006-03-09 11:31:21,275 : DefaultListableBeanFactory.registerBeanDefinition : Overriding bean definition for bean 'servletContext': replacing [Root bean: class [org.springframework.web.context.support.ServletContextFactoryBean]; abstract=false; singleton=true; lazyInit=false; autowire=0; dependencyCheck=0; initMethodName=null; destroyMethodName=null; factoryMethodName=null; factoryBeanName=null; defined in ServletContext resource [/WEB-INF/applicationContext.xml]] with [Root bean: class [org.springframework.web.context.support.ServletContextFactoryBean]; abstract=false; singleton=true; lazyInit=false; autowire=0; dependencyCheck=0; initMethodName=null; destroyMethodName=null; factoryMethodName=null; factoryBeanName=null; defined in ServletContext resource [/WEB-INF/activemq.xml]] 2006-03-09 11:31:21,277 : AbstractRefreshableApplicationContext.refreshBeanFactory : Bean factory for application context [Root WebApplicationContext]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [jbi,jencks,transactionManager,jmsFactory,servletContext,rootDir,installDir,deployDir,broker,dataDir]; root of BeanFactory hierarchy 2006-03-09 11:31:21,585 : AbstractApplicationContext.refresh : 10 beans defined in application context [Root WebApplicationContext] 2006-03-09 11:31:21,744 : AbstractApplicationContext.initMessageSource : Unable to locate MessageSource with name 'messageSource': using default [EMAIL PROTECTED] 2006-03-09 11:31:21,890 : AbstractApplicationContext.initApplicationEventMulticaster : Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [EMAIL PROTECTED] 2006-03-09 11:31:22,043 : UiApplicationContextUtils.initThemeSource : Unable to locate ThemeSource with name 'themeSource': using default [EMAIL PROTECTED] 2006-03-09 11:31:22,185 : DefaultListableBeanFactory.preInstantiateSingletons : Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [jbi,jencks,transactionManager,jmsFactory,servletContext,rootDir,installDir,deployDir,broker,dataDir]; root of BeanFactory hierarchy] 2006-03-09 11:31:22,818 : AbstractBeanFactory.destroySingletons : Destroying singletons in factory {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [jbi,jencks,transactionManager,jmsFactory,servletContext,rootDir,installDir,deployDir,broker,dataDir]; root of BeanFactory hierarchy} 2006-03-09 11:31:22,820 : ContextLoader.initWebApplicationContext : Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.activemq.store.PersistenceAdapterFactoryBean': FactoryBean threw exception on object creation; nested exception is java.io.IOException: Operation not permittedjava.io.IOException: Operation not permitted at java.io.RandomAccessFile.setLength(Native Method) at org.activeio.journal.active.LogFile.resize(LogFile.java:100) at org.activeio.journal.active.LogFile.<init>(LogFile.java:52)at org.activeio.journal.active.LogFileManager.initialize(LogFileManager.java:123) at org.activeio.journal.active.LogFileManager.<init>(LogFileManager.java:100) at org.activeio.journal.active.JournalImpl.<init>(JournalImpl.java:101) at org.apache.activemq.store.DefaultPersistenceAdapterFactory.createJournal(DefaultPersistenceAdapterFactory.java:211) at org.apache.activemq.store.DefaultPersistenceAdapterFactory.getJournal(DefaultPersistenceAdapterFactory.java:147) at org.apache.activemq.store.DefaultPersistenceAdapterFactory.createPersistenceAdapter(DefaultPersistenceAdapterFactory.java:65) at org.apache.activemq.store.PersistenceAdapterFactoryBean.getObject(PersistenceAdapterFactoryBean.java:34) at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForSharedInstance(AbstractBeanFactory.java:813) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:151) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:96) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1013) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:824) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:312) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320) at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3692) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4127) at org.objectweb.jonas.web.catalina55.JOnASStandardContext.start(JOnASStandardContext.java:221) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) at org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:121) at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:143)at java.security.AccessController.doPrivileged(Native Method)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:737) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)at2006-03-09 11:31:22,975 : StandardContext.listenerStart : Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.activemq.store.PersistenceAdapterFactoryBean': FactoryBean threw exception on object creation; nested exception is java.io.IOException: Operation not permittedjava.io.IOException: Operation not permitted at java.io.RandomAccessFile.setLength(Native Method) at org.activeio.journal.active.LogFile.resize(LogFile.java:100) at org.activeio.journal.active.LogFile.<init>(LogFile.java:52)at org.activeio.journal.active.LogFileManager.initialize(LogFileManager.java:123) at org.activeio.journal.active.LogFileManager.<init>(LogFileManager.java:100) at org.activeio.journal.active.JournalImpl.<init>(JournalImpl.java:101) at org.apache.activemq.store.DefaultPersistenceAdapterFactory.createJournal(DefaultPersistenceAdapterFactory.java:211) at org.apache.activemq.store.DefaultPersistenceAdapterFactory.getJournal(DefaultPersistenceAdapterFactory.java:147) at org.apache.activemq.store.DefaultPersistenceAdapterFactory.createPersistenceAdapter(DefaultPersistenceAdapterFactory.java:65) at org.apache.activemq.store.PersistenceAdapterFactoryBean.getObject(PersistenceAdapterFactoryBean.java:34) at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForSharedInstance(AbstractBeanFactory.java:813) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBeanDefinition(BeanDefinitionValueResolver.java:151) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:96) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1013) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:824) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:312) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320) at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3692) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4127) at org.objectweb.jonas.web.catalina55.JOnASStandardContext.start(JOnASStandardContext.java:221) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) at org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:121) at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:143)at java.security.AccessController.doPrivileged(Native Method)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:737) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)at Guillaume Nodet wrote:The broker bean is defined in the activemq.xml spring file. Both are loaded at the same time (see web.xml), that's why spring can resolve this dependency. Guillaume On 3/8/06, Charles Souillard <[EMAIL PROTECTED]> wrote:Guillaume, I think there is an error on this commit as the depends-on broker iswrong. There is no more bean with name broker in applicationContext.xml...I get an error when I deploy the webapp... Could you fix it ? I don't know how it is possible to make the dependance working as it is an important one... Thanks, Charles [EMAIL PROTECTED] wrote:Author: gnodet Date: Tue Mar 7 15:44:15 2006 New Revision: 384055 URL: http://svn.apache.org/viewcvs?rev=384055&view=rev Log: Fix relative paths in the webapp Modified:incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/activemq.xml incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/applicationContext.xml incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/web.xmlModified:incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/activemq.xmlURL:http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/activemq.xml?rev=384055&r1=384054&r2=384055&view=diff==============================================================================---incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/activemq.xml(original)+++incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/activemq.xmlTue Mar 7 15:44:15 2006@@ -1,10 +1,10 @@ <!-- START SNIPPET: xbean --> <beans xmlns="http://activemq.org/config/1.0"> - <broker useJmx="false"> + <broker id="broker" useJmx="false"> <persistenceAdapter> - <journaledJDBC journalLogFiles="5" dataDirectory="./data"/> + <journaledJDBC journalLogFiles="5" dataDirectory="#dataDir"/> <!-- To use a different datasource, use th following syntax : --> <!-- <journaledJDBC journalLogFiles="5" dataDirectory="../data"dataSource="#postgres-ds"/>@@ -60,5 +60,12 @@ </bean> --> + <!-- Directories relative to web app --> + <bean id="servletContext" class="org.springframework.web.context.support.ServletContextFactoryBean" />+ <bean id="dataDir" class="org.springframework.web.util.WebUtils"factory-method="getRealPath">+ <constructor-arg ref="servletContext" /> + <constructor-arg value="/data" /> + </bean> + </beans> <!-- END SNIPPET: xbean --> Modified:incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/applicationContext.xmlURL:http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/applicationContext.xml?rev=384055&r1=384054&r2=384055&view=diff==============================================================================---incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/applicationContext.xml(original)+++incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/applicationContext.xmlTue Mar 7 15:44:15 2006@@ -6,15 +6,16 @@ <!-- the JBI container --> <sm:container id="jbi" - rootDir="../wdir" + rootDir="#rootDir" useMBeanServer="true" createMBeanServer="true" - installationDirPath="../install" - deploymentDirPath="../deploy" + installationDirPath="#installDir" + deploymentDirPath="#deployDir" monitorInstallationDirectory="true" dumpStats="true" statsInterval="10" - transactionManager="#transactionManager"> + transactionManager="#transactionManager" + depends-on="broker"> <sm:activationSpecs> @@ -150,20 +151,6 @@ </property> </bean> - <!-- message broker --> - - <!-- ActiveMQ 3.x -->- <bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean">- <property name="config" value="/WEB-INF/activemq.xml"/> - </bean> - - <!-- ActiveMQ 4.x --> - <!-- - <bean id="broker" class="org.apache.activemq.broker.BrokerService"init-method="start">- <property name="transportConnectorURIs"value="tcp://localhost:61636"/>- </bean> - --> - <bean id="transactionManager" class="org.jencks.factory.TransactionManagerFactoryBean"/><bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory">@@ -172,6 +159,21 @@ <constructor-arg value="tcp://localhost:61636"/> </bean> </property> + </bean> + + <!-- Directories relative to web app --> + <bean id="servletContext" class="org.springframework.web.context.support.ServletContextFactoryBean" />+ <bean id="rootDir" class="org.springframework.web.util.WebUtils"factory-method="getRealPath">+ <constructor-arg ref="servletContext" /> + <constructor-arg value="/wdir" /> + </bean> + <bean id="installDir" class="org.springframework.web.util.WebUtils"factory-method="getRealPath">+ <constructor-arg ref="servletContext" /> + <constructor-arg value="/install" /> + </bean> + <bean id="deployDir" class="org.springframework.web.util.WebUtils"factory-method="getRealPath">+ <constructor-arg ref="servletContext" /> + <constructor-arg value="/deploy" /> </bean> </beans> Modified:incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/web.xmlURL:http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/web.xml?rev=384055&r1=384054&r2=384055&view=diff==============================================================================---incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/web.xml(original)+++incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/web.xmlTue Mar 7 15:44:15 2006@@ -11,7 +11,7 @@ <context-param> <param-name>contextConfigLocation</param-name> - <param-value>/WEB-INF/applicationContext.xml</param-value> + <param-value>/WEB-INF/applicationContext.xml/WEB-INF/activemq.xml</param-value></context-param> <context-param> <param-name>contextClass</param-name>