web.xml中绑定了1个JNDI条目,mian.jsp页面中通过lookup能查询到值,但是通过@Resource注入值却为null
/*web.xml*/<web-app.....<env-entry><env-entry-name>java:global/mystring</env-entry-na...
/* web.xml */
<web-app ...
..
<env-entry>
<env-entry-name>java:global/mystring</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Hello World</env-entry-value>
</env-entry>
...
</web-app>
/* jsp页面-能正确显示值 */
...
InitialContext context = new InitialContext();
System.out.println(context.lookup("java:global/mystring").toString());
...
/* MyJNDI.class-显示为null */
public class MyJNDI {
@Resource(lookup = "java:global/mystring")
static String myString;
public static void main(String[] args) {
System.out.println(myString);
}
}
EJB服务器用的是WildFly9 (就是原来的jboss)
在MyJNDI.class中,由于@Resource和@EJB注解无效果,我又使用标准的java SE 查找JNDI,依然无果
官方文档上推荐使用@Resource和@EJB检索JNDI,结果使用了都是NULL 求救啊,耽误我2个月了,实在没法弄明白 展开
<web-app ...
..
<env-entry>
<env-entry-name>java:global/mystring</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Hello World</env-entry-value>
</env-entry>
...
</web-app>
/* jsp页面-能正确显示值 */
...
InitialContext context = new InitialContext();
System.out.println(context.lookup("java:global/mystring").toString());
...
/* MyJNDI.class-显示为null */
public class MyJNDI {
@Resource(lookup = "java:global/mystring")
static String myString;
public static void main(String[] args) {
System.out.println(myString);
}
}
EJB服务器用的是WildFly9 (就是原来的jboss)
在MyJNDI.class中,由于@Resource和@EJB注解无效果,我又使用标准的java SE 查找JNDI,依然无果
官方文档上推荐使用@Resource和@EJB检索JNDI,结果使用了都是NULL 求救啊,耽误我2个月了,实在没法弄明白 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
1个回答
2014-11-22
展开全部
想注入,要在spring的配置中配置好datasource,指向那个jndi
追问
好像不是您说的这样,你给予我的方案应该是tomcat中SSH2框架开发EE应用需要在Spring中配置数据源,我的问题是WildFly9中的EJB开发的注入问题。不过还是要谢谢您的解答~
Note : EJB的注入是源生支持的,@EJB和@Resource不必要配置Spring来管理Bean。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询