2019-11-11 0.0.1-SNAPSHOT
[发布第一个版本]
-
WEB IDE 功能
- 脚本文件管理(新删查改)
- 脚本内容编辑(代码高亮、只能提示、快捷键支持)
- 控制台(终端)管理(清除输出、根据日志级别筛选过滤、跟随滚动)
- 脚本在线debug,即改即生效
- 直接监听线上脚本调用输出
-
后台API支持
- 脚本模块化支持(相互依赖导入,类似ES6语法)
- 支持加载使用第三方库,如:lodash、Underscore、等等
- HTTP API支持
- JDBC API支持 (支持多数据源)
- Redis API支持 (支持连接多个Redis)
- Elasticsearch API支持 (支持连接多个Elasticsearch)
- 支持实时监听解析MySQL binlog(基于canal实现,重写部分canal源码) (支持连接多个MySQL master)
经过大约2周的时间读canal源码并改写终于实现了对MySQL binlog的实时监听解析,使用demo如下截图
clever-nashorn
使用Java nashorn Js引擎开发的在线开发平台,使用场景主要有:
- 监听MySQL binlog事件,使用js动态脚本处理数据变更逻辑(MySQL数据实时同步到Elasticsearch 、Redis、MongoDB、MQ、其他任何数据库)
- 数据集成类似ETL系统
- 多系统数据同步平台
- 在线接口功能开发(二次开发平台)
- 其他所有需要动态脚本逻辑开发的系统...
在线体验地址
http://nashorn.msvc.top/workbench/index.html
特性介绍
- 代码保存就能生效,不需要重启服务器
- 在线调试方便,所见即所得
- 动态监听(调试)线上的js脚本,快速定位脚本问题(bug)
- Js生态 + Java生态,Java、Js代码库能混合使用(调用)
- Web IDE不需要安装开发环境,随时随地开发
- 高性能,与原生Java一致的性能
- 可扩展性强,新增自定义扩展简单方便
系统截图
工作台
智能提示
方法签名提示
TODO
- 支持Elasticsearch的各种操作 [完成]
- 整合 alibaba/canal 支持解析MySql binlog触发执行动态Js脚本同步数据或者业务逻辑( 重点功能 ) [完成]
- 支持主流的MQ API( 重点功能 )
- 编写操作文档和手册( 重点功能 )
- 完善内置工具API支持,尽量做到只写业务逻辑代码
后续版本计划
- 升级Js引擎到graaljs支持ES6或者更新的Js语法
- 引入GraalVM支持Java、Python、Ruby、R、Scala、Kotlin,甚至是C、C++语言的混用
- 升级Web IDE基于 Eclipse Theia 做二次开发,IDE功能更加强大,交互更加友好
原文
https://www.oschina.net/news/111231/clever-nashorn-0-0-1-released