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