Configurable valeurs de MDB annotations

Je suis en train d'utiliser cette méthode pour la réception du courrier dans notre EJB3 app. En bref, cela signifie que la création d'un MDB avec les annotations suivantes:

@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...
    }
}

J'ai ce travail, mais la situation est loin d'être idéale: Le nom d'hôte, nom d'utilisateur et mot de passe sont codés en dur. Court de l'utilisation de la fourmi et de construire.propriétés de remplacer ces valeurs avant la compilation, je ne sais pas comment externaliser.

L'idéal serait d'utiliser un MBean, mais je n'ai aucune idée de la façon d'obtenir les valeurs de la MBean à la base de données de configuration.

Comment dois-je faire cela?

OriginalL'auteur Sietse | 2008-11-21