Spring-cloud-function-deployer развернуть / отменить развертывание функции программно во время выполнения - PullRequest
0 голосов
/ 29 января 2020

Все примеры Spring-cloud-function-deployer показывают, что развернутая функция загружается при запуске, т.е. ApplicationContext запускается с необходимыми свойствами, указывая на упакованный jar для загрузки.

Есть ли способ вызывать развертыватель программно во время выполнения, вместо того чтобы полагаться на автоконфигурацию? В случае, если я хочу развернуть функцию через некоторое время после запуска контекста приложения, или если я хочу развернуть несколько функций из одного и того же jar et c.

Также есть способ отменить любые загруженные функции, или это просто, как удаление функции из каталога?

1 Ответ

1 голос
/ 29 января 2020

как указано в ответе GH, вы абсолютно можете развернуть функции во время выполнения.

String[] args = new String[] {
                "--spring.cloud.function.location=target/it/bootapp/target/bootapp-1.0.0.RELEASE-exec.jar",
                "--spring.cloud.function.definition=uppercase" };

ApplicationContext context = SpringApplication.run(DeployerApplication.class, args);
FunctionCatalog catalog = context.getBean(FunctionCatalog.class);
Function<String, String> function = catalog.lookup("uppercase");
// use the function

Вы можете увидеть примеры развертываний здесь и соответствующий тест .

...