Cloud foundry Pivotal Cloud Foundry中的物理文件位置

Cloud foundry Pivotal Cloud Foundry中的物理文件位置,cloud-foundry,Cloud Foundry,我正在使用Spring Boot,需要使用.dll文件与遗留应用程序交互 .dll文件需要一个配置文件,该文件必须位于物理位置,如C:/ .dll只能从物理位置读取;与src文件夹中的相对路径不同 我能够使用位于C:/中的配置文件与localhost中的旧应用程序成功交互,但是当我必须在PCF中部署时,是否有可能从PCF中的物理目录位置读取配置文件? 就像在WAS中一样,我们可以在服务器中上传一个文件并在代码中使用它的物理位置,这样的事情可以在PCF中完成吗?如果两者都是spring引导jar,

我正在使用Spring Boot,需要使用.dll文件与遗留应用程序交互

.dll文件需要一个配置文件,该文件必须位于物理位置,如C:/

.dll只能从物理位置读取;与src文件夹中的相对路径不同

我能够使用位于C:/中的配置文件与localhost中的旧应用程序成功交互,但是当我必须在PCF中部署时,是否有可能从PCF中的物理目录位置读取配置文件?
就像在WAS中一样,我们可以在服务器中上传一个文件并在代码中使用它的物理位置,这样的事情可以在PCF中完成吗?

如果两者都是spring引导jar,那么可以使用boot-INF/classes/访问它们

只需解压jar并查找配置文件,然后输入地址


一旦jar在PCF中被分解,这个层次结构将被维护

您不能在带外或运行应用程序之前上传文件。每次启动/停止/重新启动应用程序时,都会为您创建一个新的容器

如前所述,您可以将所需的任何文件与应用程序捆绑在一起。这是一个简单的方法,使他们可用。另一种方法是,当应用程序启动时,让你的应用程序从某处下载它需要的文件。另一个选择是创建一个构建包并让它安装文件,尽管这需要更多的工作,所以我建议您这样做,除非您试图在许多应用程序中使用相同的已安装文件

就引用文件而言,您的应用程序可以访问容器中的完整文件系统。但是,您的应用程序以
vcap
用户身份运行,因此您可以根据您的用户权限有限地访问您可以读/写的位置。不过,读取和写入用户的主目录是完全可行的,
/home/vcap
。您还可以引用应用程序上载的文件。您的应用程序位于
/home/vcap/app
,它也是应用程序运行时的
$home
环境变量

话虽如此,最大的挑战将是您试图捆绑并使用
.dll
,这是一个带有Java应用程序的Windows共享库。在CloudFoundry上,Java应用程序仅在Linux单元上运行。这意味着您将无法真正运行共享库,除非您可以将其重新编译为linux共享库


希望有帮助

哦…该死…我错过了Linux的部分。非常感谢你,丹尼尔。