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