我目前正在开发JavaEE应用程序,并且必须实现一项功能,用户可以将自己的SMTP服务器定义为通知邮件的发件人。我已经有一个执行相同任务但在标准JavaSE应用程序中的应用程序。我进行了一些研究,发现我们正在使用的应用程序服务器(Glassfish 3.X)在管理面板中具有用于邮件服务器的配置菜单。所以我的问题是:从JavaEE和普通JavaSE应用程序发送邮件与我的JavaSE应用程序工作源是否也可以在企业应用程序中工作有什么区别?
最好的祝福
最佳答案
考虑在应用服务器中定义Javamail会话是一种方便,此功能通过将服务的配置从应用程序拉入应用程序服务器来帮助标准化应用程序实例的配置。
但是,没有什么可以阻止您在appserver中使用手动动态定义的javamail会话。
因此,在您的SE程序中您将配置邮件会话的位置,以
// typically a set of
properties.put("mail.smtp.port", "25");
// that are used to configure the Session
Session session = Session.getDefaultInstance(properties);
您通常会发现
@Resource(lookup = "sessionAsDefinedInGF")
private Session session;
在EE应用程序中。从这点来看,两个程序可以是相同的,在后者中,会话对象的整个初始化和管理将由应用服务器执行。
但是如上所述,尽管由于在应用程序外部进行配置,后者在大多数情况下要方便得多,但是如果您进行前一种配置,即会话的SE样式手动配置,则没有任何阻碍。