JBoss AS 7:如何清理 tmp?

Posted

技术标签:

【中文标题】JBoss AS 7:如何清理 tmp?【英文标题】:JBoss AS 7: How to clean up tmp? 【发布时间】:2012-04-08 17:57:13 【问题描述】:

我注意到在 standalone/tmp 下的 JBoss Application Server 7 安装中,我有 400 MB 与过去部署相关的文件,其中一些是几个月前的。

它是如何清理的?它应该自动发生吗?有工具吗?我可以自己删除所有这些文件吗?

【问题讨论】:

见***.com/questions/3015177/… 【参考方案1】:

我没有使用第 7 版 JBoss 的经验,但使用第 5 版时,我经常在重新部署应用程序时遇到问题,这些问题在我清理工作和 tmp 文件夹时就消失了。我为每次服务器关闭时执行的脚本编写了一个脚本。考虑到异常关闭,也许在启动之前执行它会更好(这在 Jboss 5 中并不少见 :))

【讨论】:

脚本在做什么?我使用 JBoss 5 并遇到同样的问题。谢谢。 它只是对 tmp 和工作目录的所有内容执行了“rm -rf”。您实际上可以删除整个 tmp 目录。 Jboss 会在下次启动时重新创建它。【参考方案2】:

如您所知,JBoss 是一个纯粹的基于文件系统的安装。要安装,您只需解压缩文件即可。安装后,默认会创建某个文件夹结构,并且当您第一次运行 JBoss 实例时,它会为运行时操作创建额外的文件夹。这里是第一次启动前后 JBoss AS 7 的结构对比

之前

jboss-as-7
 |
 |---> standalone
 |      |----> lib
 |      |----> configuration
 |      |----> deployments
 |      
 |---> domain
 |....

之后

jboss-as-7
     |
     |---> standalone
     |      |----> lib
     |      |----> configuration
     |      |----> deployments
     |      |----> tmp
     |      |----> data
     |      |----> log
     |      
     |---> domain
     |....

如您所见,创建了 3 个新文件夹(日志、数据和 tmp)。这些文件夹都可以删除而不影响部署在部署文件夹中的应用程序,除非您的应用程序生成了存储在这些文件夹中的数据。在开发中,假设您不需要存储在“data”目录中的日志和数据,可以删除所有这 3 个新文件夹。

对于生产,不建议删除这些文件夹,因为可能存在存储应用程序某些状态的应用程序生成的数据。例如,在数据文件夹中,应用服务器可以保存关键的 Tx 回滚日志。因此,如果您需要在生产环境中出于任何原因删除这些文件夹,请联系您的 JBoss 管理员。

祝你好运!

【讨论】:

为什么不建议删除 Production 上的 tmpwork 文件夹?如果您能解释或指出一些与此相关的链接,我将不胜感激。谢谢 删除这3个文件夹后,standalone.xml中的数据应该被删除。 data 文件夹也很大。但是删除它,你必须重新部署所有应用程序。有人知道如何以有效的方式删除 data 文件夹吗? 如果你不想再次部署一切(可能是因为一些旧的 JSP 文件仍在被引用),只需删除 tmp ***.com/questions/68179420/… - 任何人都可以在这里提供帮助。可能是我有同样的问题。【参考方案3】:

与部署相关的文件(和其他临时项目)在standalone/tmp/vfs(虚拟文件系统)中创建。 您可以在启动时添加驱逐临时文件的策略:

-Djboss.vfs.cache=org.jboss.virtual.plugins.cache.IterableTimedVFSCache 
-Djboss.vfs.cache.TimedPolicyCaching.lifetime=1440

【讨论】:

他们应该在哪里添加?独立的.xml?

以上是关于JBoss AS 7:如何清理 tmp?的主要内容,如果未能解决你的问题,请参考以下文章

如何修改 JBoss AS 7.1 上内置的 h2 数据库?

如何使用 Maven 在 MANIFEST.MF 中为 JBoss AS 7 生成模块依赖项?

JBoss AS 7中的server.xml等价物

如何将X-Frame-Options标头设置为Jboss-as-7.1.1.Final?要求是在服务器的欢迎页面中设置此标头

如果在 Jboss AS 7 中将 jdbc 部署为 Web 应用程序,模块名称是啥

jboss-as-7.1.0.CR1b域集群和会话复制环境部署