In addition, is it normal that the servletContext defined in applicationContext.xml is overriden by the one defined in activemq ?

I think the dir creation are not done because of the error I get :

2006-03-09 11:31:23,125 : StandardContext.start : Error listenerStart
2006-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
Charles

XmlBeanDefinitionReader.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.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.xml

Modified:

incubator/servicemix/trunk/servicemix-assembly/src/main/release/examples/servicemix-web/src/webapp/WEB-INF/activemq.xml
URL:

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.xml
URL:

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.xml
URL:

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>








Reply via email to