spring-cloud-function-deployer 示例都显示了在启动时加载的已部署函数,即 ApplicationContext 以必要的属性启动,指向要加载的打包 jar。
有没有办法在运行时以编程方式调用部署程序,而不是依赖自动配置?如果我想在应用程序上下文启动后的某个时间部署该功能,或者如果我想从同一个 jar 部署多个功能等。
还有一种方法可以取消部署任何已加载的功能,还是像从目录中删除该功能一样简单?
spring-cloud-function-deployer 示例都显示了在启动时加载的已部署函数,即 ApplicationContext 以必要的属性启动,指向要加载的打包 jar。
有没有办法在运行时以编程方式调用部署程序,而不是依赖自动配置?如果我想在应用程序上下文启动后的某个时间部署该功能,或者如果我想从同一个 jar 部署多个功能等。
还有一种方法可以取消部署任何已加载的功能,还是像从目录中删除该功能一样简单?
如 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