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