Ich versuche, die folgenden Mitglieder der Komponente org.jboss.seam.mail.mailSession
einzustellen, die definiert sind als:Wie werden Eigenschaften in einer Nahtkomponente vor @create festgelegt?
boolean ssl;
boolean tls = true;
(beide haben Getter und Setter-Methoden) bevor das Verfahren schaffen, die mit @Create genannt bezeichnet ist. Ich möchte verhindern, dass das Framework SSL, TLS verwendet. Die MailSession-Komponente prüft, ob diese Mitglieder gesetzt sind. Wenn ja, erstellt es Eigenschaften, die Javamail zur Verwendung von SSL zwingen.
Ich habe versucht, so weit:
Object comp = Component.getInstance("org.jboss.seam.mail.mailSession");
Problem: bis javax.mail.Session auspackt, wo ich nicht die Komponente zugreifen kann.
Object comp = Component.getInstance("org.jboss.seam.mail.mailSession", ScopeType.APPLICATION,false,false);
Problem: null zurück, da keine Instanz erstellt wird.
Component comp = Component.forName("org.jboss.seam.mail.mailSession");
Problem: A-Komponente und nicht wird die Instanz zurückgegeben.
Was soll ich tun, um 2 Bits umzuschalten, würden Sie empfehlen, das Framework zu patchen, oder gibt es einen einfacheren Weg, den ich übersehen habe?
+1 Das sollte funktionieren, weil der Vorrang von 'Application' höher ist als' BUILT_IN'; Das bedeutet, dass "MyMailSession" anstelle von "MailSession" installiert wird. – kraftan
Danke für diesen aufschlussreichen Ansatz, es ist generischer und ich denke, ich werde es irgendwann brauchen. – stacker