我知道'普通'Java,但对于servlet,容器等世界来说是新手.因此我不确定哪种方法最明智.
情况:我创建了一个Servlet,它接收信息并将其存储在数据库中.该数据库被其他应用程序读取.
现在我需要的是一个接收完全相同信息并将其存储在同一数据库中的应用程序.但是,这个新的应用程序需要从另一个服务器(我将使用httpClient)中提取此信息,而不是将其推送到它.两个应用程序将共存.
对于这个新的应用程序,我看到以下两个选项:
独立应用.为此,我可以复制粘贴许多现有的后端代码,但我需要进行一些修改(servlet容器提供上下文,简单的数据库连接池等).此外,我可能需要使用一些包装器,所以这可以像我可以开始的正确守护进程一样工作,但也优雅地停止/重启等.
使新应用程序成为Servlet的一部分.那就是:只需在将运行新应用程序的servlet的init()中启动一个新的Thread.这将允许我重用我已经拥有的所有后端代码,而无需重写任何代码.我只需要将执行HTTP-GET请求的代码写入其他服务器.使用这种方法,启动和停止服务也会更容易,因为我可以使用Servlet容器.
关于项目的一些信息:解析数据并将数据写入数据库的后端代码有几个线程,但不是很复杂.编写原始servlet的代码大约需要一周的时间.使用现有的代码库,我觉得这个新的应用程序可能应该是最多工作1,2天.
我认为选项2的方式更容易.但感觉有点像我会"滥用"servlet.所以我的问题是:对于应该处理请求的应用程序而不是提出请求的应用程序,不是servlet吗?我有没有看到一些巨大的缺点?哪个选项最有意义?
tl; dr:我可以编写一个不作为Servlet提交请求的应用程序吗?