如果@Resource无法解决,Glassfish / Wildfly不会失败?

时间:2017-08-16 14:50:43

标签: java java-ee wildfly servlet-3.0 glassfish-4.1

我正在servlet中试验@Resource,看看我们是否可以轻松地使用它来注入配置参数(这是Glassfish 4.1.1中的servlet 3.0 webapp)。

我在https://stackoverflow.com/a/45715196/53897被告知我看到@Resource String userName的行为在使用时如果在web.xml中的env条目不存在时无法解析,则为空根据规范,但WildFly的行为是相同的。

问题是:这是一个已知的错误吗?是否有一个标志可以强制执行“如果不能解决则失败”?

1 个答案:

答案 0 :(得分:2)

这对于简单的env条目是允许的:

EE.5.4.1.3

....
将字段或方法声明为注入目标通常很方便,但是 在代码中指定默认值,如以下示例所示。

//部署者配置的最大免税数量 @Resource int maxExemptions = 4; //默认为4

为了支持这种情况,容器必须只为此资源注入一个值 部署者指定了一个值来覆盖默认值 .....