[
https://issues.apache.org/jira/browse/SCB-2425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lei Zhang updated SCB-2425:
---------------------------
Description:
The purpose of refactoring is to decouple distributed transaction implementation
*Alpha Module*
* Rename alpha-fsm to alpha-spec-saga-akka
* Add alpha-spec-saga-db
* Add alpha-spec-tcc-db
* Keep Acceptance module artifactId and directory name the same, e.g. rename
acceptance-pack-akka-spring to acceptance-pack-akka-spring-demo
* Remove persistence-jpa to alpha/alpha-persistence-jpa
*Alpha Using Spring SPI*
* Load AlphaSpecXXXAutoConfiguration through spring.factories under each module
* Configure the SPI module by parameters, likes alpha.spec.names=saga-db or
alpha.spec.names=saga-akka
*Alpha Configuration parameters*
{code:java}
alpha:
spec:
names: saga-db
saga:
akka:
channel:
name: memory
memory:
max-length: -1
kafka:
topic: servicecomb-pack-actor-event
bootstrap-servers: 127.0.0.1:9092
consumer:
group-id: servicecomb-pack
auto.offset.reset: earliest
producer:
batch-size: 16384
retries: 0
buffer.memory: 33554432
repository:
name: elasticsearch
elasticsearch:
uris: http://localhost:9200
batch-size: 100
refresh-time: 5000
db:
datasource:
username: sa
password:
url: jdbc:hsqldb:mem:saga
initialization-mode: always
cluster:
enabled: true
type: jdbc
expire: 5000
tcc:
db:
memory-mode: true
datasource:
username: sa
password:
url: jdbc:hsqldb:mem:saga
initialization-mode: always
{code}
*Omega Modules*
* Split OmegaSpringConfig into OmegaSagaSpringConfig and OmegaTccSpringConfig
*Omega AutoConfiguration*
* OmegaSagaSpringConfig using omega.spec.names=saga
* OmegaTccSpringConfig using omega.spec.names=tcc
* TransactionAspectConfig class of the omega-spring-tx module uses
ConditionalOnExpression to initialize beans
*Duplicate Code*
* Create class EclipseLinkJpaConfiguration in test case to avoid dependency on
class EclipseLinkJpaConfiguration in alpha-persistence-jpa module
was:
The purpose of refactoring is to decouple distributed transaction implementation
*Alpha Module*
* Rename alpha-fsm to alpha-spec-saga-akka
* Add alpha-spec-saga-db
* Add alpha-spec-tcc-db
* Keep Acceptance module artifactId and directory name the same, e.g. rename
acceptance-pack-akka-spring to acceptance-pack-akka-spring-demo
* Remove persistence-jpa to alpha/alpha-persistence-jpa
*Alpha Using Spring SPI*
* Load AlphaSpecXXXAutoConfiguration through spring.factories under each module
* Configure the SPI module by parameters, likes alpha.spec.names=saga-db or
alpha.spec.names=saga-akka,tcc-db
*Alpha Configuration parameters*
{code:java}
alpha:
spec:
names: saga-db
saga:
akka:
channel:
name: memory
memory:
max-length: -1
kafka:
topic: servicecomb-pack-actor-event
bootstrap-servers: 127.0.0.1:9092
consumer:
group-id: servicecomb-pack
auto.offset.reset: earliest
producer:
batch-size: 16384
retries: 0
buffer.memory: 33554432
repository:
name: elasticsearch
elasticsearch:
uris: http://localhost:9200
batch-size: 100
refresh-time: 5000
db:
datasource:
username: sa
password:
url: jdbc:hsqldb:mem:saga
initialization-mode: always
cluster:
enabled: true
type: jdbc
expire: 5000
tcc:
db:
memory-mode: true
datasource:
username: sa
password:
url: jdbc:hsqldb:mem:saga
initialization-mode: always
{code}
*Omega Components*
* Split OmegaSpringConfig into OmegaSagaSpringConfig and OmegaTccSpringConfig
*Omega Configuration parameters*
* omega.spec.names=tcc or omega.spec.names=saga,tcc
*Duplicate Code*
* Create class EclipseLinkJpaConfiguration in test case to avoid dependency on
class EclipseLinkJpaConfiguration in alpha-persistence-jpa module
> Refactoring the Alpha module using Spring SPI
> ---------------------------------------------
>
> Key: SCB-2425
> URL: https://issues.apache.org/jira/browse/SCB-2425
> Project: Apache ServiceComb
> Issue Type: Task
> Components: Saga
> Affects Versions: pack-0.7.0
> Reporter: Lei Zhang
> Assignee: Lei Zhang
> Priority: Major
>
> The purpose of refactoring is to decouple distributed transaction
> implementation
> *Alpha Module*
> * Rename alpha-fsm to alpha-spec-saga-akka
> * Add alpha-spec-saga-db
> * Add alpha-spec-tcc-db
> * Keep Acceptance module artifactId and directory name the same, e.g. rename
> acceptance-pack-akka-spring to acceptance-pack-akka-spring-demo
> * Remove persistence-jpa to alpha/alpha-persistence-jpa
> *Alpha Using Spring SPI*
> * Load AlphaSpecXXXAutoConfiguration through spring.factories under each
> module
> * Configure the SPI module by parameters, likes alpha.spec.names=saga-db or
> alpha.spec.names=saga-akka
> *Alpha Configuration parameters*
> {code:java}
> alpha:
> spec:
> names: saga-db
> saga:
> akka:
> channel:
> name: memory
> memory:
> max-length: -1
> kafka:
> topic: servicecomb-pack-actor-event
> bootstrap-servers: 127.0.0.1:9092
> consumer:
> group-id: servicecomb-pack
> auto.offset.reset: earliest
> producer:
> batch-size: 16384
> retries: 0
> buffer.memory: 33554432
> repository:
> name: elasticsearch
> elasticsearch:
> uris: http://localhost:9200
> batch-size: 100
> refresh-time: 5000
> db:
> datasource:
> username: sa
> password:
> url: jdbc:hsqldb:mem:saga
> initialization-mode: always
> cluster:
> enabled: true
> type: jdbc
> expire: 5000
> tcc:
> db:
> memory-mode: true
> datasource:
> username: sa
> password:
> url: jdbc:hsqldb:mem:saga
> initialization-mode: always
> {code}
>
> *Omega Modules*
> * Split OmegaSpringConfig into OmegaSagaSpringConfig and OmegaTccSpringConfig
> *Omega AutoConfiguration*
> * OmegaSagaSpringConfig using omega.spec.names=saga
> * OmegaTccSpringConfig using omega.spec.names=tcc
> * TransactionAspectConfig class of the omega-spring-tx module uses
> ConditionalOnExpression to initialize beans
> *Duplicate Code*
> * Create class EclipseLinkJpaConfiguration in test case to avoid dependency
> on class EclipseLinkJpaConfiguration in alpha-persistence-jpa module
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)