Конфигурируемые значения для аннотаций MDB
Я пытаюсь использоватьЭтот метод для получения почты в нашем приложении EJB3. Короче говоря, это означает создание 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.
Как мне это сделать?