[
https://issues.jboss.org/browse/CDI-696?page=com.atlassian.jira.plugin.sy...
]
John Ament commented on CDI-696:
--------------------------------
Most specs are pretty ambiguous in this area, however the root of the problem is that most
of these EE objects are not actually managed beans. If you look at message listeners,
servlets, filters, they all support injection, but themselves are not managed by CDI as a
runtime. The containers will delegate down to CDI to provide injection support into those
classes.
Decorator for MDB is not used
-----------------------------
Key: CDI-696
URL:
https://issues.jboss.org/browse/CDI-696
Project: CDI Specification Issues
Issue Type: Bug
Components: Decorators, Java EE integration
Reporter: Alexandr Sokolov
Guys, I'm using Wildfly 8.2.1.Final
Here is MDB bean:
{code:java}
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationLookup",
propertyValue = "topic/dse"),
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Topic")
})
public class JobChangedSubscriber implements MessageListener {
...
@Override
public void onMessage(final Message message) {
...
}
}
{code}
And decorator:
{code:java}
@Decorator
public class RetroplannerSubscriber implements MessageListener {
@Inject
@Delegate
@Any
JobChangedSubscriber jobChangedSubscriber;
@Override
public void onMessage(Message message) {
jobChangedSubscriber.onMessage(message);
//custom code
}
}
{code}
During deployment, all mistakes about decorator definition are shown. They were fixed. I
was sure it would work. But now, only JobChangedSubscriber.onMessage() is invoked.
As a user I want to decorate MDB as an usual CDI bean. What am I doing wrong?
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)