我有关于Web服务器(例如nginx,Cherokee或Oracle iPlanet)和Java容器(例如GlassFish)的问题:如果用户丢弃未完成的连接,我们可以控制连接会发生什么吗?
当浏览器打开与服务器的HTTP / HTTPS连接时,它会访问Web服务器(nginx,Cherokee或Oracle iPlanet),然后将代理反向到Java容器(GlassFish)。然后,Java应用程序执行并执行很多事情,例如计算,最后需要写入3个不同的数据库。如果它已完成写入第一个数据库 - 但尚未写入第二个和第三个数据库 - 并且用户关闭连接(通过关闭浏览器窗口,或丢失网络连接等),该过程会发生什么?
具体来说,我希望进程继续,直到完成所有代码的执行。我知道一种方法是在新线程上分离进程,但这会产生计算成本。那么,有没有我可以做的设置/配置,以确保即使用户断开连接也会继续执行?