Java 从控制台启动并重新连接到Springbean

Java 从控制台启动并重新连接到Springbean,java,spring,console,Java,Spring,Console,我喜欢编写一个小型服务器应用程序,由一个小型控制台应用程序控制(启动、暂停、停止等)。对于服务器,应该使用spring(它的一部分已经存在)。因此,我启动服务器的方法如下: 启动服务器线程并退出main方法 然后,在线程中: 从xml加载应用程序上下文 启动一些连接到bean的工作线程来做一些事情 现在我希望服务器被另一个命令停止。如何连接到已经运行的上下文并将其关闭 谢谢你的帮助, Alexander您可以创建一个pid文件,当服务器启动时,它应该将pid记录到一个文件server.pid中。

我喜欢编写一个小型服务器应用程序,由一个小型控制台应用程序控制(启动、暂停、停止等)。对于服务器,应该使用spring(它的一部分已经存在)。因此,我启动服务器的方法如下:

  • 启动服务器线程并退出main方法
  • 然后,在线程中:

  • 从xml加载应用程序上下文
  • 启动一些连接到bean的工作线程来做一些事情
  • 现在我希望服务器被另一个命令停止。如何连接到已经运行的上下文并将其关闭

    谢谢你的帮助,
    Alexander

    您可以创建一个pid文件,当服务器启动时,它应该将pid记录到一个文件server.pid中。当您停止时,您可以读取进程并终止它。更简单的是,在主类中有一个一直在运行的线程,该线程一直在某个文件夹中查找文件。一旦文件可用或被修改,它将停止服务器

    管理运行的Java代码的经典方法是通过。
    春天让你快乐

    要通过命令行访问JMX,请查看最近这个问题的答案:


    只需将spring部件添加到itI中,我就用MBean进行了尝试,并使其正常工作。我还将服务器代码本身重构为一个beanm,当close方法被调用时,它在自己的上下文中调用close方法。现在可以工作了。谢谢你的回答!