我正在使用Spring Boot,并且需要使用.dll文件与旧版应用进行交互。
.dll文件需要一个配置文件,该文件必须位于C:/ ...等物理位置。
.dll只能从物理位置读取;不像src文件夹中的相对路径。
我能够使用位于C:/中的配置文件与本地主机中的旧版应用程序成功交互,但是当我必须在PCF中进行部署时,是否有可能从PCF中的物理目录位置读取配置文件? 像在WAS中一样,我们可以在服务器中上传文件并在代码中使用其物理位置,是否可以在PCF中完成类似的事情?
答案 0 :(得分:0)
如果两者都是Spring Boot jar,则可以使用BOOT-INF / classes /。访问它们。
只需解压缩您的jar并查找该配置文件并输入地址
一旦罐子在PCF中爆炸,该层次结构便会保持
答案 1 :(得分:0)
您不能带外或在运行应用程序之前上传文件。每次您启动/停止/重新启动应用程序时,都会为您创建一个新鲜的容器。
如上所述,您可以将所需的任何文件与应用程序捆绑在一起。这是使它们可用的一种简单方法。一种替代方法是让您的应用在应用启动时从某处下载所需的文件。另一个选择是创建一个构建包并安装该文件,尽管这需要更多工作,所以除非您试图在许多应用程序中使用相同的已安装文件,否则我建议您这样做。
就引用文件而言,您的应用可以访问容器中的完整文件系统。不过,您的应用程序以vcap
用户身份运行,因此,根据用户权限,您只能对可以读写的位置进行访问。不过,/home/vcap
读写用户的主目录是完全可行的。您还可以引用通过应用上传的文件。您的应用位于/home/vcap/app
,运行时也是$HOME
环境变量。
说了这么多,最大的挑战就是您要尝试捆绑并使用.dll
,它是带有Java应用程序的Windows共享库。在Cloud Foundry上,仅Java应用程序 在Linux Cells上运行。这意味着除非将其重新编译为linux共享库,否则您将无法真正运行共享库。
希望有帮助!