You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Ruchith Fernando <ru...@gmail.com> on 2005/09/30 13:15:34 UTC

Re: [AXIS2] Module in the chains??

Hi,
Please see my comments below:

On 9/29/05, vikas kumar <pv...@gmail.com> wrote:
> Thanks ruchit for the comments..
> But i have a few more doubts..
> There is only one instance of the handler and module implementaion classes,
> is there only one instance of the chain too??
Yes there's only one instance

> If the above case is true : Is'nt it a bottleneck??
> Does an incoming request have to wait for the request ahead of it to get
> processed...
> If no?? who does the threading??
No
The sevlet container does the threading.
For example there will be multiple threads created for each of the
requests (depending on the servlet container). As long as there are no
synchronized blocks within the  handler code there will not be any
bottlenecks.

>
> Pardon me if i am being too inquisitive..
No problem :-). Please feel free to ask any question related to Axis2.

> Thanks for ur patience!
>
>
>
> On 9/29/05, Ruchith Fernando <ru...@gmail.com> wrote:
> > Hi,
> >
> > Please see my comments below:
> >
> > On 9/29/05, vikas kumar < pvikasroonwal@gmail.com> wrote:
> > > Hi all!
> > > I have various services running in axis2 and have a few modules engaged
> to
> > > these services in different combination.
> > > If i understand the concept correctly.. these modules are present in the
> all
> > > flow chains but are active only if engaged for a particular service.
> >
> > When Axis starts up all the available modules will be loaded. But only
> > those, that are engaged via the axis2.xml (E.g.: using <module
> > ref="foo"/>) will be engaged globally. Also if the available modules
> > can be engaged per service by having the <module ref="..." /> in the
> > services.xml file of that particular service.
> >
> > When Axis2 is used with a servlet container such as Apache Tomcat we
> > can use the Web Admin tool to engage modules for a certain service or
> > globally.
> >
> > When a module is engaged, the handlers of that module will be
> > available in the flows that they are defined to be placed. This is
> > done using the <inflow> and <outflow> elements in the module.xml file.
> > Therefore 'modules' are not present in the flows but the handlers that
> > are defined to be in a certain flow and in a certain phase are active
> > only when they are engaged.
> >
> > >
> > > So, does axis2, fork separate instances of the module/handler classes
> for
> > > every service to which they are engaged or do all the service flow
> chains
> > > use the same instance created when these module/handler classes are
> loaded
> > > by the axis engine?
> >
> > Axis2 will create an instance of each of the handlers and the module
> > implementation class (if available) defined in the module.xml and
> > those same instances will be used. Please note that if the same
> > handler class is used in two modules that are engaged there will be
> > two instances of that handler.
> >
> > >
> > > Can someone direct me to the relevant pieces of codes and the way things
> are
> > > done..
> > >
> > > All the help is appreciated!
> > > Thanks in advance!
> > > Have a nice day!
> > >
> >
> >
> > --
> > Ruchith
> >
>
>

Thanks,
--
Ruchith