diff --git a/framework/common/akka-java/pom.xml b/framework/common/akka-java/pom.xml
new file mode 100644
index 000000000..47ce54528
--- /dev/null
+++ b/framework/common/akka-java/pom.xml
@@ -0,0 +1,24 @@
+
+
+
+ common
+ org.laidu.learn
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ akka-java
+
+
+
+
+ com.typesafe.akka
+ akka-actor_2.13
+ ${akka-java.version}
+
+
+
+
+
\ No newline at end of file
diff --git a/framework/common/akka-java/src/main/java/org/laidu/learn/common/akka/AkkaJavaApp.java b/framework/common/akka-java/src/main/java/org/laidu/learn/common/akka/AkkaJavaApp.java
new file mode 100644
index 000000000..a89e07dcd
--- /dev/null
+++ b/framework/common/akka-java/src/main/java/org/laidu/learn/common/akka/AkkaJavaApp.java
@@ -0,0 +1,29 @@
+package org.laidu.learn.common.akka;
+
+import org.laidu.learn.common.akka.actor.HelloActor;
+
+import akka.actor.ActorRef;
+import akka.actor.ActorSystem;
+import akka.actor.Props;
+
+/**
+ * akka-java learn
+ */
+public class AkkaJavaApp {
+
+ public static void main(String[] args) {
+
+ final ActorSystem system = ActorSystem.create("akka-learn");
+
+ ActorRef hello = system.actorOf(Props.create(HelloActor.class), "hello");
+ ActorRef hello2 = system.actorOf(Props.create(HelloActor.class), "hello2");
+
+ hello.tell("hello", ActorRef.noSender());
+ hello.tell("hello", ActorRef.noSender());
+ hello.tell(new Object(), ActorRef.noSender());
+ hello.tell("hello", ActorRef.noSender());
+ hello.tell("hello", hello2);
+
+
+ }
+}
diff --git a/framework/common/akka-java/src/main/java/org/laidu/learn/common/akka/actor/HelloActor.java b/framework/common/akka-java/src/main/java/org/laidu/learn/common/akka/actor/HelloActor.java
new file mode 100644
index 000000000..3c7b17d84
--- /dev/null
+++ b/framework/common/akka-java/src/main/java/org/laidu/learn/common/akka/actor/HelloActor.java
@@ -0,0 +1,17 @@
+package org.laidu.learn.common.akka.actor;
+
+import com.alibaba.fastjson.JSON;
+
+import akka.actor.AbstractActor;
+import akka.japi.pf.ReceiveBuilder;
+
+public class HelloActor extends AbstractActor {
+
+ @Override
+ public Receive createReceive() {
+ return new ReceiveBuilder()
+ .match(String.class, var -> System.out.println(this.getSelf().path()+": "+var))
+ .matchAny(var -> System.out.println(JSON.toJSONString(var)))
+ .build();
+ }
+}
diff --git a/framework/common/akka-java/src/main/resources/rebel.xml b/framework/common/akka-java/src/main/resources/rebel.xml
new file mode 100644
index 000000000..aa2f52d8c
--- /dev/null
+++ b/framework/common/akka-java/src/main/resources/rebel.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/framework/common/akka-java/src/site/markdown/index.md b/framework/common/akka-java/src/site/markdown/index.md
new file mode 100644
index 000000000..dca70b89d
--- /dev/null
+++ b/framework/common/akka-java/src/site/markdown/index.md
@@ -0,0 +1,2 @@
+# akka-java learn
+
diff --git a/framework/common/pom.xml b/framework/common/pom.xml
index dba6165f1..1a6188cb7 100644
--- a/framework/common/pom.xml
+++ b/framework/common/pom.xml
@@ -21,6 +21,7 @@
shiro
rxjava
jodd
+ akka-java
@@ -30,6 +31,7 @@
1.3.2
2.1.17
5.0.4
+ 2.6.4
@@ -91,6 +93,11 @@
+
+ com.typesafe.akka
+ akka-actor_2.13
+ ${akka-java.version}
+
diff --git a/framework/spring/spring-boot/spring-boot-app/src/main/java/org/laidu/learn/spring/boot/app/controller/CashedApi.java b/framework/spring/spring-boot/spring-boot-app/src/main/java/org/laidu/learn/spring/boot/app/controller/CashedApi.java
index 24ab2347d..34201c570 100644
--- a/framework/spring/spring-boot/spring-boot-app/src/main/java/org/laidu/learn/spring/boot/app/controller/CashedApi.java
+++ b/framework/spring/spring-boot/spring-boot-app/src/main/java/org/laidu/learn/spring/boot/app/controller/CashedApi.java
@@ -2,6 +2,7 @@
import org.laidu.learn.spring.boot.app.service.ThreadLocalService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@@ -20,6 +21,7 @@
@RequestMapping("/cashed")
public class CashedApi {
+ @Lazy
@Autowired
private ThreadLocalService threadLocalService;
diff --git a/framework/spring/spring-retry/pom.xml b/framework/spring/spring-retry/pom.xml
index a1593fc9e..9ff1ad419 100644
--- a/framework/spring/spring-retry/pom.xml
+++ b/framework/spring/spring-retry/pom.xml
@@ -38,5 +38,14 @@
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
\ No newline at end of file