[
https://jira.jboss.org/browse/WELD-783?page=com.atlassian.jira.plugin.sys...
]
Alexander Hanschke updated WELD-783:
------------------------------------
Description:
I have a @Named bean in which I'd like to inject a component, using @Inject as well as
a stateless session bean, using @EJB. The ejb is accessed using the no-interface view.
Both references get injected properly in that case, but when I use an interceptor on one
of the methods, only the references annotated with @Inject get injected, whereas those
annotated with @EJB don't.
The interceptor doesn't need to do anything special, this behaviour occurs even if
only proceed() is invoked on the invocation context - the interceptor is always invoked
correctly.
The following snippet explains the issue:
@Named
public class MyController {
@EJB
private MyDao dao;
@Interceptors(MyInterceptor.class)
public void control() {
dao.doDataAccessStuff(); /* NPE */
}
}
---------------------------------------------------------------
@Stateless
public class MyDao {
public void doDataAccessStuff() { ... }
}
---------------------------------------------------------------
public class MyInterceptor {
@AroundInvoke
public Object intercept(InvocationContext context) throws Exception {
return context.proceed();
}
}
was:
I have a @Named bean in which I'd like to inject a component, using @Inject as well as
a stateless session bean, using @EJB. The ejb is accessed using the no-interface view.
Both references get injected properly in that case, but when I use an interceptor on one
of the methods, only the references annotated with @Inject get injected, whereas those
annotated with @EJB don't.
The interceptor doesn't need to do anything special, this behaviour occurs even if
only proceed() is invoked on the invocation context - the interceptor is always invoked
correctly.
The following snippet explains the issue:
@Named
public class MyController {
@EJB
private SomeDao dao;
@Interceptors(MyInterceptor.class)
public void control() {
dao.doDataAccessStuff(); /* NPE */
}
}
---------------------------------------------------------------
@Stateless
public class MyDao {
public void doDataAccessStuff() { ... }
}
---------------------------------------------------------------
public class MyInterceptor {
@AroundInvoke
public Object intercept(InvocationContext context) throws Exception {
return context.proceed();
}
}
@EJB injection fails in @Named bean when interceptor is present
---------------------------------------------------------------
Key: WELD-783
URL:
https://jira.jboss.org/browse/WELD-783
Project: Weld
Issue Type: Bug
Components: CDI API, Interceptors and Decorators
Affects Versions: 1.0.1.Final
Environment: Windows 7, NetBeans 6.9.1, GlassFish 3.0.1, Mojarra 2.0.2 (FCS
b10), Java 1.6.0_22
Reporter: Alexander Hanschke
Labels: cdi, ejb, injection, interceptors
I have a @Named bean in which I'd like to inject a component, using @Inject as well
as a stateless session bean, using @EJB. The ejb is accessed using the no-interface view.
Both references get injected properly in that case, but when I use an interceptor on one
of the methods, only the references annotated with @Inject get injected, whereas those
annotated with @EJB don't.
The interceptor doesn't need to do anything special, this behaviour occurs even if
only proceed() is invoked on the invocation context - the interceptor is always invoked
correctly.
The following snippet explains the issue:
@Named
public class MyController {
@EJB
private MyDao dao;
@Interceptors(MyInterceptor.class)
public void control() {
dao.doDataAccessStuff(); /* NPE */
}
}
---------------------------------------------------------------
@Stateless
public class MyDao {
public void doDataAccessStuff() { ... }
}
---------------------------------------------------------------
public class MyInterceptor {
@AroundInvoke
public Object intercept(InvocationContext context) throws Exception {
return context.proceed();
}
}
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira