Ich versuche diese Methode für den Empfang von E-Mails in unserer EJB3-App zu verwenden. Kurz gesagt, das bedeutet, eine MDB mit den folgenden Anmerkungen zu erstellen:
%Vor%Ich habe das funktioniert, aber die Situation ist weniger als ideal: Der Hostname, Benutzername und Passwort sind fest codiert. Kurz vor der Verwendung von ant und build.properties, um diese Werte vor der Kompilierung zu ersetzen, weiß ich nicht, wie man sie externalisiert.
Es wäre ideal, eine MBean zu verwenden, aber ich habe keine Ahnung, wie man die Werte von der MBean in die MDB-Konfiguration bringt.
Wie soll ich das machen?
Sie können die Anmerkungen in der ejb-jar.xml, die Sie im META-INF Ihrer jar-Datei bereitstellen, wie folgt externalisieren:
%Vor%
Dann können Sie den Wert mdb.user.name als Systemeigenschaft als Teil der Befehlszeile für Ihren Anwendungsserver festlegen, indem Sie -Dmdb.user.name = theUserName verwenden und er wird von der mdb auf magische Weise aufgenommen.
Ich hoffe, das hilft.
Ab JBoss AS 5.1 können Sie mit AOP die @ActivationConfigProperties konfigurieren. Ich entdeckte dies anhand der Beispiele, die jboss hier . Dies ist nützlich, wenn Sie nicht möchten, dass Ihr Benutzername und Ihre Passwörter für den gesamten Container in einer Systemeigenschaft verfügbar sind, oder wenn Sie wie ich sind und niemals NIEMALS ein Artefakt mit einem Benutzernamen / Passwort bereitstellen möchten. Wie auch immer, hier ist der Jist ...
Beschreibe die mdb so ...
%Vor%Fügen Sie dann eine $ {was auch immer} -aop.xml zum deploy dir mit Interna wie unten hinzu. Ich habe die ursprünglichen Kommentare dort gelassen, falls Jaikiran die erwähnten Änderungen macht ...
%Vor%Hinweis: Die Anmerkung muss auf einem stehen Linie nur.
Tags und Links java annotations ejb-3.0 jboss-mdb