Glassfish 取消部署在 Windows 上不起作用,但在 Linux 上运行良好
Glassfish undeployment does not work on Windows but works fine on Linux
我目前正在使用 Glassfish 开发基于 Web 的应用程序。因此我必须实现功能,compile/package 它(使用 maven),在 glassfish 服务器上部署 .war 文件,测试它并再次取消部署以开始新的周期。
我的问题是,Glassfish 不会取消部署我在 Windows 下的 .war 文件 7. 取消部署大约需要 3 分钟,并且不会删除 /glassfish/domains/myDomain/applications 中的所有已部署文件。它生成一个 .glassfishStaleFiles。
要再次部署,我首先必须完全删除 /glassfish/domains/myDomain/applications 的内容。
显然这需要很长时间,而且我需要在实施时每天多次这样做。
但是:使用 Ubuntu 时一切正常。干净快速的卸载和部署。
提前致谢
这是 GlassFish 的一个已知问题,原因在于 Windows 与 Linux 中处理文件句柄的方式不同。如果某个进程在 Windows 中打开了一个文件,那么这将阻止部署。 GlassFish 中有很多这样的边缘案例,其中许多(也许全部)已在派生自 GlassFish 的 Payara Server 中得到修复。 Payara Server 是免费的,所以 I would recommend trying the latest version 4.1.2.174 看看问题是否在那里得到解决。
以下是 Payara Server 中针对此类问题的一些修复示例:
https://github.com/payara/Payara/pull/467
我目前正在使用 Glassfish 开发基于 Web 的应用程序。因此我必须实现功能,compile/package 它(使用 maven),在 glassfish 服务器上部署 .war 文件,测试它并再次取消部署以开始新的周期。
我的问题是,Glassfish 不会取消部署我在 Windows 下的 .war 文件 7. 取消部署大约需要 3 分钟,并且不会删除 /glassfish/domains/myDomain/applications 中的所有已部署文件。它生成一个 .glassfishStaleFiles。
要再次部署,我首先必须完全删除 /glassfish/domains/myDomain/applications 的内容。 显然这需要很长时间,而且我需要在实施时每天多次这样做。
但是:使用 Ubuntu 时一切正常。干净快速的卸载和部署。
提前致谢
这是 GlassFish 的一个已知问题,原因在于 Windows 与 Linux 中处理文件句柄的方式不同。如果某个进程在 Windows 中打开了一个文件,那么这将阻止部署。 GlassFish 中有很多这样的边缘案例,其中许多(也许全部)已在派生自 GlassFish 的 Payara Server 中得到修复。 Payara Server 是免费的,所以 I would recommend trying the latest version 4.1.2.174 看看问题是否在那里得到解决。
以下是 Payara Server 中针对此类问题的一些修复示例: https://github.com/payara/Payara/pull/467