After #60 empowered connectors to fully reflect on the bean they create, the tt>@javax.ejb.MessageDriven</tt annotation and the marker interface (e.g. tt>@javax.jms.MessageListener</tt) are still demanded by the JCA, but a more flexible model would simplify and enable connectors even more.
The model could be similar to remote EJB discovery: The application programmer annotates a bean class or a business interface with an annotation that is defined by the connector (e.g. tt>@Remote</tt). The container then discovers those beans resp. all implementations of that interface and asks the connector to instantiate and bind them.
There are options about where this scanning could be done:
Directly by CDI (taking extensions into account)
As a part of the connector, so it could implement even other mechanisms
As a separate scanner in the container
It looks as if this could, in the long run, be used to implement other bindings as connectors as well: Next to JMS and remote EJBs, JAX-RS comes to my mind; maybe more?
After #60 empowered connectors to fully reflect on the bean they create, the tt>@javax.ejb.MessageDriven</tt annotation and the marker interface (e.g. tt>@javax.jms.MessageListener</tt) are still demanded by the JCA, but a more flexible model would simplify and enable connectors even more.
The model could be similar to remote EJB discovery: The application programmer annotates a bean class or a business interface with an annotation that is defined by the connector (e.g. tt>@Remote</tt). The container then discovers those beans resp. all implementations of that interface and asks the connector to instantiate and bind them.
There are options about where this scanning could be done:
It looks as if this could, in the long run, be used to implement other bindings as connectors as well: Next to JMS and remote EJBs, JAX-RS comes to my mind; maybe more?
Affected Versions
[3.2]