Физическое местоположение файла в Pivotal Cloud Foundry - PullRequest
0 голосов
/ 01 октября 2019

Я работаю с Spring Boot и у меня есть требование для взаимодействия с унаследованным приложением с использованием файла .dll.

Для файла .dll требуется файл конфигурации, который должен находиться в физическом месте, например C:/...

.dll может читать только из физического места;не как относительный путь из папки src.

Я могу успешно взаимодействовать с устаревшим приложением в localhost с помощью файла конфигурации, расположенного в C: /, но когда мне нужно развернуть в PCF, есть ли возможностьпрочитать файл конфигурации из физического расположения каталога в PCF? Как и в WAS, мы можем загрузить файл на сервер и использовать его физическое местоположение в коде, можно ли что-то подобное сделать в PCF?

Ответы [ 2 ]

0 голосов
/ 02 октября 2019

Вы не можете загружать файлы вне диапазона или до запуска вашего приложения. Свежий контейнер создается для вас каждый раз, когда вы запускаете / останавливаете / перезапускаете свое приложение.

Как уже упоминалось, вы можете связать любые файлы, которые вам требуются, с вашим приложением. Это простой способ сделать их доступными. Альтернативой может быть то, что ваше приложение загружает нужные ему файлы откуда-то при запуске приложения. Еще один вариант - создать пакет сборки и установить файл, хотя это более трудоемкий процесс, поэтому я рекомендую его, если вы не пытаетесь использовать одни и те же установленные файлы во многих приложениях.

. как ссылки на файлы, ваше приложение имеет доступ ко всей файловой системе вашего контейнера. Ваше приложение работает как пользователь vcap, поэтому у вас будет ограниченный доступ к тому, где вы можете читать / писать в зависимости от ваших пользовательских разрешений. Тем не менее, вполне возможно читать и писать в домашний каталог вашего пользователя, /home/vcap. Вы также можете ссылаться на файлы, которые вы загрузили с вашим приложением. Ваше приложение находится по адресу /home/vcap/app, который также является переменной среды $HOME, когда ваше приложение запускается.

Сказав все это, самой большой проблемой будет то, что вы пытаетесь связать и использовать.dll, которая является общей библиотекой Windows с приложением Java. В Cloud Foundry приложения Java только работают в Linux Cells. Это означает, что вы не сможете запустить свою разделяемую библиотеку, если не сможете перекомпилировать ее как разделяемую библиотеку linux.

Надеюсь, это поможет!

0 голосов
/ 02 октября 2019

, если оба являются весенними загрузочными банками, вы можете получить к ним доступ, используя BOOT-INF / classes /..

, просто разархивируйте ваш jar, найдите этот файл конфигурации и введите адрес

как только баночка взорвана в PCF, эта иерархия сохраняется

...