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/08/20 04:25:43 UTC

[incubator-servicecomb-saga] 01/03: SCB-852 Split akka related code to saga-core-akka

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 8a2bcbec1f9f58a2ec2f43498bff506effcce93b
Author: Willem Jiang <ji...@huawei.com>
AuthorDate: Sun Aug 19 20:39:26 2018 +0800

    SCB-852 Split akka related code to saga-core-akka
---
 pom.xml                                            | 11 +++++++
 .../saga/core/actors/ActorBasedSaga.java           |  2 +-
 .../saga/core/actors/ActorBasedSagaFactory.java    |  0
 .../saga/core/actors/CompletionCallbackActor.java  |  0
 .../saga/core/actors/EventContextImpl.java         |  0
 .../servicecomb/saga/core/actors/RequestActor.java |  0
 .../saga/core/actors/RequestActorBuilder.java      |  0
 .../saga/core/actors/RequestActorContext.java      |  0
 .../saga/core/actors/messages/AbortMessage.java    |  0
 .../core/actors/messages/AbortRecoveryMessage.java |  0
 .../core/actors/messages/CompensateMessage.java    |  0
 .../messages/CompensationRecoveryMessage.java      |  0
 .../saga/core/actors/messages/FailMessage.java     |  0
 .../saga/core/actors/messages/Message.java         |  0
 .../saga/core/actors/messages/TransactMessage.java |  1 +
 .../messages/TransactionRecoveryMessage.java       |  0
 .../ActorBasedSagaExecutionComponentTest.java      |  2 +-
 .../core/actors/ActorBasedSagaIntegrationTest.java | 16 +++++-----
 .../core/actors/CompletionCallbackActorTest.java   |  4 +--
 .../saga/core/actors/EventContextImplTest.java     |  0
 .../saga/core/actors/RequestActorBuilderTest.java  |  2 +-
 .../saga/core/actors/RequestActorTest.java         |  0
 saga-core-akka/src/test/resources/application.conf | 21 +++++++++++++
 saga-core-akka/src/test/resources/log4j2.xml       | 30 ++++++++++++++++++
 saga-core/pom.xml                                  | 36 ++++++++++------------
 saga-spring/pom.xml                                |  4 +++
 26 files changed, 96 insertions(+), 33 deletions(-)

diff --git a/pom.xml b/pom.xml
index e8cfe75..542fb1c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -252,6 +252,17 @@
       </dependency>
       <dependency>
         <groupId>org.apache.servicecomb.saga</groupId>
+        <artifactId>saga-core-akka</artifactId>
+        <version>0.3.0-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.servicecomb.saga</groupId>
+        <artifactId>saga-core</artifactId>
+        <type>test-jar</type>
+        <version>0.3.0-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.servicecomb.saga</groupId>
         <artifactId>saga-format</artifactId>
         <version>0.3.0-SNAPSHOT</version>
       </dependency>
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSaga.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSaga.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSaga.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSaga.java
index bf60f98..36fae1f 100644
--- a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSaga.java
+++ b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSaga.java
@@ -23,9 +23,9 @@ import org.apache.servicecomb.saga.core.EventContext;
 import org.apache.servicecomb.saga.core.EventStore;
 import org.apache.servicecomb.saga.core.NoOpSagaRequest;
 import org.apache.servicecomb.saga.core.Saga;
+import org.apache.servicecomb.saga.core.SagaEvent;
 import org.apache.servicecomb.saga.core.SagaResponse;
 import org.apache.servicecomb.saga.core.actors.messages.TransactMessage;
-import org.apache.servicecomb.saga.core.SagaEvent;
 
 import akka.actor.ActorRef;
 
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaFactory.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaFactory.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaFactory.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaFactory.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActor.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActor.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActor.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActor.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/EventContextImpl.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/EventContextImpl.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/EventContextImpl.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/EventContextImpl.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActor.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActor.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActor.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActor.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilder.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilder.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilder.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilder.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActorContext.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActorContext.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActorContext.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/RequestActorContext.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/AbortMessage.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/AbortMessage.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/AbortMessage.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/AbortMessage.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/AbortRecoveryMessage.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/AbortRecoveryMessage.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/AbortRecoveryMessage.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/AbortRecoveryMessage.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/CompensateMessage.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/CompensateMessage.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/CompensateMessage.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/CompensateMessage.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/CompensationRecoveryMessage.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/CompensationRecoveryMessage.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/CompensationRecoveryMessage.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/CompensationRecoveryMessage.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/FailMessage.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/FailMessage.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/FailMessage.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/FailMessage.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/Message.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/Message.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/Message.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/Message.java
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactMessage.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactMessage.java
similarity index 99%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactMessage.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactMessage.java
index e4c57a2..e78be8d 100644
--- a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactMessage.java
+++ b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactMessage.java
@@ -17,6 +17,7 @@
 
 package org.apache.servicecomb.saga.core.actors.messages;
 
