Hello Amila, thanks for your input. As far as I can tell Axis2 provides Spring integration for services but not modules hence the link you provided below does not help me. Having to obtain the required resources from the configuration context on every invoke method of the handler method is not ideal in my opinion. I prefer to setup all my required dependencies on startup of the module and so can throw the appropriate exceptions at that point. ta, Paul
_____ From: Amila Suriarachchi [mailto:[email protected]] Sent: 30 December 2008 02:33 To: [email protected] Subject: Re: Modules and Handlers On Mon, Dec 29, 2008 at 7:38 PM, Paul French <[email protected]> wrote: Unfortunatley you cannot. The module.init() method is called after the handler.init() methods and so any setup you do in the module init is not available to the handlers. Module init() is called after handler init(). but those init methods are called before each handler get invoked. Therefore what ever you initialized and put to the configuration context is available for handler invocations. So the normal way is to initialize what ever in the module init() method which are required in handler invocations. Anyway I am not clear about your requirement. In the end I created my resources in the module constructor since the module class is instantiated before the handlers. For example I initialise Spring as follows: public ModuleLogger() { String[] contexts = new String[] {"logging_module_spring.xml"}; ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext(contexts,false); ac.setClassLoader(this.getClass().getClassLoader()); ac.refresh(); } Then in the handler.init() method I obtain the spring context from the ApplicationContextHolder and grab all resources required to support the handler e.g. DataSource If you use spring please look at here[1]. you can initialize things at the startup method. It is worth to note that all these initializing methods are happened at deployment time. and hence before processing any requests. thanks, Amila. [1]http://ws.apache.org/axis2/1_4_1/spring.html Cheers, Paul _____ From: Amila Suriarachchi [mailto:[email protected]] Sent: 29 December 2008 05:29 To: [email protected] Subject: Re: Modules and Handlers On Sun, Dec 28, 2008 at 11:53 PM, Paul French <[email protected]> wrote: The handler.init method is not passed the configuration context. So I suppose I have to obtain the resources on each invocation of the invoke or revoke method of the handler. Being a big Spring fan I was looking for a way to configure my module and handlers up front. you have to use the module init method. write a class which implements the Module interface and declare it in the module.xml. <module name="moduleName" class="moduleClass"> thanks, Amila. Thanks -----Original Message----- From: Deepal jayasinghe [mailto:[email protected]] Sent: 28 December 2008 17:47 To: [email protected] Subject: Re: Modules and Handlers Paul French wrote: > I have written a simple Module that logs all SOAP messages into a > database. > > My handlers needs access to resources setup in the Module init method > e.g a DataSource > > I cannot see how a handler can get access to resources setup in the > module? Can someone give me a clue? At the initialization put the resources into the ConfigurationContext, and then you can access at the runtime Deepal > > Thanks > Paul > > -- Thank you! http://blogs.deepal.org http://deepal.org __________ NOD32 3719 (20081227) Information __________ This message was checked by NOD32 antivirus system. http://www.eset.com -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
