如何在Spring中引用JNDI中的多个bean?

时间:2014-01-06 18:17:52

标签: java spring java-ee

我在JBoss EAP 6.1上配置了一个邮件会话。我正在使用Spring 4.我正在使用这样的查找:

<jee:jndi-lookup id="contactMailSession"
                 jndi-name="java:jboss/mail/Contact"
                 expected-type="javax.mail.Session" />

如果我在JBoss服务器上添加了三个邮件会话并在Spring XML配置文件中又添加了三个查找,该怎么办?我如何将一个豆子注入另一个豆子?我无法在<jee:jndi-lookup ... />标记中添加限定符。

问题是:如果我有这个怎么办:

<jee:jndi-lookup id="contactMailSession"
                 jndi-name="java:jboss/mail/Contact"
                 expected-type="javax.mail.Session" />

<jee:jndi-lookup id="signupMailSession"
                 jndi-name="java:jboss/mail/SignUp"
                 expected-type="javax.mail.Session" />

<jee:jndi-lookup id="userMailSession"
                 jndi-name="java:jboss/mail/User"
                 expected-type="javax.mail.Session" />

我如何自动装配这些?

1 个答案:

答案 0 :(得分:3)

您应该只能将@Qualifier添加到正在自动装配的字段中 - 将值设置为在JNDI中查找的id的{​​{1}}。例如:

Session

public class BeanThatNeedsContactMailSession {

    @Autowired
    @Qualifier("contactMailSession")
    private Session mailSession;

}

相关问题