我的应用程序允许运行多个实例,并且我希望记录所有运行实例中的事件。我目前正在使用java util日志记录的套接字处理程序来集中日志记录过程。当第一个实例启动时,它还会启动一个新的套接字服务器线程。问题是,当此实例关闭时,服务器线程也会关闭,并且log方法(来自另一个实例)会抛出异常。我没有考虑将它作为一个单独的进程运行(使用Runtime exec),因为我不能从我的应用程序中优雅地关闭它。
那么,有没有办法让另一个实例在看到服务器宕机时创建一个新的服务器线程?类似的方法是在H2数据库AUTO_SERVER模式下执行的,它会自动切换到客户端和服务器模式。
那么,对如何做到这一点有什么建议吗?
发布于 2012-08-02 12:37:23
我最终使用了Logback's prudent mode。
发布于 2012-07-30 21:28:03
我认为您可能需要一个带有factory method的singleton来初始化socket服务器(如果它还没有运行):
https://stackoverflow.com/questions/11722398
复制相似问题