This is an automated email from the ASF dual-hosted git repository. ningjiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-saga.git
commit d801105ae5b8ff560b80ec998cd66bca67e02aff Author: seanyinx <sean....@huawei.com> AuthorDate: Tue Jan 2 09:27:49 2018 +0800 SCB-149 omega callback signature change Signed-off-by: seanyinx <sean....@huawei.com> --- .../src/main/java/io/servicecomb/saga/alpha/core/OmegaCallback.java | 2 +- .../main/java/io/servicecomb/saga/alpha/core/TxConsistentService.java | 2 +- .../java/io/servicecomb/saga/alpha/core/TxConsistentServiceTest.java | 4 ++-- .../src/main/java/io/servicecomb/saga/alpha/server/AlphaConfig.java | 4 +++- .../java/io/servicecomb/saga/alpha/server/AlphaIntegrationTest.java | 4 ++-- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/alpha/alpha-core/src/main/java/io/servicecomb/saga/alpha/core/OmegaCallback.java b/alpha/alpha-core/src/main/java/io/servicecomb/saga/alpha/core/OmegaCallback.java index 5ebfb72..166994d 100644 --- a/alpha/alpha-core/src/main/java/io/servicecomb/saga/alpha/core/OmegaCallback.java +++ b/alpha/alpha-core/src/main/java/io/servicecomb/saga/alpha/core/OmegaCallback.java @@ -18,5 +18,5 @@ package io.servicecomb.saga.alpha.core; public interface OmegaCallback { - void compensate(String globalTxId, String localTxId, String compensationMethod, byte[] message); + void compensate(TxEvent event); } diff --git a/alpha/alpha-core/src/main/java/io/servicecomb/saga/alpha/core/TxConsistentService.java b/alpha/alpha-core/src/main/java/io/servicecomb/saga/alpha/core/TxConsistentService.java index 34218bf..5dcb7bc 100644 --- a/alpha/alpha-core/src/main/java/io/servicecomb/saga/alpha/core/TxConsistentService.java +++ b/alpha/alpha-core/src/main/java/io/servicecomb/saga/alpha/core/TxConsistentService.java @@ -49,6 +49,6 @@ public class TxConsistentService { // TODO: 2017/12/27 we must define a way to find which service to compensate, to avoid sending to all private void compensate(TxEvent event) { List<TxEvent> events = eventRepository.findStartedTransactions(event.globalTxId(), TxStartedEvent.name()); - events.forEach(evt -> omegaCallback.compensate(evt.globalTxId(), evt.localTxId(), evt.compensationMethod(), evt.payloads())); + events.forEach(omegaCallback::compensate); } } diff --git a/alpha/alpha-core/src/test/java/io/servicecomb/saga/alpha/core/TxConsistentServiceTest.java b/alpha/alpha-core/src/test/java/io/servicecomb/saga/alpha/core/TxConsistentServiceTest.java index 635690b..76b3099 100644 --- a/alpha/alpha-core/src/test/java/io/servicecomb/saga/alpha/core/TxConsistentServiceTest.java +++ b/alpha/alpha-core/src/test/java/io/servicecomb/saga/alpha/core/TxConsistentServiceTest.java @@ -66,8 +66,8 @@ public class TxConsistentServiceTest { private final String compensationMethod = getClass().getCanonicalName(); private final List<CompensationContext> compensationContexts = new ArrayList<>(); - private final OmegaCallback omegaCallback = (globalTxId, localTxId, compensationMethod, payloads) -> - compensationContexts.add(new CompensationContext(globalTxId, localTxId, compensationMethod, payloads)); + private final OmegaCallback omegaCallback = event -> + compensationContexts.add(new CompensationContext(event.globalTxId(), event.localTxId(), event.compensationMethod(), event.payloads())); private final TxConsistentService consistentService = new TxConsistentService(eventRepository, omegaCallback); diff --git a/alpha/alpha-server/src/main/java/io/servicecomb/saga/alpha/server/AlphaConfig.java b/alpha/alpha-server/src/main/java/io/servicecomb/saga/alpha/server/AlphaConfig.java index eca48bc..55105d4 100644 --- a/alpha/alpha-server/src/main/java/io/servicecomb/saga/alpha/server/AlphaConfig.java +++ b/alpha/alpha-server/src/main/java/io/servicecomb/saga/alpha/server/AlphaConfig.java @@ -23,6 +23,7 @@ import org.springframework.context.annotation.Configuration; import io.servicecomb.saga.alpha.core.OmegaCallback; import io.servicecomb.saga.alpha.core.TxConsistentService; +import io.servicecomb.saga.alpha.core.TxEvent; import io.servicecomb.saga.alpha.core.TxEventRepository; @Configuration @@ -31,7 +32,7 @@ class AlphaConfig { @Bean OmegaCallback omegaCallback() { // TODO: 2017/12/27 to be replaced with actual callback on completion of SCB-138 - return (globalTxId, localTxId, compensationMethod, message) -> {}; + return event -> {}; } @Bean @@ -47,6 +48,7 @@ class AlphaConfig { return eventRepository; } + // TODO: 2017/12/29 how to match callback with service instance? send some msg on startup? private ServerStartable buildGrpc(int port, OmegaCallback omegaCallback, TxEventRepository eventRepository) { return new GrpcStartable( port, diff --git a/alpha/alpha-server/src/test/java/io/servicecomb/saga/alpha/server/AlphaIntegrationTest.java b/alpha/alpha-server/src/test/java/io/servicecomb/saga/alpha/server/AlphaIntegrationTest.java index 05ab8d2..2b83b97 100644 --- a/alpha/alpha-server/src/test/java/io/servicecomb/saga/alpha/server/AlphaIntegrationTest.java +++ b/alpha/alpha-server/src/test/java/io/servicecomb/saga/alpha/server/AlphaIntegrationTest.java @@ -163,8 +163,8 @@ public class AlphaIntegrationTest { @Bean OmegaCallback omegaCallback() { - return (globalTxId, localTxId, compensationMethod, payloads) -> - compensationContexts.add(new CompensationContext(globalTxId, localTxId, compensationMethod, payloads)); + return event -> + compensationContexts.add(new CompensationContext(event.globalTxId(), event.localTxId(), event.compensationMethod(), event.payloads())); } } -- To stop receiving notification emails like this one, please contact "commits@servicecomb.apache.org" <commits@servicecomb.apache.org>.