incubator-seata icon indicating copy to clipboard operation
incubator-seata copied to clipboard

feature: saga-remove spring

Open wt-better opened this issue 1 year ago • 0 comments

  • [x] I have registered the PR changes.

Ⅰ. Describe what this PR did

Seata saga current is strong dependency on spring. such as:

  1. code was dependency spring beans (InitializingBean ..etc)
  2. expression evaluation dependency spring el
  3. spring bean service Task dependency spring ioc

This is not conducive to saga's multilanguage building, so I has decouple saga with spring.

  1. To ensure code compatibility, make new module named 'seata-saga-spring' and move related classes(not modified path) to this module.

  2. '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.

  3. 'seata-saga-engine-store' remove the implementation of serialization and make it more pure

  4. '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.

wt-better avatar Feb 22 '24 02:02 wt-better