users@connector-spec.java.net

[connector-spec-users] [jsr322-experts] Re: proposed MDB improvements

From: Jesper Pedersen <jesper.pedersen_at_redhat.com>
Date: Tue, 12 Mar 2013 14:49:43 -0400

Hi,

On 03/12/2013 02:18 PM, Sivakumar Thyagarajan wrote:
>> The MessageEndpoint needs to maintain its transaction inflow properties
>> no matter how the actual endpoint is invoked. Maybe we should note that
>> explicit such that it isn't by-passed.
>
> Agreed about the intent. I am not sure if anything in our current spec
> prevents this for the scenarios enabled by the new proposal.
>

The thing I don't want us to get into is that resource adapters will be
developed which only uses getEndpointClass() methods, and "forgets"
about the MessageEndpoint contracts,

   MessageEndpoint me = mef.createEndpoint();
   Class<?> clz = mef.getEndpointClass();

   Method m = clz.getMethod("rocknroll", new Class<?>[] {MyMessage.class});
   m.invoke(me, new Object[] {message});


Whoops - me.beforeDelivery() / me.afterDelivery() missing...

Even though the proxy can be by-passed the contract must still be in
place. I think we should make this explicit in the spec text, since the
idea of this proposal is to access the actual endpoint directly.

Best regards,
  Jesper