保持Java程序持续运行的标准(行业标准)方法是什么。
用例(实时处理):
在Stackoverflow中发现了一些问题,例如: https://stackoverflow.com/a/29930409/2653389
但我的问题是针对达到此目的的行业标准。
答案 0 :(得分:2)
首先,没有指定的标准。
可能的选择:
'com.jakewharton:butterknife:8.8.1'
)Kafka制作人可能会接受一些命令。在现实生活中,我使用的应用程序与听众一起持续运行,接收他们触发了一些工作,批量等的请求。
可以使用,例如:
来实现@KafkaListener
消费者可以是@KafkaListener
的弹簧应用程序。
@KafkaListener
默认情况下,@KafkaListener(topics = "${some.topic}")
public void accept(Message message) {
// process
}
的Spring应用程序将无限运行。为@KafkaListener
注释创建的侦听器容器是使用类型为@KafkaListener
的基础结构bean注册的。这个bean管理容器'生命周期;它会自动启动KafkaListenerEndpointRegistry
设置为autoStartup
的所有容器。 true
使用KafkaMessageListenerContainer
执行主TaskExecutor
循环。
Documentation了解更多信息。
如果您决定不使用任何框架和应用程序服务器,可能的解决方案是在单独的线程中创建侦听器:
KafkaConsumer
答案 1 :(得分:1)
当您启动程序时,如#34; java jar"它会起作用,直到你没有阻止它。但这对于简单的个人使用和代码测试来说是可以的。 另外在UNIX系统中存在名为" screen"的应用程序,你可以运行java jar作为守护进程。
行业标准是应用服务器。从简单的Jetty到企业WebSphere或Wildfly(例如JBoss)。应用程序服务器允许您连续运行应用程序,如果需要,可以与前端进行通信等。