+
 import org.apache.servicecomb.saga.core.SagaRequest;
 import org.apache.servicecomb.saga.core.SagaResponse;
 
diff --git a/saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactionRecoveryMessage.java b/saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactionRecoveryMessage.java
similarity index 100%
rename from saga-core/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactionRecoveryMessage.java
rename to saga-core-akka/src/main/java/org/apache/servicecomb/saga/core/actors/messages/TransactionRecoveryMessage.java
diff --git a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaExecutionComponentTest.java b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaExecutionComponentTest.java
similarity index 100%
rename from saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaExecutionComponentTest.java
rename to saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaExecutionComponentTest.java
index 01f8adb..a5633db 100644
--- a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaExecutionComponentTest.java
+++ b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaExecutionComponentTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.servicecomb.saga.core.actors;
 
-import org.apache.servicecomb.saga.core.application.SagaFactory;
 import org.apache.servicecomb.saga.core.PersistentStore;
 import org.apache.servicecomb.saga.core.SagaExecutionComponentTestBase;
+import org.apache.servicecomb.saga.core.application.SagaFactory;
 
 
 public class ActorBasedSagaExecutionComponentTest extends SagaExecutionComponentTestBase {
diff --git a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaIntegrationTest.java b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaIntegrationTest.java
similarity index 100%
rename from saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaIntegrationTest.java
rename to saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaIntegrationTest.java
index ac649f0..dff600d 100644
--- a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaIntegrationTest.java
+++ b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/ActorBasedSagaIntegrationTest.java
@@ -42,6 +42,7 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.CyclicBarrier;
 
+import org.apache.servicecomb.saga.core.BackwardRecovery;
 import org.apache.servicecomb.saga.core.Compensation;
 import org.apache.servicecomb.saga.core.EventEnvelope;
 import org.apache.servicecomb.saga.core.EventStore;
@@ -51,14 +52,21 @@ import org.apache.servicecomb.saga.core.IdGenerator;
 import org.apache.servicecomb.saga.core.LongIdGenerator;
 import org.apache.servicecomb.saga.core.NoOpSagaRequest;
 import org.apache.servicecomb.saga.core.Operation;
+import org.apache.servicecomb.saga.core.PersistentStore;
 import org.apache.servicecomb.saga.core.Saga;
+import org.apache.servicecomb.saga.core.SagaDefinition;
+import org.apache.servicecomb.saga.core.SagaEndedEvent;
+import org.apache.servicecomb.saga.core.SagaEvent;
 import org.apache.servicecomb.saga.core.SagaEventMatcher;
 import org.apache.servicecomb.saga.core.SagaRequest;
 import org.apache.servicecomb.saga.core.SagaRequestImpl;
 import org.apache.servicecomb.saga.core.SagaResponse;
 import org.apache.servicecomb.saga.core.SagaStartedEvent;
 import org.apache.servicecomb.saga.core.SuccessfulSagaResponse;
+import org.apache.servicecomb.saga.core.Transaction;
+import org.apache.servicecomb.saga.core.TransactionAbortedEvent;
 import org.apache.servicecomb.saga.core.TransactionCompensatedEvent;
+import org.apache.servicecomb.saga.core.TransactionEndedEvent;
 import org.apache.servicecomb.saga.core.TransactionStartedEvent;
 import org.apache.servicecomb.saga.core.application.SagaFactory;
 import org.hamcrest.CoreMatchers;
@@ -71,14 +79,6 @@ import org.mockito.stubbing.Answer;
 
 import com.seanyinx.github.unit.scaffolding.Randomness;
 
-import org.apache.servicecomb.saga.core.BackwardRecovery;
-import org.apache.servicecomb.saga.core.PersistentStore;
-import org.apache.servicecomb.saga.core.SagaDefinition;
-import org.apache.servicecomb.saga.core.SagaEndedEvent;
-import org.apache.servicecomb.saga.core.SagaEvent;
-import org.apache.servicecomb.saga.core.Transaction;
-import org.apache.servicecomb.saga.core.TransactionAbortedEvent;
-import org.apache.servicecomb.saga.core.TransactionEndedEvent;
 import org.apache.servicecomb.saga.core.application.interpreter.FromJsonFormat;
 import org.apache.servicecomb.saga.infrastructure.EmbeddedEventStore;
 
diff --git a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActorTest.java b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActorTest.java
similarity index 100%
rename from saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActorTest.java
rename to saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActorTest.java
index 7ae280f..7057de4 100644
--- a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActorTest.java
+++ b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/CompletionCallbackActorTest.java
@@ -30,15 +30,15 @@ import java.time.Duration;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.servicecomb.saga.core.FailedSagaResponse;
 import org.apache.servicecomb.saga.core.NoOpSagaRequest;
+import org.apache.servicecomb.saga.core.SagaResponse;
 import org.apache.servicecomb.saga.core.actors.messages.AbortMessage;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
 
-import org.apache.servicecomb.saga.core.FailedSagaResponse;
-import org.apache.servicecomb.saga.core.SagaResponse;
 import org.apache.servicecomb.saga.core.actors.messages.CompensateMessage;
 import org.apache.servicecomb.saga.core.actors.messages.FailMessage;
 import org.apache.servicecomb.saga.core.actors.messages.TransactMessage;
diff --git a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/EventContextImplTest.java b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/EventContextImplTest.java
similarity index 100%
rename from saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/EventContextImplTest.java
rename to saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/EventContextImplTest.java
diff --git a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilderTest.java b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilderTest.java
similarity index 100%
rename from saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilderTest.java
rename to saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilderTest.java
index 9dbf6e4..f799517 100644
--- a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilderTest.java
+++ b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorBuilderTest.java
@@ -35,6 +35,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import org.apache.servicecomb.saga.core.CompositeSagaResponse;
 import org.apache.servicecomb.saga.core.NoOpSagaRequest;
 import org.apache.servicecomb.saga.core.SagaRequest;
 import org.apache.servicecomb.saga.core.SagaResponse;
@@ -49,7 +50,6 @@ import org.scalatest.junit.JUnitSuite;
 
 import com.seanyinx.github.unit.scaffolding.Randomness;
 
-import org.apache.servicecomb.saga.core.CompositeSagaResponse;
 import org.apache.servicecomb.saga.core.actors.messages.CompensateMessage;
 import org.apache.servicecomb.saga.core.actors.messages.TransactMessage;
 import org.apache.servicecomb.saga.core.application.interpreter.FromJsonFormat;
diff --git a/saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorTest.java b/saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorTest.java
similarity index 100%
rename from saga-core/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorTest.java
rename to saga-core-akka/src/test/java/org/apache/servicecomb/saga/core/actors/RequestActorTest.java
diff --git a/saga-core-akka/src/test/resources/application.conf b/saga-core-akka/src/test/resources/application.conf
new file mode 100644
index 0000000..0629dd6
--- /dev/null
+++ b/saga-core-akka/src/test/resources/application.conf
@@ -0,0 +1,21 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+akka {
+  loggers = ["akka.event.slf4j.Slf4jLogger"]
+  loglevel = "DEBUG"
+  logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
+}
diff --git a/saga-core-akka/src/test/resources/log4j2.xml b/saga-core-akka/src/test/resources/log4j2.xml
new file mode 100644
index 0000000..cae04cb
--- /dev/null
+++ b/saga-core-akka/src/test/resources/log4j2.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<Configuration status="WARN">
+  <Appenders>
+    <Console name="Console" target="SYSTEM_OUT">
+      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
+    </Console>
+  </Appenders>
+  <Loggers>
+    <AsyncRoot level="info">
+      <AppenderRef ref="Console"/>
+    </AsyncRoot>
+  </Loggers>
+</Configuration>
diff --git a/saga-core/pom.xml b/saga-core/pom.xml
index 68fe949..fd1b47c 100644
--- a/saga-core/pom.xml
+++ b/saga-core/pom.xml
@@ -49,32 +49,12 @@
       <artifactId>log4j-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-actor_2.12</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-slf4j_2.12</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>io.kamon</groupId>
-      <artifactId>kamon-core_2.12</artifactId>
-    </dependency>
-    <dependency>
       <groupId>io.kamon</groupId>
       <artifactId>kamon-annotation_2.12</artifactId>
     </dependency>
 
     <!-- test dependencies -->
     <dependency>
-      <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-testkit_2.12</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.scalatest</groupId>
-      <artifactId>scalatest_2.12</artifactId>
-    </dependency>
-    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
     </dependency>
@@ -102,4 +82,20 @@
     </dependency>
   </dependencies>
 
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
 </project>
diff --git a/saga-spring/pom.xml b/saga-spring/pom.xml
index b477113..b996e23 100755
--- a/saga-spring/pom.xml
+++ b/saga-spring/pom.xml
@@ -82,6 +82,10 @@
     </dependency>
     <dependency>
       <groupId>org.apache.servicecomb.saga</groupId>
+      <artifactId>saga-core-akka</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.servicecomb.saga</groupId>
       <artifactId>saga-format</artifactId>
       <exclusions>
         <exclusion>