在JNDI中查找$ {email.jndi.lookup.binding}时出错

时间:2018-01-31 15:33:49

标签: java jboss6.x

使用JBoss eap 6.4.12

获取错误:

  

在JNDI

中查找$ {email.jndi.lookup.binding}时出错

在我的java类中映射此JNDI名称:

@Resource(mappedName = "${email.jndi.lookup.binding}")
    private Session session;

我在构建属性中定义了这个属性:

email.jndi.lookup.binding=java:/jboss/mail/Default

JNDI name in JBoss console is displaying as java:jboss/mail/Default(在我的构建属性定义中\之后移除:并没有什么区别)

在我之前发生了另一个项目,其中将annotation property replacement属性更改为true。但不是这次。

1 个答案:

答案 0 :(得分:0)

最后只添加了一个本地bean

import javax.ejb.LocalBean;
import javax.ejb.Stateless;

@Stateless
@LocalBean
public class DefaultEmailManager  {

    public static final String JNDI_NAME = "java:jboss/mail/Default";

}

然后我在哪里创建我的Session对象:

private Session session;

try {
   InitialContext ic = new InitialContext();
   session = (Session)ic.lookup(DefaultEmailManager.JNDI_NAME);

} catch (NamingException e) {
   e.printStackTrace();
}