You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2018/01/02 10:50:29 UTC
[incubator-servicecomb-saga] 04/06: SCB-149 omega callback
signature change
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 <se...@huawei.com>
AuthorDate: Tue Jan 2 09:27:49 2018 +0800
SCB-149 omega callback signature change
Signed-off-by: seanyinx <se...@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" <co...@servicecomb.apache.org>.