我正在尝试将组件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
}

08-04 19:49