I have a case where some methods in a business interface will be invoked synchronously via EJB and some asynchronously via JMS. The client code will only use the business interface and will not be aware of the transport (EJB vs JMS).

I have built a Delegating proxy and interceptor to meet this requirement.

http://opensource.atlassian.com/proj...browse/SPR-575

The interceptor is generic and can be added to any proxy to delegate to another bean based on method name pattern.

Is this the right approach ?

--Ram.