incubator-seata
incubator-seata copied to clipboard
feature: saga-remove spring
- [x] I have registered the PR changes.
Ⅰ. Describe what this PR did
Seata saga current is strong dependency on spring. such as:
- code was dependency spring beans (InitializingBean ..etc)
- expression evaluation dependency spring el
- spring bean service Task dependency spring ioc
This is not conducive to saga's multilanguage building, so I has decouple saga with spring.
-
To ensure code compatibility, make new module named 'seata-saga-spring' and move related classes(not modified path) to this module.
-
'seata-saga-tm' has spring dependency, this module is not necessary. First I removed this module and move class to 'seata-saga-spring' , I will sink TM's core capabilities ‘seata-saga-engine’ module later pr.
-
'seata-saga-engine-store' remove the implementation of serialization and make it more pure
-
'seata-saga-rm' has class named
StateMachineEngineHolder
, i moved to ‘seata-saga-engine’ module, and package name change, it`s not compatible. why ? I think it is inner use, users rarely use it.