我试图在我们的EJB3应用程序中使用this method来接收邮件。总之,这意味着与以下注释创建一个MDB:对MDB注释的可配置值
@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "mailServer", propertyValue = "imap.company.com"),
@ActivationConfigProperty(propertyName = "mailFolder", propertyValue = "INBOX"),
@ActivationConfigProperty(propertyName = "storeProtocol", propertyValue = "imap"),
@ActivationConfigProperty(propertyName = "debug", propertyValue = "false"),
@ActivationConfigProperty(propertyName = "userName", propertyValue = "username"),
@ActivationConfigProperty(propertyName = "password", propertyValue = "pass") })
@ResourceAdapter("mail-ra.rar")
@Name("mailMessageBean")
public class MailMessageBean implements MailListener {
public void onMessage(final Message msg) {
...snip...
}
}
我有这个工作,但情况不太理想:主机名,用户名和密码是硬编码。在编译之前使用ant和build.properties替换这些值的时候,我不知道如何将它们外化。
这将是使用MBean的理想选择,但我不知道如何从MBean获取值到MDB配置。
我该怎么做?
对于JBoss,你还需要启用`<规格描述符属性替换>` – eis 2014-01-09 14:06:38
对于GlassFish你在domain.xml文件中添加此或使用create-JVM选项的asadmin命令工具。 – 2014-05-12 08:28:49