我正在创建一个 JBoss 服务器来部署一个 Java 应用程序,它将是一个类似于 REST 的 servlet,从请求中获取数据并将它们放入 SQL 数据库中。
我的主要问题:是否可以在 JBoss 服务器上设置一个类,该类不是基于请求运行,而是更像是一个主循环。 IE。只是一个将“hibernate ”然后检查一些信息并做某事或再次 hibernate 的循环。
基本上我想做的是将一堆数据写入一个文件,一旦该文件填充到某个点,立即将其全部写入数据库以减少连接开销。
我最好的猜测是我可以用循环编写任何类型的类并让它以我想要的方式运行(只要我的“ sleep ”技术是正确的以允许同一 JBoss 上的 servlet 时间运行).
但我不知道如何让主循环持续运行;只是在构造函数中调用它??目前我知道如何在服务器上运行的唯一方法是在 web.xml 中设置映射并主动从服务器创建网页请求信息...... 对于类似的东西,有没有比 JBoss 和 java 更好(更容易阅读)的服务
在此先感谢,我已经非常努力地搜索了类似这样的解释,但似乎我缺少正确的关键字...
最佳答案
有一个look在 @Startup
和 @Singleton
bean 上。
简而言之,你可以这样写:
@Startup @Singleton
public class MainLoopBean {
@PostConstruct
public void mainLoop() {
}
}
理想情况下,您应该将其与 timer service 结合使用.当完成一些工作并且您想暂停时,只需安排稍后调用的方法并返回即可。
关于java - JBoss 服务器上的 Java 应用程序中的 "Main loop",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7617161/