问题: 当我在两个其他类(Servlets)中注入的2个子类注入Bean(在过滤器中)时,我有一些意外的行为。现在,注入的超类可以在运行时持有对子类实例的引用(随每个容器重新启动而更改)。注入的超类Bean如何获取注入的错误实例(子类Bean实例)?
我一定犯了一个严重的错误,但我无法弄清楚究竟是什么。
其他信息:
我使用Java EE 6
类结构:
在我注入,其保持的随机实例的子类中的一个或超类的过滤器超类:
@EJB
private ClientLogger clientLogger;
su每过班开始是这样的:
@Stateless
@LocalBean
public class ClientLogger implements HcpEntityBeanLogger<Client> {
private Client client;
public ClientLogger(){
}
....
}
该子豆我在我的Servlet的一个注:
@Stateless
@LocalBean
public class AdminClientLogger extends ClientLogger {
public AdminClientLogger(){
}
...
}
解决方案的尝试:
所以据我了解的子类,获取最后一次注入将是由clientLogger引用的实例,但为什么我为什么不能有3个不同的实例并在这里使用继承?
编辑: 我注入多个查询豆类,所有实现相同的接口,所有的人都将持有相同的实例的引用,当再次面对这个问题。
解决的办法是增加beanName德恩注入接口EJB
@EJB(beanName="name of your bean class or name specified in @Stateless(name=".."))