Spring:有一个简单的非网络教程吗?

Rob*_*son 4 java jboss spring

我正在尝试创建一个Spring应用程序(不是Web应用程序)来执行一些简单的任务.最终他们将与网络上的其他一些Spring应用程序挂钩,但是现在我保持简单.我有一个CheckForNewItems类(扩展Timer),它被配置为每10秒运行一次.

我可以通过以编程方式调用它来确认它运行:

public class Tester {

  public static ApplicationContext context;

  private void loadContext() {
    String filename = "beans.xml";
    context = new FileSystemXmlApplicationContext(filename);
  }

  public static void main(String[] args) {
    Tester test = new Tester();
    test.loadContext();
    CheckNewItemsTask task = (CheckNewItemsTask)context.getBean("checkNewItemsTask");
  }
}
Run Code Online (Sandbox Code Playgroud)

运行此按预期工作,task.run()每10秒调用一次.现在我需要弄清楚如何将它部署到JBoss或Tomcat服务器,以便它自动开始运行任务.

我发现的大多数教程只描述了如何运行Spring MVC和servlet,而不是一个独立的应用程序.有谁知道更好吗?

干杯,罗布.

sal*_*sal 6

你不需要JBoss或Tomcat来做到这一点.如果应用程序是无头的并且您无意添加UI,请考虑在Windows上使用jsvc进行unix或procrun.如果您需要能够监视和控制应用程序并且不需要适当的UI来执行此操作,您可能需要查看JMX.这将在没有Java EE堆栈其余部分的守护进程上运行.

如果你有一个maven项目并想要一个简单的方法将它变成一个可部署的守护进程应用程序,你可以使用maven appassembler自动创建一个可部署的守护进程,设置应用程序的目录结构,启动和停止的脚本,库和配置文件.