In EJB31 spec: 5.4.2 The Required Message Listener Interface. It said that MDB should support customized message listener. Now I'm trying to enable MDB custom listener in geronimo. But I find hard coded javax.jms.MessageListener in ActiveMQ code, it make it impossible to add the support for geronimo/openejb without updating code in activemq side. Thoughts ?
1, org.apache.activemq.ra.MessageEndpointProxy.MessageEndpointProxy(MessageEndpoint) public MessageEndpointProxy(MessageEndpoint endpoint) { if (!(endpoint instanceof MessageListener)) { throw new IllegalArgumentException("MessageEndpoint is not a MessageListener"); } messageListener = endpoint; proxyID = getID(); this.endpoint = endpoint; } 2, org.apache.activemq.ra.ActiveMQEndpointWorker public class ActiveMQEndpointWorker { ... static { try { ON_MESSAGE_METHOD = MessageListener.class.getMethod("onMessage", new Class[] { Message.class }); ... } -- Shawn