Coder Social home page Coder Social logo

alibaba / bulbasaur Goto Github PK

View Code? Open in Web Editor NEW
741.0 45.0 243.0 3.76 MB

💡 A pluggable, scalable process engine. You can use it to develop business-process, approval-process, retry-process and so on. Hope you enjoy it! 💖 可插拔的精简流程引擎,可快速实现流程、审批、业务失败重试等场景。

License: Apache License 2.0

Java 99.94% Shell 0.06%

bulbasaur's People

Contributors

alibaba-oss avatar fromcth avatar fwonce avatar oldratlee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bulbasaur's Issues

流程模板更新后,无法选择最新version的模板

建议更改如下代码:
原:
com/tmall/pokemon/bulbasaur/persist/PersistParser.java:69
definitionDO = definitionDOList != null && !definitionDOList.isEmpty() ? definitionDOList.get(0) : null;

更改为:
definitionDO = definitionDOList != null && !definitionDOList.isEmpty() ? definitionDOList.get(definitionDOList.size() - 1) : null;

是否支持国产化数据库或jpa、hibernate

  1. 项目中使用了国产数据库,请问是否适配国产数据库使用?
  2. 项目中连接数据库是使用的 spring-data-jpa 或者直接使用 hibernate,请问是否支持这些 orm 框架?

模板中设置的失败重试的job,无法唤起

建议更改代码:
com/tmall/pokemon/bulbasaur/schedule/job/FailedRetryJob.java:33

原:
ScheduleMachine scheduleMachine = scheduleMachineFactory.newInstance(jobDO.getBizId());

更改为:
ScheduleMachine scheduleMachine = scheduleMachineFactory.newInstance(jobDO.getBizId(), jobDO.getDefinitionName());

目前mapper文件的表名是写死的,变成动态的可设置的是否更灵活

只需引jar,前缀可设置,并创建带特定前缀的数据库即可,不需重复打包,更改mapper中表名。

目前我这里实现为:
persistModule 增加 配置
所有以DO和DOExample结尾的类继承抽象类,抽象类包含属性 tableNamePrefix

在所有设置上述两种类的地方增加设置setTableNamePrefix(PersistModule.getInstance().getTableNamePrefix())

在所有mapper里 将原表名替换为 ${tableNamePrefix}bulbasaur_X

如果一个task节点被唤起,同时outgoing节点中配置了repeateList,无法重试outgoing节点

com/tmall/pokemon/bulbasaur/persist/PersistMachine.java:113
StateLike copyCurrentState = currentState;//currentState 为final,做替身 if (currentState.getOutGoing() != null) { //先complete 之前停掉的 completeState(currentState); // 直接替换 copyCurrentState = run0_findCurrent(currentState.getOutGoing()); //先初始化当前 initNextState(copyCurrentState); }

outgoing中的BizException被算在了task上,这部分异常是不是应该拆开,outgoing节点被唤起,就可以标志task节点执行成功,outgoing节点内产生的BizException要算在outgoing身上

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.