关于这个有很多问题和答案:如何在 J2EE 服务器的上下文/范围内运行长时间运行的“独立”进程。
就我而言,我专门询问 Glassfish:
- 自包含进程(当然是 Java),它不期望任何 HTTP 请求,而是从某个 3rd 方服务 A 获取数据并将其传输到某个 3rd 方服务 B。
- 它应该在 J2EE 服务器启动时开始,并在关闭时结束(服务器实例专用于此进程)。
- 该服务器的任何特性都可以并且应该被使用,如果它提供的任何东西超出了通常的 J2EE 票价(
Timer以ServletContext.
Glassfish 会为此提供什么特别的东西吗?还是使用Timer仍然是最好的解决方案?如果所述计时器永远不会结束(服务器关闭时除外)是否存在问题,或者 J2EE 服务器会在一段时间后自动终止它吗?
这是否是正确的架构的问题在这里超出了范围;客户强制要求此过程必须在 Glassfish 中运行。