当前位置: 首页 > 知识库问答 >
问题:

JBoss Wildfly-部署是临时文件。房产呢?

司马弘益
2023-03-14

我正在从事一个Java项目,在Wildfly 10的部署方面遇到了问题。我在它的文档中找不到解决方案,希望能得到一些帮助。

当我部署一个。WAR,Wildfly创建一个临时文件夹来存储分解的文件:

./standalone/tmp/vfs/temp/tempb75b67d7adb84a3d/web.war-47f6d3d54946006d/

一旦我用/etc/init. d/野生停止停止了野生,所有这些临时文件都会立即从磁盘上删除。

问题:

战争包含违约。必须由管理员修改/配置的属性文件。由于每次部署都会删除这些文件,因此目前不可能这样做。

问题:

  • 有没有办法让Wildfly部署。是否将WAR复制到永久文件夹(类似于ApacheTomcat)

共有1个答案

洪楷
2023-03-14

WildFly支持解压(分解)部署。看看$JBOSS\u HOME/standalone/deployments/README。有关详细信息,请参阅txt。基本上,您只需将WAR解压到一个子目录,然后添加一个标记文件进行部署。

但是,任何依赖于给定主机环境的配置信息都不应放在WAR中。WAR是编译时工件,在运行时应视为不可变。(一些web容器解压WAR并公开其内部,这是一个您永远不应该依赖的实现细节。)

相反,您可以通过系统属性、环境变量、JNDI条目等来定义配置数据。

我经常对WildFly使用的一种非常简单的方法是-P选项:

cd $JBOSS_HOME/bin
./standalone.sh -P myconfig.properties

其中myconfig。属性是一个简单的Java属性文件。WildFly在启动阶段很早就读取该文件,并将所有属性设置为系统属性。

作为系统属性,这些配置项将对所有部署可见,只要您控制部署到服务器的内容,这应该不成问题。为了避免不同部署的属性之间的冲突,可以为属性密钥使用特定于部署的前缀,例如:

app1.jdbc.url = jdbc:postgresql://localhost/app1
app2.jdbc.url = jdbc:postgresql://localhost/app2

 类似资料:
  • 一、简介: 尽管SQLite的数据库是由单一文件构成,然而事实上在SQLite运行时却存在着一些隐含的临时文件,这些临时文件是出于不同的目的而存在的,对于开发者而言,它们是透明的,因此在开发的过程中我们并不需要关注它们的存在。尽管如此,如果能对这些临时文件的产生机制和应用场景有着很好的理解,那么对我们今后应用程序的优化和维护都是极有帮助的。在SQLite中主要产生以下七种临时文件,如: 1). 回

  • 据我所知,Herokus Ephemeral文件系统只允许您写入临时文件夹。当停止或重新启动创建文件的测功机时,该文件夹中创建的文件将被丢弃。 我不明白的是,如果dyno没有停止或重新启动会发生什么?一段时间后,文件还会被丢弃吗? 我们目前正在构建一个系统,该系统可以生成pdf文件并通过邮件转发(或者您可以下载该文件)。在发送/下载pdf文件后,我是否需要自己删除它们,或者我可以依靠Heroku自

  • 问题内容: 在node.js中,如何生成唯一的临时文件名la ?我想使用原子地写入文件。 问题答案: 也许与此同时您已经找到了节点临时节点。

  • 例子 $ gcc -save-temps a/foo.c $ ls foo.* foo.c foo.i foo.o foo.s $ gcc -save-temps=obj a/foo.c -o a/foo $ ls a foo foo.c foo.i foo.o foo.s 技巧 如上所示,使用选项-save-temps可以保存gcc运行过程中生成的临时文件。这些中间文件的名字是