一、下载
databus是LinkedIn开源的项目,最近更新时间是17年7月26日,https://github.com/linkedin/databus
二、下载oracle驱动包
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
点击ojdbc6.jar,开始下载。(这个链接比较靠谱,以前自己maven库里的拿过来老是报错)
下载驱动程序jar后,请将其复制到sandbox-repo / com / oracle / ojdbc6 / 11.2.0.2.0 /下,并将其命名为ojdbc6-
11.2.0.2.0.jar,如下所示。我们提供了一个示例.ivy文件以便于构建。
Databus 不会在没有这一步的情况下进行构建。下载这些罐子后,它们可以在sandbox-repo目录下复制,如下所示:
sandbox-repo / com / oracle / ojdbc6 / 11.2.0.2.0 / ojdbc6-11.2.0.2.0.jar
sandbox-repo / com / oracle / ojdbc6 / 11.2.0.2.0 / ojdbc6-11.2.0.2.0.ivy
三、编译
1、安装gradle
我装的gradle3.1的版本,地址:https://gradle.org/releases/
2、修改relay的资源路径
databus2-example\databus2-example-relay\src\main\java\com\linkedin\databus\relay\example\PersonRelayServer
将sources-person.json路径改成你存放的路径
3、修改数据库连接配置
打开sources-person.json文件
①修改uri
示例:jdbc:oracle:thin:person/person@devdb:1521:db
②执行脚本
建库文件:com.linkedin.events.example.person.Person.1.avsc
执行sql:create_person.sql
4、编译
gradle -Dopen_source=true assemble - 建立罐子和命令行包
gradle -Dopen_source=true clean - 清理构建目录
gradle -Dopen_source=true test - 运行与源代码打包在一起的所有单元测试
这里可能会报错:Execution failed for task ':metrics-histograms:metrics-core-impl:javadoc'.
其实这里有个类坑了你:
metrics-histograms\metrics-core-impl\src\main\java\com\codahale\metrics\MergeableExponentiallyDecayingReservoir
解决方法:将这个类三百多行某个方法上的注释删掉,就没问题了
5、启动
①启动relay
进入databus2-example-relay-pkg\distributions\bin
运行./start-example-relay.sh 'person'
②启动client
databus2-example-client-pkg\distributions\bin
运行./start-example-client.sh
6、在数据库里添加数据,试试看吧