【发布时间】:2020-03-24 23:36:21
【问题描述】:
注释
@Qualifier
@Retention(RUNTIME)
@Target({FIELD, TYPE, METHOD})
public @interface TestQualifier{
}
@Producer 类
@RequestScoped
public class TestProducer {
@Produces
@TestQualifier
public String getTestString()
{
System.out.println("Initializing test string");
return "Test String";
}
}
应该进行注入的类
public class TestClass
{
@Inject
@TestQualifier
private String testString;
public void TestMethod() {
System.out.println(testString);
}
}
当我将此代码部署到 JBoss EAP 时,我确实看到每个请求都打印了 4 次“初始化测试字符串”。
有人可以提供一些详细信息,说明为什么我确实看到 4 次“初始化测试字符串”而不是 1 次。
是否有任何解决方案可以为当前 4 次的每个请求范围仅生成一次实例。
谢谢
【问题讨论】:
-
所以代码工作正常,但我确实看到创建了 4 个不同的产品对象。我不确定为什么这段代码会产生 4 个不同的对象
标签: cdi