我正在尝试将组件org.jboss.seam.mail.mailSession
的以下成员设置为:
boolean ssl;
boolean tls = true;
(都有getter和setter方法)
在调用@Create注释的create方法之前。
我想防止框架使用SSL,TLS。 mailSession组件检查是否设置了这些成员。如果是,它将创建强制javamail使用ssl的属性。
到目前为止,我尝试过:
Object comp = Component.getInstance("org.jboss.seam.mail.mailSession");
问题:展开为无法访问组件的javax.mail.Session。
Object comp = Component.getInstance("org.jboss.seam.mail.mailSession", ScopeType.APPLICATION,false,false);
问题:因为没有创建实例,所以返回null。
Component comp = Component.forName("org.jboss.seam.mail.mailSession");
问题:返回一个组件而不是实例。
我应该怎么做才能切换2位,您是否建议修补框架,还是有一种更容易被我忽略的方法?
最佳答案
您是否尝试覆盖mailSession?
我不确定它是否有效...
遵循以下原则
@Name("org.jboss.seam.mail.mailSession")
@Install(precedence=Application)
class MyMailSession extends MailSession {
//override the stuff you want here
}