使用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
在我之前发生了另一个项目,其中将annotation property replacement
属性更改为true。但不是这次。
答案 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();
}