本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2015/05/17/spring-xd-reg-custom-module-by-gradle/
SpringXD是Pivotal的大数据产品,提供了一个抽象的数据处理平台。
SpringXD将数据解决方案抽象为数据吸纳,分析,流调度和输出四大块。
作为源头的数据吸纳可以从各种数据源中获取需要的数据,基于Spring的另外一个项目spring-integration,这一部分的大部分实现都可以使用简单的dsl实现。
在SpringXD中每一个部分的组件都可以自己编写并注册到服务中,方便之后的使用。
但是在编写阶段每次都需要打包,上传服务器,然后注册,整个过程还是有点繁琐的。
Gradle作为一个构建工具,自然可以通过自定义任务完成这个任务。
微博数据吸纳
这里以微博的数据源为例。
微博的数据源因为新浪微博提供了sdk,所以自己编写稍微方便一些。
SpringXD项目默认也提供了twitter的两个source方便测试。
先看一下build.gradle的配置
最关键的配置变量是moduleType,moduleName和xdServer。
为了简单明了,WeiboSource并不具有配置参数(一般情况下都需要提供一些配置参数的,比如apiKey),主配置文件如下
因为打包后配置需要也在jar中,在jar配置中增加
注册到SpringXD
SpringXD提供了一套Restful的api用于常用的操作,比如stream的管理,容器状态等。
xd shell也是调用了这个接口,也有java的实现。
在build.gradle中加入
新定义一个任务reg
然后执行gradlew reg
即可注册成功。
注册成功后就可以正常使用了
当然管理界面也可以看到相关信息
其他问题
-
这种注册方式是强制的,也就是说如果有同名source就会被覆盖。
-
因为Module的类型是通过
RESTModuleType.valueOf(moduleType)
获取的,所以也可以这样注册sink等其他类型的模块。 -
如果有对应的module正在被使用,那么是没法重新注册的。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2015/05/17/spring-xd-reg-custom-module-by-gradle/