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