Classpath problem using SingletonBeanFactoryLocator
Hi all,
I'm experience problems using the SingletonBeanFactoryLocator, which I suspect are coming from my packaging.
My EAR contains many JAR files: core.jar, server.jar, web.jar and all dependent libraries. Within core.jar exists a class, SingletonApplicationContextProvider, which calls SingletonBeanFactoryLocator.useBeanFactory("beanFa ctoryReference") to build an ApplicationContext. Within server.jar exist both beanRefFactory.xml and applicationContext.xml, the first including a reference to the second.
I get the following error when first calling the SingletonBeanFactoryLocator:
Code:
org.springframework.beans.FatalBeanException: Unable to find resource for specified definition. Group resource name [classpath*:beanRefFactory.xml], factory key [beanFactoryReference]
at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.createDefinition(SingletonBeanFactoryLocator.java:471)
at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:366)
at core.context.SingletonApplicationContextProvider.getApplicationContext(SingletonApplicationContextProvider.java:30)
at promo.web.LoginAction.<init>(LoginAction.java:46)
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)
at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:280)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:218)
at promo.web.PromoRequestProcessor.process(PromoRequestProcessor.java:55)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:244)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:59)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:523)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:183)
at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:188)
at promo.web.filters.FirstRedirector.doFilter(FirstRedirector.java:26)
at com.evermind.server.http.FileRequestDispatcher.handleWithFilter(FileRequestDispatcher.java:119)
at com.evermind.server.http.FileRequestDispatcher.forwardInternal(FileRequestDispatcher.java:192)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:730)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:151)
at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)
This works fine on Tomcat 5.5.17 but fails on OC4J 9.0.4. Spring 2.0 RC1 and Struts 1.2.9 are being used.
Any idea why this isn't working? I don't have much hair left on my head now :)
Thanks,
Spiff