Coder Social home page Coder Social logo

alibaba / bulbasaur Goto Github PK

View Code? Open in Web Editor NEW
743.0 45.0 242.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 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;

模板中设置的失败重试的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

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

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

如果一个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.