geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeremy Boynes" <>
Subject RE: JSR 109 MessageContext import
Date Mon, 03 Nov 2003 03:58:24 GMT
> -----Original Message-----
> From: news [] On Behalf Of Richard 
> Monson-Haefel
> Sent: Sunday, November 02, 2003 7:06 PM
> To:
> Subject: Re: JSR 109 MessageContext import
> On 11/2/03 10:33 AM, in article 
> "Jeremy Boynes" <> wrote:
> > IIRC the current 109 architecture plans to invoke EJBs using their 
> > normal remote interface.
> This is the first I've hear of this plan. Did I miss a beat? 
> I've kind of been distracted the past couple of days.

I was looking here
which implies invocation through the remote interface.

> > 
> > However, the invocation in Geronimo needs to attach a 
> MessageContext 
> > with the invocation and notify the EJB container that this is a 
> > web-service invocation rather than an component interface 
> invocation 
> > (so that the appropriate SessionContext methods can be enabled).
> There are a number of differences between a remote invocation 
> and an endpoint invocation. For one thing, the EJB Endpoint 
> implements (directly or
> implicitly) an endpoint interface, rather than an EJBObject 
> type interface. Second, there may be a Message Handler chain 
> that needs to intercept incoming requests and that chain 
> works with a SAAJ Message object. Another thing, is the 
> MessageContext. It needs to be accessible to all of the 
> handlers and the bean instance through its SessionContext - 
> as you already mentioned.
> > 
> > This seems to imply that a different invocation API is 
> needed from the 
> > normal remote interface implementation. There may be a way 
> to hack it 
> > in using the client-side interceptor stack, but given this 
> is required 
> > functionality we should have a cleaner approach.
> My understanding is that the interceptor stack is supposed to 
> be flexible enough to allow different calling methods (e.g. 
> Remote IIOP, Remote JRMP, Local, etc.). Is this true? I mean 
> is it necessary to "hack" client- or server-side interceptor stack?

Yes it is - but you would need to construct an interceptor stack and
invocation that indicates this is a web-service invocation rather than a
remote interface invocation. I think this is the right way to go, but
means that there needs to be a inflow interface between Axis/JST109 and

The 'hack' I was referring to was some magic interceptor hooked into the
EJBObject stack that tweaked the regular invocation into a web-service
one. I think this is the wrong way to go.

There's no panic here - I just wanted to raise the issue that simple
invocation through the remote interface, as indicated in the wiki, may
not be the way to go.


View raw message