何处放置Bluemix Liberty Web应用程序的配置数据

时间:2015-10-22 17:58:10

标签: java ibm-cloud websphere-liberty

我将一个Web应用程序打包为war文件,该文件在Liberty容器中部署到Bluemix。应用程序将配置信息存储在Web应用程序文件夹之外的目录集合中,并在初始安装期间将默认文件复制到该位置。当我将其部署为简单的默认war文件时,将默认文件复制到此位置时出错。由于Liberty默认情况下不会展开war文件,因此我将战争分解为目录(defaultServer / apps / idmu.war)并使用了服务器目录部署,如下所示:https://www.ng.bluemix.net/docs/starters/liberty/index.html#optionsforpushinglibertyapplications__ServerDirectory

使用

的server.xml
<server>
    <featureManager>
        <feature>jsp-2.3</feature>
    </featureManager>
    <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="8080" />
    <application name="idmu" context-root="/" type="war" location="idmu.war"/>
</server>

使用以下命令重新发布应用程序

cf push idmu -p defaultServer

应用程序重新启动,我仍然收到文件复制错误,因此我怀疑它是目标目录和导致问题的权限。任何有关在何处找到此目录以及如何设置权限的帮助都非常感谢。

1 个答案:

答案 0 :(得分:1)

您应该在/ home / vcap /上拥有写入权限,这是buildpack容器中的主目录。例如,/ wlp位于/ home / vcap / app / wlp。

Cloud Foundry(所以Bluemix)作为一个概念,是暂时的。它专为Cloud Native应用程序而设计,因此如果您需要持久存储,您应该需要Object Store等服务或目录中的其他选项来保留此类信息。一些想法:http://12factor.net/config

您可以在开发模式下启动Liberty Buildpack:https://developer.ibm.com/bluemix/2015/06/16/liberty-buildpack-app-management-support/以便您可以访问shell,但不确定是否可以编辑。正如我在上面评论的那样,由于文件系统是暂时的,因此不是一个好主意。

另一个解决方案是在之前编辑这些文件并将其作为完整应用程序的一部分进行部署。