如何在glassfish服务器启动时自动运行程序?

问题描述:

我希望我的java web应用程序在我启动或在glassfish服务器中部署程序时自动运行程序。我的Web应用程序需要在部署时在glassfish中运行邮件程序。如何在glassfish服务器启动时自动运行程序?

您可以设置一个servlet在应用程序启动时运行,或者可能使用@Singleton注释,具体取决于是否需要参与EJB。或者如果你使用Spring,还有更多的方法。你可以给更多的背景以获得更好的答案。

What does the servlet <load-on-startup> value signify

http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html#singles

+0

我使用JSF。我如何通过JSF来做到这一点。我只需要在运行Web应用程序时自动运行一个Java程序。 – user1504940 2012-07-13 15:38:32

+0

对不起,我不知道JSF,但我想它是从某种servlet开始的。但是,如果我谷歌“jsf启动bean”,我发现像这样的东西:http://jfindings.blogspot.com/2009/04/creating-startup-listener-in-jsf.html你可以在那里你用ContextLoaderListener,ServletContextListener,web .xml,'@ Component'和'@ Scope'来获得我猜你正在寻找的行为。听起来很复杂。 – Jim 2012-07-13 15:49:07

+0

谢谢吉姆。我只是想当我启动我的Web应用程序时,它会在数据库的指定时间自动发送电子邮件。我写了邮件类,但我需要在运行Web应用程序时在内部运行邮件类。 – user1504940 2012-07-13 16:09:39

您可以在数据库中设置一些标志类型属性,并在运行该程序后更改该值。