如何清洁"文件系统中的序列化文件,无需重新启动http任务

时间:2014-03-26 21:06:38

标签: xpages

我们有一个XPages应用程序,我们为这个特定的应用程序序列化磁盘上的所有页面。我们已经使用了gzip选项,但是只有当http任务停止或重新启动时,似乎才会从磁盘中删除序列化文件。

由于此应用程序被全球不同地方的许多不同客户使用,我们尽量避免重启服务器或http任务,但缺点是序列化文件永远不会被删除。即使gzip序列化文件不是那么大,也面临磁盘空间问题。

第二个问题是http任务需要很长时间才能停止,因为它必须删除所有序列化文件。

有没有办法让多米诺骨牌服务器"清洁"旧的/未使用的序列化文件,而无需重新启动http任务?

目前我们实施了一个操作系统脚本,它可以清除超过两天的序列化文件,这很好,但我更喜欢多米诺骨牌内的解决方案。

提前感谢您的回答/建议!

雷诺

1 个答案:

答案 0 :(得分:0)

我相信httpSessionId用于将文件存储在磁盘上。您可以尝试以下方法:

  1. 将xsp.persistence.dir.xspstate更改为更友好的位置(即/ temp / xspstate)
  2. 在XPage应用程序中注册SessionListener
  3. 在SessionListener的sessionDestroyed方法内部递归搜索文件夹,找到与sessionId匹配的一个文件或文件夹并删除
  4. 在侦听器中调用sessionDestoryed方法时,应删除任何文件锁。另请注意,截至目前,用户退出后不会立即调用seesionDestroyed方法(请参阅我的问题:SessionListener sessionDestroyed not called

    希望这会有所帮助...