我有一个关于使用 EJB 定时器服务的场景要问。
用例如下:系统应该能够安排一个任务,该任务将使用某些特定的时间戳轮询/询问我们的 subversion 存储库以进行文件更改。
这个想法是,每当计划任务即将运行时,它将针对特定的 svn 存储库执行命令。出于这个特殊目的,我不会调用任何外部进程,而是使用“纯”java 方式来使用 SVNKit java 库http://svnkit.com/
我唯一关心的是:使用 EJB 计时器服务来执行将调用外部进程的任务是个好主意吗?我的方式将使用“纯”java方式,但在其他情况下,例如直接将批处理文件/命令行/外部可执行文件调用到计时器服务逻辑中。
我担心服务器内存使用/性能等的影响。
这是一个好主意吗?
我正在考虑的另一个想法是使用基于客户端的技术(例如 SWT/Swing)在服务器中创建一个“桌面”应用程序,该技术将进行轮询,然后在那里编写逻辑代码,但这意味着我需要管理两个应用程序. 将轮询的“桌面”应用程序和我将在 Glassfish 中创建的“网络”用户界面。
我倾向于在我选择的应用服务器上做所有事情,即 glassfish。
我以前使用过 EJB Timer,但它只调用数据库而不调用任何外部服务,只是出现了这种情况,所以我在这里提出了一个问题,以收集更多有经验的人的想法。
有什么想法吗?