You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by zh...@apache.org on 2019/07/08 12:19:02 UTC

[servicecomb-pack] 06/10: SCB-1321 Add Akka support parameters in OmegaContext

This is an automated email from the ASF dual-hosted git repository.

zhanglei pushed a commit to branch SCB-1321
in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git

commit 2e5e756af7e8da97f92c85e224e8d660c41ae6eb
Author: Lei Zhang <zh...@apache.org>
AuthorDate: Mon Jul 8 20:09:15 2019 +0800

    SCB-1321 Add Akka support parameters in OmegaContext
---
 .../apache/servicecomb/pack/omega/context/OmegaContext.java  | 12 ++++++++++++
 .../servicecomb/pack/omega/spring/OmegaSpringConfig.java     |  6 +++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/OmegaContext.java b/omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/OmegaContext.java
index 0b8f3a5..96e54bd 100644
--- a/omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/OmegaContext.java
+++ b/omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/OmegaContext.java
@@ -28,8 +28,15 @@ public class OmegaContext {
   private final ThreadLocal<String> localTxId = new InheritableThreadLocal<>();
   private final IdGenerator<String> idGenerator;
 
+  private final boolean alphaFeatureAkkaEnabled;
+
   public OmegaContext(IdGenerator<String> idGenerator) {
+    this(idGenerator,false);
+  }
+
+  public OmegaContext(IdGenerator<String> idGenerator, boolean alphaFeatureAkkaEnabled) {
     this.idGenerator = idGenerator;
+    this.alphaFeatureAkkaEnabled = alphaFeatureAkkaEnabled;
   }
 
   public String newGlobalTxId() {
@@ -60,6 +67,10 @@ public class OmegaContext {
     return localTxId.get();
   }
 
+  public boolean isAlphaFeatureAkkaEnabled() {
+    return alphaFeatureAkkaEnabled;
+  }
+
   public void clear() {
     globalTxId.remove();
     localTxId.remove();
@@ -70,6 +81,7 @@ public class OmegaContext {
     return "OmegaContext{" +
         "globalTxId=" + globalTxId.get() +
         ", localTxId=" + localTxId.get() +
+        ", alphaFeatureAkkaEnabled=" + alphaFeatureAkkaEnabled +
         '}';
   }
 
diff --git a/omega/omega-spring-starter/src/main/java/org/apache/servicecomb/pack/omega/spring/OmegaSpringConfig.java b/omega/omega-spring-starter/src/main/java/org/apache/servicecomb/pack/omega/spring/OmegaSpringConfig.java
index ac16ba0..9284323 100644
--- a/omega/omega-spring-starter/src/main/java/org/apache/servicecomb/pack/omega/spring/OmegaSpringConfig.java
+++ b/omega/omega-spring-starter/src/main/java/org/apache/servicecomb/pack/omega/spring/OmegaSpringConfig.java
@@ -55,6 +55,9 @@ class OmegaSpringConfig {
 
   private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
+  @Value("${alpha.feature.akka.enabled:false}")
+  private boolean alphaFeatureAkkaEnabled;
+
   @Bean(name = {"omegaUniqueIdGenerator"})
   IdGenerator<String> idGenerator() {
     return new UniqueIdGenerator();
@@ -62,7 +65,8 @@ class OmegaSpringConfig {
 
   @Bean
   OmegaContext omegaContext(@Qualifier("omegaUniqueIdGenerator") IdGenerator<String> idGenerator) {
-    return new OmegaContext(idGenerator);
+    LOG.info("alpha.feature.akka.enabled={}",alphaFeatureAkkaEnabled);
+    return new OmegaContext(idGenerator,alphaFeatureAkkaEnabled);
   }
 
   @Bean(name = {"compensationContext"})