Hi all,

I think I now get what Saminda is trying to do. He's trying to improve
the spring support and that may help in other frameworks as well.
That's pretty cool. Its then a matter of implementation.  See my
comments inline.

On 9/6/06, Saminda Abeyruwan <[EMAIL PROTECTED]> wrote:
Hi Deepal,


>
>
> The best practice is to put the wsdl file into service archive file .


100% correct. Wouldn't it be cool to generate ?wsdl/?xsd if MR is
*RPCMessageReceiver, when the service object supplier is
"ServiceObjectSupplier"

This is what I wondering ... these changes are to fix jira axis2-1102
, right ? RPC generation of the wsdl is one of the areas that took a
long time to get right and was the source of a lot jiras. Is the one
of the choices we have, ie, is it worth adding an interface to solve
this issue ? I know there are other issues and I address them below,
but this may need to stand on its own merit.


> >
> > Current Axis-spring module has
SpringAppContextAwareObjectSupplier and
> > SpringServletContextObjectSupplier would has it own
scope and imho we
> > have to write a applicationContex.xml according to them and it's
> > pretty restrictive. Thus, naturally i want to write my own supplier
> > with it's own helper parameters.
>
> What do you mean by it has its own scope , is it different from our four
> session scope ?


Oh no. I didn't mean that. Sorry. For Ex;
SpringServletContextObjectSupplier specialized in embedded
version (war). Here, it expect to have spring.xml from web.xml. Now if some
one wants to deploy a another spring related service to a running axis2.war
instance with a completely different applicationContext.xml, is hot
deployment really happen ?. These is what i meant by scope, Its limitations.

Hot deployment most certainly can happen via Service.startUp() , with
the axis2-spring*.jar and the springframeworks jar inside the aar .
That way there is complete isolation between aar's , and hot
deployment does happen the right way. I responded to a users question
a couple weeks ago about this but I haven't documented it yet. It took
a long time to get the classloader issues and load-on-startup issues
working right, and at that point I liked what we had. I have to think
thru and test whether the interface Saminda is proposing from the TCCL
will affect what was working, ie complete service isolation and hot
deployment on startUp . .

Keep in mind the spring applicationContext.xml is just one of many
ways you can configure spring, and I purposely tried to avoid axis2
getting too involved here. The list is long and OT.


> >
> Saminda , with your change any one how write spring need to implement
> the new interface ?


Oh no.  They  can  simply use the available  Supplier classes. Users really
don't have to worry about it.

Agreed.


But if any user want to plug another framework to Axis2 to supply service
objects, the service object supplier has to implement the proposed
interface, otherwise the deployment engine wouldn't recognize it as a
service object suppler and ignores it. Wouldn't that be fair enough ?

Saminda, are you aware you can configure Spring in each aar seperately
and do hot deployment? Are you still restricted doing it that way ?
Have you tested whether the interface you propose affects that
scenario ?

Still, I want to make sure I'm addressing your concern. What can the
deployment engine do with the interface that startUp() cannot do at
deployment time ?

Also, the spring support and ServiceObjectSupplier came about trying
to solve a particular problem. I'm not sure planning for other
frameworks without a particular one in mind is the right approach.

I want to clarify that you've brought up issues I haven't thought
about, and since there are a lot of ways to use spring and axis2 I
appreciate the thought provoking ideas you have.

Regards,
Robert



Saminda
>
>
>
---------------------------------------------------------------------

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]

Reply via email to