在 JNDI 中查找 ${email.jndi.lookup.binding} 时出错
Error looking up ${email.jndi.lookup.binding} in JNDI
使用 JBoss eap 6.4.12
获取错误:
Error looking up ${email.jndi.lookup.binding} in JNDI
在我的 java 中映射这个 JNDI 名称 class:
@Resource(mappedName = "${email.jndi.lookup.binding}")
private Session session;
我在构建属性中定义了这个 属性:
email.jndi.lookup.binding=java:/jboss/mail/Default
(在我的构建属性定义中删除 :
之后的 \
没有任何区别)
我之前在另一个项目中发生过这种情况,其中将 annotation property replacement
属性 更改为 true 有效。但这次不是。
最后只是添加了一个本地 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();
}
使用 JBoss eap 6.4.12
获取错误:
Error looking up ${email.jndi.lookup.binding} in JNDI
在我的 java 中映射这个 JNDI 名称 class:
@Resource(mappedName = "${email.jndi.lookup.binding}")
private Session session;
我在构建属性中定义了这个 属性:
email.jndi.lookup.binding=java:/jboss/mail/Default
:
之后的 \
没有任何区别)
我之前在另一个项目中发生过这种情况,其中将 annotation property replacement
属性 更改为 true 有效。但这次不是。
最后只是添加了一个本地 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();
}