Spring Framework
  1. Spring Framework
  2. SPR-4301

Initializing shared context from within an EJB and sharing it with a web module

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.3
    • Fix Version/s: 2.0.8, 2.5.1
    • Component/s: None
    • Labels:
      None
    • Last commented by a User:
      false

      Description

      This bug might be related to SPR-4169, but it's more like the reverse I guess and it's reproducable.

      It prevent's us from bringing our application into production.

      I have one EAR with an ejb-jar module and a war module.

      • The ejb-jar module contains my stateless session beans and my MDBs.
      • The SLSBs and the MDBs extend from Spring's EJB convenience classes.

      I'm using the shared context approach in which the spring context is shared between the ejb's (mdbs and slsbs) and the web module.
      All my ejb's therefore exhibit the following code pattern:
      <code>
      public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext)

      { super.setMessageDrivenContext(messageDrivenContext); setBeanFactoryLocator(ContextSingletonBeanFactoryLocator.getInstance("classpath*:**/beanRefContext.xml")); setBeanFactoryLocatorKey("service"); }

      </code>

      My web.xml contains the following entries:
      <code>
      <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/config/spring/spring-presentation.xml</param-value>
      </context-param>

      <context-param>
      <param-name>locatorFactorySelector</param-name>
      <param-value>classpath*:**/beanRefContext.xml</param-value>
      </context-param>

      <context-param>
      <param-name>parentContextKey</param-name>
      <param-value>service</param-value>
      </context-param>

      <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      </code>

      The beanRefContext.xml file is located in my application server's domain lib/classes directory so it's "accessible" by both modules.

      This setup works perfectly as long as there are no messages on the queue when deploying/starting the application (in SJAS terms, the domain).
      In this "no messages" scenario the ejb module is deployed and no calls are made by the container of setMessageDrivenContext or ejbCreate methods (this is consistent with the ejb life cycle):
      [#|2008-01-05T12:45:45.366+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.core.classloading|_ThreadID=10;|LDR5010: All ejb(s) of [webedison] loaded successfully!|#]

      After the ejb's have been loaded the web module is being loaded:
      [#|2008-01-05T12:45:45.406+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.container.web|_ThreadID=10;|WEB0100: Loading web module [webedison:webedison.war] in virtual server [server] at [/edison]|#]

      Then the servlet engine is started and one of the first things that occurs is the initialization of the spring root web application context. As you can see (see NO MESSAGE EXCERPT snippets at the end of this bug description) spring's start looking for a beanRefContext.xml file in different locations (classpath locations I guess) and finally the one found in my application server application domain/lib/classes is used as indicated by this log entry:
      [#|2008-01-05T12:45:51.755+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,755 [INFO ] org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml]

      Once found, spring starts processing the beanRefContext.xml loading the "service" bean that contains the filenames of the actual application contexts that are to be loaded (see NO MESSAGE snippet at the end of this description).

      Then I can access my application via its url and everything works as expected (both the web components as well as the MDBs and SLSBs have access to the shared contexts at the beans in it):
      request => pojo delegate => ejb service (CMT) => pojo service => hibernate dao
      message => mdb (CMT) => pojo controller => ejb service (CMT) => pojo service => hibernate dao.

      That is, as long as the container doesn't preload one or more of the ejb's before the web module is loaded and started then everythings goes fine.

      However the above setup does not work if there is a message on the queue when starting(deploying) the application (in SJAS terms, the domain).
      Again the ejb module is loaded and then the web module is:
      [#|2008-01-05T13:14:41.494+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.core.classloading|_ThreadID=10;|LDR5010: All ejb(s) of [webedison] loaded successfully!|#]
      [#|2008-01-05T13:14:41.534+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.container.web|_ThreadID=10;|WEB0100: Loading web module [webedison:webedison.war] in virtual server [server] at [/edison]|#]

      But as you can see in the following snippet (watch the thread ids), before the web module is fully started (and therefore before the shared context is loaded) another thread starts preloading the MDB (because there's a message on the queue its listening on) which results in a call being made by the container to the mdb's setMessageDrivenContext method that, as written above, contains the following statements:
      super.setMessageDrivenContext(messageDrivenContext);
      setBeanFactoryLocator(ContextSingletonBeanFactoryLocator.getInstance("classpath*:**/beanRefContext.xml"));
      setBeanFactoryLocatorKey("service");

      From the ONE MESSAGE SCENARIO snippet below you can see that the second statement results in a refresh of the context ... however it's not initialized yet because the web module is not fully "started" yet...resulting in an exception ... the context not being initialized ... the web module not being "started" and available for use.

      The bug that should be solved therefore I guess is how we can initialize the context from within an ejb when it's not initialized yet "by" the web module and how the web module is able to detect that it's already initialized or being initialized (by the ejb module) ?

      What are the options of getting this to work ?

      Kind regards,
      EDH

      ONE MESSAGE SCENARIO - EXCERPT FROM server.log showing the fact that the thread that's preloading the MDB results in refreshing the context which is not yet initialized by the other thread that starts the servlet engine and initializes the context:
      <code>
      [#|2008-01-05T13:14:41.494+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.core.classloading|_ThreadID=10;|LDR5010: All ejb(s) of [webedison] loaded successfully!|#]

      [#|2008-01-05T13:14:41.534+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.container.web|_ThreadID=10;|WEB0100: Loading web module [webedison:webedison.war] in virtual server [server] at [/edison]|#]

      [#|2008-01-05T13:14:41.594+0100|FINE|sun-appserver-ee8.1_02|javax.enterprise.system.container.ejb|_ThreadID=12;|[Pool-webedison:ZendingBatchConsumerBean]: Added PoolResizeTimerTask...|#]

      [#|2008-01-05T13:14:41.644+0100|FINE|sun-appserver-ee8.1_02|javax.enterprise.system.container.ejb|_ThreadID=13;|[Pool-webedison:ZendingBatchConsumerBean]: Resize started at: Sat Jan 05 13:14:41 CET 2008 steadyPoolSize ::1 resizeQuantity ::1 maxPoolSize ::1|#]

      [#|2008-01-05T13:14:41.644+0100|FINE|sun-appserver-ee8.1_02|javax.enterprise.system.container.ejb|_ThreadID=13;|[Pool-webedison:ZendingBatchConsumerBean]: Attempting to preload 1 beans. CurSize/MaxPoolSize: 0/1|#]

      [#|2008-01-05T13:18:44.416+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:44,416 [INFO ] org.springframework.context.support.ClassPathXmlApplicationContext - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@151000a: display name [org.springframework.context.support.ClassPathXmlApplicationContext@151000a]; startup date [Sat Jan 05 13:18:44 CET 2008]; root of context hierarchy

      #]

      [#|2008-01-05T13:18:44.897+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 13:18:44,897 [INFO ] org.apache.catalina.core.StandardEngine - Starting Servlet Engine: Sun-Java-System/Application-Server

      #]

      [#|2008-01-05T13:18:45.978+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:45,978 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loading schema mappings from [META-INF/spring.schemas]

      #]

      [#|2008-01-05T13:18:46.079+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,079 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loaded schema mappings: {}

      #]

      [#|2008-01-05T13:18:46.079+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,079 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loading schema mappings from [META-INF/spring.schemas]

      #]

      [#|2008-01-05T13:18:46.079+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,079 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loaded schema mappings: {}

      #]

      [#|2008-01-05T13:18:46.229+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,229 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Looking for matching resources in directory tree [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\config\log4j]

      #]

      [#|2008-01-05T13:18:46.229+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,229 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\config\log4j] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/config/log4j/**/beanRefContext.xml]

      #]

      [#|2008-01-05T13:18:46.229+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,229 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Looking for matching resources in directory tree [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes]

      #]

      [#|2008-01-05T13:18:46.229+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,229 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/lib/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T13:18:46.309+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,309 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Resolved location pattern [classpath*:**/beanRefContext.xml] to resources [file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml]]

      #]

      [#|2008-01-05T13:18:46.319+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,319 [INFO ] org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml]

      #]

      [#|2008-01-05T13:18:46.319+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=13;|2008-01-05 13:18:46,319 [DEBUG] org.springframework.beans.factory.xml.DefaultDocumentLoader - Using JAXP provider [com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl]

      #]

      [#|2008-01-05T13:19:01.556+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.container.web|_ThreadID=10;|WebModule[/edison]Initializing Spring root WebApplicationContext|#]

      [#|2008-01-05T13:19:01.556+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 13:19:01,556 [INFO ] org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started

      #]

      [#|2008-01-05T13:19:01.556+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 13:19:01,556 [DEBUG] org.springframework.web.context.ContextLoader - Getting parent context definition: using parent context key of 'service' with BeanFactoryLocator

      #]

      [#|2008-01-05T13:19:17.730+0100|SEVERE|sun-appserver-ee8.1_02|javax.enterprise.system.container.ejb.mdb|_ThreadID=13;|MDB00050: Message-driven bean [webedison:ZendingBatchConsumerBean]: Exception in creating message-driven ejb : [java.lang.reflect.InvocationTargetException]|#]

      [#|2008-01-05T13:19:17.730+0100|SEVERE|sun-appserver-ee8.1_02|javax.enterprise.system.container.ejb.mdb|_ThreadID=13;|java.lang.reflect.InvocationTargetException
      org.springframework.beans.factory.access.BootstrapException: Unable to initialize group definition. Group resource name [classpath*:**/beanRefContext.xml], factory key [service]; nested exception is org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 5 in XML document from file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
      Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 5 in XML document from file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
      Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
      at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
      at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)
      at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
      at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1944)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705)
      at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:330)
      at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(XMLNSDocumentScannerImpl.java:779)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1794)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
      at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250)
      at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
      at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)
      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:351)
      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:280)
      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131)
      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:147)
      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:173)
      at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:112)
      at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:79)
      at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:100)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:298)
      at org.springframework.context.access.ContextSingletonBeanFactoryLocator.initializeDefinition(ContextSingletonBeanFactoryLocator.java:137)
      at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:381)
      at org.springframework.ejb.support.AbstractEnterpriseBean.loadBeanFactory(AbstractEnterpriseBean.java:116)
      at org.springframework.ejb.support.AbstractMessageDrivenBean.ejbCreate(AbstractMessageDrivenBean.java:78)
      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:585)
      at com.sun.ejb.containers.MessageBeanContainer.createMessageDrivenEJB(MessageBeanContainer.java:692)
      at com.sun.ejb.containers.MessageBeanContainer.access$100(MessageBeanContainer.java:71)
      at com.sun.ejb.containers.MessageBeanContainer$MessageBeanContextFactory.create(MessageBeanContainer.java:467)
      at com.sun.ejb.containers.util.pool.NonBlockingPool.preload(NonBlockingPool.java:249)
      at com.sun.ejb.containers.util.pool.NonBlockingPool.doResize(NonBlockingPool.java:473)
      at com.sun.ejb.containers.util.pool.NonBlockingPool$ReSizeWork.run(NonBlockingPool.java:541)
      at com.sun.ejb.containers.util.pool.NonBlockingPool$ReSizeWork.service(NonBlockingPool.java:533)
      at com.sun.ejb.containers.util.WorkAdapter.doWork(WorkAdapter.java:44)
      at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)

      #]

      [#|2008-01-05T13:19:17.730+0100|SEVERE|sun-appserver-ee8.1_02|javax.enterprise.system.container.ejb.mdb|_ThreadID=13;|java.lang.reflect.InvocationTargetException
      java.lang.reflect.InvocationTargetException
      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:585)
      at com.sun.ejb.containers.MessageBeanContainer.createMessageDrivenEJB(MessageBeanContainer.java:692)
      at com.sun.ejb.containers.MessageBeanContainer.access$100(MessageBeanContainer.java:71)
      at com.sun.ejb.containers.MessageBeanContainer$MessageBeanContextFactory.create(MessageBeanContainer.java:467)
      at com.sun.ejb.containers.util.pool.NonBlockingPool.preload(NonBlockingPool.java:249)
      at com.sun.ejb.containers.util.pool.NonBlockingPool.doResize(NonBlockingPool.java:473)
      at com.sun.ejb.containers.util.pool.NonBlockingPool$ReSizeWork.run(NonBlockingPool.java:541)
      at com.sun.ejb.containers.util.pool.NonBlockingPool$ReSizeWork.service(NonBlockingPool.java:533)
      at com.sun.ejb.containers.util.WorkAdapter.doWork(WorkAdapter.java:44)
      at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
      Caused by: org.springframework.beans.factory.access.BootstrapException: Unable to initialize group definition. Group resource name [classpath*:**/beanRefContext.xml], factory key [service]; nested exception is org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 5 in XML document from file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
      at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:384)
      at org.springframework.ejb.support.AbstractEnterpriseBean.loadBeanFactory(AbstractEnterpriseBean.java:116)
      at org.springframework.ejb.support.AbstractMessageDrivenBean.ejbCreate(AbstractMessageDrivenBean.java:78)
      ... 13 more
      Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 5 in XML document from file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:359)
      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:280)
      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:131)
      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:147)
      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:173)
      at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:112)
      at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:79)
      at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:100)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:298)
      at org.springframework.context.access.ContextSingletonBeanFactoryLocator.initializeDefinition(ContextSingletonBeanFactoryLocator.java:137)
      at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:381)
      ... 15 more
      Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
      at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
      at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)
      at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
      at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1944)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705)
      at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:330)
      at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(XMLNSDocumentScannerImpl.java:779)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1794)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
      at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250)
      at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
      at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)
      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:351)
      ... 26 more

      #]

      [#|2008-01-05T13:19:17.730+0100|FINE|sun-appserver-ee8.1_02|javax.enterprise.system.container.ejb|_ThreadID=13;|[Pool-webedison:ZendingBatchConsumerBean]: After preload CurSize/MaxPoolSize: 0/1|#]

      [#|2008-01-05T13:19:17.730+0100|FINE|sun-appserver-ee8.1_02|javax.enterprise.system.container.ejb|_ThreadID=13;|[Pool-webedison:ZendingBatchConsumerBean]: Resize completed at: Sat Jan 05 13:19:17 CET 2008; after reSize: [Pool-webedison:ZendingBatchConsumerBean] CC=1; DC=0; CS=0; SS=1; MS=1;|#]

      [#|2008-01-05T13:19:17.730+0100|FINE|sun-appserver-ee8.1_02|javax.enterprise.system.container.ejb|_ThreadID=13;|[Pool-webedison:ZendingBatchConsumerBean]: Resize took: 276.086 seconds.|#]

      [#|2008-01-05T13:19:17.730+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 13:19:17,730 [ERROR] org.springframework.web.context.ContextLoader - Context initialization failed
      java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
      at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:120)
      at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:683)
      at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:394)
      at org.springframework.web.context.ContextLoader.loadParentContext(ContextLoader.java:311)
      at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:180)
      at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4010)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4522)
      at com.sun.enterprise.web.WebModule.start(WebModule.java:241)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1086)
      at org.apache.catalina.core.StandardHost.start(StandardHost.java:847)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1086)
      at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:483)
      at org.apache.catalina.startup.Embedded.start(Embedded.java:894)
      at com.sun.enterprise.web.WebContainer.start(WebContainer.java:739)
      at com.sun.enterprise.web.HttpServiceWebContainer.startInstance(HttpServiceWebContainer.java:964)
      at com.sun.enterprise.web.HttpServiceWebContainerLifecycle.onStartup(HttpServiceWebContainerLifecycle.java:50)
      at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:300)
      at com.sun.enterprise.server.PEMain.run(PEMain.java:281)
      at com.sun.enterprise.server.PEMain.main(PEMain.java:207)

      #]

      [#|2008-01-05T13:19:17.730+0100|SEVERE|sun-appserver-ee8.1_02|javax.enterprise.system.container.web|_ThreadID=10;|WebModule[/edison]Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
      java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
      at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:120)
      at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:683)
      at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:394)
      at org.springframework.web.context.ContextLoader.loadParentContext(ContextLoader.java:311)
      at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:180)
      at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4010)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4522)
      at com.sun.enterprise.web.WebModule.start(WebModule.java:241)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1086)
      at org.apache.catalina.core.StandardHost.start(StandardHost.java:847)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1086)
      at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:483)
      at org.apache.catalina.startup.Embedded.start(Embedded.java:894)
      at com.sun.enterprise.web.WebContainer.start(WebContainer.java:739)
      at com.sun.enterprise.web.HttpServiceWebContainer.startInstance(HttpServiceWebContainer.java:964)
      at com.sun.enterprise.web.HttpServiceWebContainerLifecycle.onStartup(HttpServiceWebContainerLifecycle.java:50)
      at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:300)
      at com.sun.enterprise.server.PEMain.run(PEMain.java:281)
      at com.sun.enterprise.server.PEMain.main(PEMain.java:207)

      #]

      [#|2008-01-05T13:19:17.730+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 13:19:17,730 [ERROR] org.apache.catalina.core.StandardContext - Error listenerStart

      #]

      [#|2008-01-05T13:19:17.730+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 13:19:17,730 [ERROR] org.apache.catalina.core.StandardContext - Context startup failed due to previous errors

      #]

      [#|2008-01-05T13:19:17.740+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.container.web|_ThreadID=10;|WebModule[/edison]Closing Spring root WebApplicationContext|#]
      </code>

      NO MESSAGE SCENARIO - EXCERPT FROM server.log INDICATING SEARCH ORDER for beanrefcontext.xml file:
      <code>
      [#|2008-01-05T12:45:50.714+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.container.web|_ThreadID=10;|WebModule[/edison]Initializing Spring root WebApplicationContext|#]

      [#|2008-01-05T12:45:50.714+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:50,714 [INFO ] org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started

      #]

      [#|2008-01-05T12:45:50.754+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:50,754 [DEBUG] org.springframework.web.context.ContextLoader - Getting parent context definition: using parent context key of 'service' with BeanFactoryLocator

      #]

      [#|2008-01-05T12:45:50.954+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:50,954 [INFO ] org.springframework.context.support.ClassPathXmlApplicationContext - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@138e667: display name [org.springframework.context.support.ClassPathXmlApplicationContext@138e667]; startup date [Sat Jan 05 12:45:50 CET 2008]; root of context hierarchy

      #]

      [#|2008-01-05T12:45:51.585+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,585 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loading schema mappings from [META-INF/spring.schemas]

      #]

      [#|2008-01-05T12:45:51.595+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,595 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loaded schema mappings:

      {http://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-2.0.xsd, http://www.springframework.org/schema/util/spring-util.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd, http://www.springframework.org/schema/util/spring-util-2.0.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd, http://www.springframework.org/schema/beans/spring-beans.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd, http://www.springframework.org/schema/lang/spring-lang-2.0.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd, http://www.springframework.org/schema/tx/spring-tx-2.0.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd, http://www.springframework.org/schema/lang/spring-lang.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd, http://www.springframework.org/schema/tool/spring-tool.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd, http://www.springframework.org/schema/aop/spring-aop.xsd=org/springframework/aop/config/spring-aop-2.0.xsd, http://www.springframework.org/schema/tx/spring-tx.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd, http://www.springframework.org/schema/tool/spring-tool-2.0.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee-2.0.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd, http://www.springframework.org/schema/beans/spring-beans-2.0.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd}
      #]

      [#|2008-01-05T12:45:51.595+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,595 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loading schema mappings from [META-INF/spring.schemas]

      #]

      [#|2008-01-05T12:45:51.605+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,605 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loaded schema mappings:

      {http://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-2.0.xsd, http://www.springframework.org/schema/util/spring-util.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd, http://www.springframework.org/schema/util/spring-util-2.0.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd, http://www.springframework.org/schema/beans/spring-beans.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd, http://www.springframework.org/schema/lang/spring-lang-2.0.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd, http://www.springframework.org/schema/tx/spring-tx-2.0.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd, http://www.springframework.org/schema/lang/spring-lang.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd, http://www.springframework.org/schema/tool/spring-tool.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd, http://www.springframework.org/schema/aop/spring-aop.xsd=org/springframework/aop/config/spring-aop-2.0.xsd, http://www.springframework.org/schema/tx/spring-tx.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd, http://www.springframework.org/schema/tool/spring-tool-2.0.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee-2.0.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd, http://www.springframework.org/schema/beans/spring-beans-2.0.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd}
      #]

      [#|2008-01-05T12:45:51.635+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,635 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Looking for matching resources in directory tree [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\config\log4j]

      #]

      [#|2008-01-05T12:45:51.635+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,635 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\config\log4j] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/config/log4j/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.635+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,635 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Looking for matching resources in directory tree [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes]

      #]

      [#|2008-01-05T12:45:51.635+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,635 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/lib/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.645+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,645 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Looking for matching resources in directory tree [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes]

      #]

      [#|2008-01-05T12:45:51.645+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,645 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.645+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,645 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.645+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,645 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.645+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,645 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.645+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,645 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.655+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,655 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.655+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,655 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\menu] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.665+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,665 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\pdf] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.665+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,665 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\security] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.675+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,675 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.675+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,675 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\applicatiebeheer] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.685+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,685 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\gebruikersbeheer] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.695+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,695 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\integratiebeheer] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.695+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,695 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\main] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.705+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,705 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\opvolging] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.705+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,705 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\opvolging\common] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.705+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,705 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\opvolging\foutafmelding] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.715+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,715 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\opvolging\mappenset] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.715+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,715 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\opvolging\overzicht] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.725+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,725 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\opvolging\terugzendingen] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.735+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,735 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\opvolging\verzenden] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.735+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,735 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\opvolging\zendingbatch] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.735+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,735 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\plugin] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.735+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,735 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\rapporten] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.735+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,735 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\security] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.735+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,735 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\struts\validation] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.745+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,745 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\tables] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.745+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,745 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\taglib] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.745+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,745 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Searching directory [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\applications\j2ee-apps\webedison\webedison_war\WEB-INF\classes\be\vlaanderen\ov\edison\presentation\util] for files matching pattern [C:/dev/apps/sun/appserver/81EEQ2/domains/webedison/applications/j2ee-apps/webedison/webedison_war/WEB-INF/classes/**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:51.755+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,755 [DEBUG] org.springframework.core.io.support.PathMatchingResourcePatternResolver - Resolved location pattern [classpath*:**/beanRefContext.xml] to resources [file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml]]

      #]

      [#|2008-01-05T12:45:51.755+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:51,755 [INFO ] org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml]
      </code>

      NO MESSAGE SCENARIO - EXCERPT FROM server.log showing that beanrefcontext.xml file is being processed:
      <code>
      [#|2008-01-05T12:45:52.256+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,256 [DEBUG] org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loaded 1 bean definitions from location pattern [classpath*:**/beanRefContext.xml]

      #]

      [#|2008-01-05T12:45:52.256+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,256 [INFO ] org.springframework.context.support.ClassPathXmlApplicationContext - Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@138e667]: org.springframework.beans.factory.support.DefaultListableBeanFactory@460434

      #]

      [#|2008-01-05T12:45:52.296+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,296 [DEBUG] org.springframework.context.support.ClassPathXmlApplicationContext - 1 beans defined in org.springframework.context.support.ClassPathXmlApplicationContext@138e667: display name [org.springframework.context.support.ClassPathXmlApplicationContext@138e667]; startup date [Sat Jan 05 12:45:50 CET 2008]; root of context hierarchy

      #]

      [#|2008-01-05T12:45:52.336+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,336 [DEBUG] org.springframework.context.support.ClassPathXmlApplicationContext - Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@197e57c]

      #]

      [#|2008-01-05T12:45:52.366+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,366 [DEBUG] org.springframework.context.support.ClassPathXmlApplicationContext - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@17c1a9f]

      #]

      [#|2008-01-05T12:45:52.366+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,366 [INFO ] org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@460434: defining beans [service]; root of factory hierarchy

      #]

      [#|2008-01-05T12:45:52.376+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,376 [DEBUG] org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean 'service'

      #]

      [#|2008-01-05T12:45:52.376+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,376 [DEBUG] org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating instance of bean 'service' with merged definition [Root bean: class [org.springframework.context.support.ClassPathXmlApplicationContext]; scope=singleton; abstract=false; lazyInit=false; autowireCandidate=true; autowireMode=0; dependencyCheck=0; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [C:\dev\apps\sun\appserver\81EEQ2\domains\webedison\lib\classes\beanRefContext.xml]]

      #]

      [#|2008-01-05T12:45:52.807+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,807 [INFO ] org.springframework.context.support.ClassPathXmlApplicationContext - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1c0fc25: display name [org.springframework.context.support.ClassPathXmlApplicationContext@1c0fc25]; startup date [Sat Jan 05 12:45:52 CET 2008]; root of context hierarchy

      #]

      [#|2008-01-05T12:45:52.807+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,807 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loading schema mappings from [META-INF/spring.schemas]

      #]

      [#|2008-01-05T12:45:52.827+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,817 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loaded schema mappings:

      {http://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-2.0.xsd, http://www.springframework.org/schema/util/spring-util.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd, http://www.springframework.org/schema/util/spring-util-2.0.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd, http://www.springframework.org/schema/beans/spring-beans.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd, http://www.springframework.org/schema/lang/spring-lang-2.0.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd, http://www.springframework.org/schema/tx/spring-tx-2.0.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd, http://www.springframework.org/schema/lang/spring-lang.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd, http://www.springframework.org/schema/tool/spring-tool.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd, http://www.springframework.org/schema/aop/spring-aop.xsd=org/springframework/aop/config/spring-aop-2.0.xsd, http://www.springframework.org/schema/tx/spring-tx.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd, http://www.springframework.org/schema/tool/spring-tool-2.0.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee-2.0.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd, http://www.springframework.org/schema/beans/spring-beans-2.0.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd}
      #]

      [#|2008-01-05T12:45:52.827+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,827 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loading schema mappings from [META-INF/spring.schemas]

      #]

      [#|2008-01-05T12:45:52.827+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,827 [DEBUG] org.springframework.beans.factory.xml.PluggableSchemaResolver - Loaded schema mappings:

      {http://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-2.0.xsd, http://www.springframework.org/schema/util/spring-util.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd, http://www.springframework.org/schema/util/spring-util-2.0.xsd=org/springframework/beans/factory/xml/spring-util-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd, http://www.springframework.org/schema/beans/spring-beans.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd, http://www.springframework.org/schema/lang/spring-lang-2.0.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd, http://www.springframework.org/schema/tx/spring-tx-2.0.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd, http://www.springframework.org/schema/lang/spring-lang.xsd=org/springframework/scripting/config/spring-lang-2.0.xsd, http://www.springframework.org/schema/tool/spring-tool.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd, http://www.springframework.org/schema/aop/spring-aop.xsd=org/springframework/aop/config/spring-aop-2.0.xsd, http://www.springframework.org/schema/tx/spring-tx.xsd=org/springframework/transaction/config/spring-tx-2.0.xsd, http://www.springframework.org/schema/tool/spring-tool-2.0.xsd=org/springframework/beans/factory/xml/spring-tool-2.0.xsd, http://www.springframework.org/schema/jee/spring-jee-2.0.xsd=org/springframework/ejb/config/spring-jee-2.0.xsd, http://www.springframework.org/schema/beans/spring-beans-2.0.xsd=org/springframework/beans/factory/xml/spring-beans-2.0.xsd}
      #]

      [#|2008-01-05T12:45:52.827+0100|INFO|sun-appserver-ee8.1_02|javax.enterprise.system.stream.out|_ThreadID=10;|2008-01-05 12:45:52,827 [INFO ] org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [spring-serviceaccess.xml]
      ....... and so on
      </code>

        Issue Links

          Activity

          Hide
          Juergen Hoeller added a comment -

          As far as I see, the problem is the

          Loading schema mappings from [META-INF/spring.schemas]
          Loaded schema mappings: {}

          part in the log. When triggered by your EJB, the bean factory simply doesn't find the XSD mappings in the classpath! The core spring.schemas file is included in the Spring jar, so should be available in any case...

          So the question is: Why is that spring.schemas file not found in your scenario, despite being available in a jar? You could try to put it into a custom META-INF directory in your common classes directory and see whether it's found then...

          Juergen

          Show
          Juergen Hoeller added a comment - As far as I see, the problem is the Loading schema mappings from [META-INF/spring.schemas] Loaded schema mappings: {} part in the log. When triggered by your EJB, the bean factory simply doesn't find the XSD mappings in the classpath! The core spring.schemas file is included in the Spring jar, so should be available in any case... So the question is: Why is that spring.schemas file not found in your scenario, despite being available in a jar? You could try to put it into a custom META-INF directory in your common classes directory and see whether it's found then... Juergen
          Hide
          Juergen Hoeller added a comment -

          As I commented on SPR-4169, I've fixed the root cause of the "BeanFactory not initialized or already closed" exception: SingletonBeanFactoryLocator removes the bean factory group definition if its initialization fails now, which allows subsequent lookups (like by web applications) to attempt a re-initialization of the context.

          This should allow your web applications to recover even if a previous EJB initialization attempt resulted in a failed context. Of course the fundamental problem is still the unavailability of the XSD mappings in your EJB tier...

          Juergen

          Show
          Juergen Hoeller added a comment - As I commented on SPR-4169 , I've fixed the root cause of the "BeanFactory not initialized or already closed" exception: SingletonBeanFactoryLocator removes the bean factory group definition if its initialization fails now, which allows subsequent lookups (like by web applications) to attempt a re-initialization of the context. This should allow your web applications to recover even if a previous EJB initialization attempt resulted in a failed context. Of course the fundamental problem is still the unavailability of the XSD mappings in your EJB tier... Juergen
          Hide
          Edwin Dhondt added a comment -

          Juergen,

          I'll try putting the spring.schemas file in a custom META-INF directory of my common classes directory as you suggested.
          Regarding the root cause that was fixed. I guess that implies I need to upgrade to a higher version (I'm now on 2.0.3) ? As off which version is the fix available ?
          I'll get back on this as soon as I tried things out.

          Nevertheless even if the above leads to success I guess the root problem still remains: in some scenarios (like if you have a message on a queue) an ejb (an MDB in this case) is created before the shared context is initialized (because the web application isn't started yet) and therefore the processing of the message will fail ... until the web application is started and (due/thanks to the fix ?) the shared context re-initialized ? Is that correct or will the context be initialized at the moment the setBeanFactoryLocator(ContextSingletonBeanFactoryLocator.getInstance("classpath*:**/beanRefContext.xml")) is called ?

          EDH

          Show
          Edwin Dhondt added a comment - Juergen, I'll try putting the spring.schemas file in a custom META-INF directory of my common classes directory as you suggested. Regarding the root cause that was fixed. I guess that implies I need to upgrade to a higher version (I'm now on 2.0.3) ? As off which version is the fix available ? I'll get back on this as soon as I tried things out. Nevertheless even if the above leads to success I guess the root problem still remains: in some scenarios (like if you have a message on a queue) an ejb (an MDB in this case) is created before the shared context is initialized (because the web application isn't started yet) and therefore the processing of the message will fail ... until the web application is started and (due/thanks to the fix ?) the shared context re-initialized ? Is that correct or will the context be initialized at the moment the setBeanFactoryLocator(ContextSingletonBeanFactoryLocator.getInstance("classpath*:**/beanRefContext.xml")) is called ? EDH
          Hide
          Juergen Hoeller added a comment -

          The fix will be available in Spring 2.0.8 and 2.5.1... The shared context will indeed be re-initialized on each access attempt, i.e. by each web application startup as well as by each EJB instance startup. This means that your EJBs will fail to initialize (when triggered by early messages) until the web application starts up - or somebody else initializes the shared context with the proper XSDs found.

          If you can somehow make sure that the XSDs will be visible in your EJB class loader, then the problem should go away even when using Spring 2.0.3.

          Juergen

          Show
          Juergen Hoeller added a comment - The fix will be available in Spring 2.0.8 and 2.5.1... The shared context will indeed be re-initialized on each access attempt, i.e. by each web application startup as well as by each EJB instance startup. This means that your EJBs will fail to initialize (when triggered by early messages) until the web application starts up - or somebody else initializes the shared context with the proper XSDs found. If you can somehow make sure that the XSDs will be visible in your EJB class loader, then the problem should go away even when using Spring 2.0.3. Juergen

            People

            • Assignee:
              Juergen Hoeller
              Reporter:
              Edwin Dhondt
              Last updater:
              Trevor Marshall
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                6 years, 16 weeks, 3 days ago