# dami **Repository Path**: orange_half/dami ## Basic Information - **Project Name**: dami - **Description**: Dami(本地过程调用框架),专为本地多模块之间通讯解耦而设计,尤其是未知模块、隔离模块。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 47 - **Created**: 2023-09-08 - **Last Updated**: 2023-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Dami

Local Procedure Call Framework

Maven Apache 2 jdk-8+
gitee star github star



Dami(本地过程调用框架),专为本地多模块之间通讯解耦而设计,尤其是未知模块、隔离模块。适用于任何 java 开发环境,零依赖、五个类。(有可能会推出多语言版本) ### 示例 * 依赖配置 ```xml org.noear dami 0.1 ``` 如果涉及类加载器隔离:请在主程序标为编译,在其它模块标为可选。 * 代码 ```java public class DemoApp { static String demo_topic = "demo.user.created"; public static void main(String[] args) throws Throwable { listen(); send(); } //监听 private static void listen() { DamiBus.global().listen(demo_topic, payload -> { System.out.println(payload); //接收 if (payload.isRequest()) { //如果是请求载体,则响应一下 DamiBus.global().response(payload, "你发了:" + payload.getContent()); } }); } //发送 private static void send() { //普通发送 DamiBus.global().send(demo_topic, "{user:'noear'}"); //请求并等响应 String rst1 = DamiBus.global().requestAndResponse(demo_topic, "{user:'dami'}"); System.out.println("响应返回: " + rst1); //请求并等回调 DamiBus.global().requestAndCallback(demo_topic, "{user:'solon'}", (rst2) -> { System.out.println("响应回调: " + rst2); }); } } ```