Not quite, I'm trying to keep Spring out of the mix - I have a couple of classes that manage access to remote services. They get defined in WEB-INF/classes/struts.xml as singletons, and injected into Actions via @Inject annotations.
Now I've realized that I need to give one of these classes a reference to one of the others during application startup, before any Actions get executed. I thought of using a Servlet's init method to handle it but couldn't figure out how to get the references from Struts. The less-pleasant alternative that comes to mind is to just make all of these classes explicit singletons, and let Actions get them via getInstance() calls, but that's a fair amount of rework. - Matt -----Original Message----- From: Gabriel Belingueres [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 08, 2008 7:56 PM To: Struts Users Mailing List Subject: Re: Injecting singleton beans into Servlets 2008/7/8 Kleiderman, Matthew <[EMAIL PROTECTED]>: > Is there any way to inject beans defined in struts.xml with > scope=singleton into a Servlet so that it's available when the > Servlet's init method is called? Did you really meant injecting a bean defined inside Spring's applicationContext.xml file with scope="singleton" into a Servlet? If so, the answer is yes: public void init(FilterConfig filterConfig) throws ServletException { ... ServletContext servletContext = filterConfig.getServletContext(); WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext); // set up an injected bean into application scope servletContext.setAttribute("mybean", context.getBean("aBean")); ... } Alternately, is there a way to access where > these instances are stored so I can get a reference to the instance? > > Thanks, > > Matt Kleiderman > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]