dataprocess1.0版本开源项目成功案例展示
可以看看dataprocess开发得源码,里面掺杂了十几种设计模式哦!都是干货~
1 首先下载dataprocess项目 后确保我们的配置文件信息 正确 ,并且 我们之前安装的 Canal , MySQL(用户 密码 binlog权限), RockerMQ ,Redis, ElasticSearch , 都要正确 ,配置信息如下:
2
3 开始启动我们的服务
3.1 启动ElasticSearch 去bin目录 执行 elasticsearch.bat
3.2 启动RocketMQ 去bin目录 先启动 然后在启动 mqbroker
3.2.1 start mqnamesrv.cmd
3.2.2 start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
3.3 启动Redis 找到redis目录 redis-server.exe redis.windows.conf
3.4 启动Canal 找到bin目录 执行 startup.bat
3.5启动 dataprocess 项目 找到 DataProcessApplication.java 类 启动 并且保证控制台没有报错
4.0 以下展示两种方案 在项目工作中只需要实现一种方案即可
方案1:责任链方案 需要注意得是 责任链方案需要继承责任链模板ChainTemplate
方案2:观察者方案 需要注意得是 观察者方案需要继承观察类ObserverTemplate
标注: 责任链方案与观察者方案可以同时执行,
5.0 是否开启代理模式在 application.properties。做配置 默认不开启 open.proxy=false,,如果开启了就可以使用前置,后置拦截器功能,在执行目标类中方法时执行, 前置拦截器接口ProxyBefore,后置拦截器接口ProxyAfter 案例:
接下来我们演示 一个责任链案例, 以下案例为早期版本代码看思想,我们选择现有的 bpm库 login_info表做测试
5 我们打开MySQL 的bpm库下的login_info表, dataprocess项目并没有链接数据库 只是监听mq的数据 所以别搞乱了,看下图
6准备测试 我们修改一条 bpm库下的login_info表的某行中的某列数据 例如 account_type
修改前:
修改后:
dataprocess处理结果: 可以看到 只要在 bpm包下login_info包下的过滤器 都执行了