如何开始编写模块注册表和自定义脚本定位器?
How to get started on writing a module registry and custom script locator?
我正在做一些 XD 部署(分布式)并且处理很多自定义模块并不像我希望的那样顺利。
我一直在考虑添加支持以将自定义模块放在 AWS S3 上。实施这个需要什么?我需要注意的任何指示或事情。
这本质上是 [1] 中描述的 ModulRegistry
接口的实现吗?
类似的:我正在处理越来越多的客户脚本(用于转换器和脚本处理器)。是否也有在 S3 上提供存储的挂钩?
可能最简单的方法是将 S3 存储桶装载到您的本地文件系统。然后修改servers.yml
中的xd.customModule.home
属性指向你挂载的bucket中的位置。完成后,只需将您的模块存储在那里(使用典型的 spring XD 模块目录的目录结构;即模块应该进入 <modules>/job
、<modules>/source
、<modules>/processor
,和 <modules>/sink
目录,具体取决于它们服务的目的)和 spring XD 会选择它们。
在获取脚本方面,我用于类似问题的解决方案是在 servers.yml
中定义自定义 属性(为了举例,我将其称为 script.directory
).然后,每当您想引用该目录中的脚本时,使用 SPEL 即可:${script.directory}/script.sh
.
我正在做一些 XD 部署(分布式)并且处理很多自定义模块并不像我希望的那样顺利。
我一直在考虑添加支持以将自定义模块放在 AWS S3 上。实施这个需要什么?我需要注意的任何指示或事情。
这本质上是 [1] 中描述的 ModulRegistry
接口的实现吗?
类似的:我正在处理越来越多的客户脚本(用于转换器和脚本处理器)。是否也有在 S3 上提供存储的挂钩?
可能最简单的方法是将 S3 存储桶装载到您的本地文件系统。然后修改servers.yml
中的xd.customModule.home
属性指向你挂载的bucket中的位置。完成后,只需将您的模块存储在那里(使用典型的 spring XD 模块目录的目录结构;即模块应该进入 <modules>/job
、<modules>/source
、<modules>/processor
,和 <modules>/sink
目录,具体取决于它们服务的目的)和 spring XD 会选择它们。
在获取脚本方面,我用于类似问题的解决方案是在 servers.yml
中定义自定义 属性(为了举例,我将其称为 script.directory
).然后,每当您想引用该目录中的脚本时,使用 SPEL 即可:${script.directory}/script.sh
.