【发布时间】:2010-04-30 16:11:10
【问题描述】:
我在 ServletContextListener 的 contextInitialized(...) 方法中实例化的类中使用 @Resource 注释,但该成员始终为空。这是我的示例代码。
听众:
public void contextInitialized(ServletContextEvent sce) {
System.err.println("In contextInitialised");
new ResourceListenerTargetTest().executeMe();
}
ResourceListenerTargetTest:
@Resource(name="MyJDBCResource")
private DataSource source;
public void executeMe() {
/*try {
InitialContext ictx = new InitialContext();
source = (DataSource)ictx.lookup("java:comp/env/MyJDBCResource");
} catch (NamingException e) {
e.printStackTrace();
}*/
System.err.println("source is " + source);
}
如果我切换 cmets 并运行手动资源查找,它工作正常。
@Resource 注解在 contextInitalized 方法中使用时应该像这样工作吗?
Appserver 是 WAS 7.0.0.5,如果它应该工作那么我猜这是一个错误?谁能确认一下?
【问题讨论】:
标签: java servlets annotations websphere