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 permitted
java.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
2006-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 permitted
java.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 is wrong. 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.xmlincubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/applicationContext.xmlincubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/web.xml Modified: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.xml Tue 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.xml Tue 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.xml Tue 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>
