【店滴云】物联网开源框架迎来 1.3.8 更新
框架介绍: 店滴云,让经营场所,更智能。围绕茶室、酒店、健身房、公寓、出租房等经营性场所进行物联网改造。同时支持多种物联网通信协议,开放智能门锁,智能开关,智能手环的sdk供开发者使用。可免费商用,授权版赠送官网,单商户电商与多商户电商系统。 更新内容: 全局行为代码兼容修复全局微信小程序接口处理修复全局微信公众号接入能力提升
Dami,专为本地多模块之间通讯解耦而设计(尤其是未知模块、隔离模块、领域模块)。零依赖,特适合 DDD。
结合 Bus 与 RPC 的概念,可作事件分发,可作接口调用,可作异步响应。
| Dami | EventBus | ApiBean | Dami 的情况说明 | |
|---|---|---|---|---|
| 广播 | 有 | 有 | 无 | 发送(send) + 监听(listen) 以及 Api 模式 |
| 应答 | 有 | 无 | 有 | 发送并等响应(sendAndResponse) + 监听(listen) + 答复(reply) 以及 Api 模式 |
| 回调 | 有+ | 无 | 有- | 发送并等回调(sendAndCallback) + 监听(listen) + 答复(reply) |
| 耦合 | 弱- | 弱+ | 强++ |
<dependency>
<groupId>org.noear</groupId>
<artifactId>dami</artifactId>
<version>0.21</version>
</dependency>
如果涉及类加载器隔离:请在主程序标为编译,在其它模块标为可选。
public class Deom11 {
static String topic = "demo.hello";
public static void main(String[] args) {
//监听事件
Dami.<String,String>bus().listen(topic, payload -> {
System.err.println(payload);
});
//发送事件
Dami.<String,String>bus().send(topic, "world");
}
}
public class Demo12 {
static String topic = "demo.hello";
public static void main(String[] args) {
//监听事件
Dami.busStr().listen(topic, payload -> {
System.err.println(payload);
if (payload.isRequest()) {
Dami.busStr().reply(payload, "hi nihao!"); // sendAndResponse 只接收第一个
Dami.busStr().reply(payload, "* hi nihao!");
Dami.busStr().reply(payload, "** hi nihao!");
}
});
//发送事件
String rst1 = Dami.busStr().sendAndResponse(topic, "world");
System.out.println(rst1);
Dami.busStr().sendAndCallback(topic, "world", rst2 -> {
System.out.println(rst2); //callback 可不限返回
});
}
}
public interface UserEventSender {
void onCreated(Long userId, String name);
Long getUserId(String name);
}
public class UserEventListenerImpl {
public void onCreated(Long userId, String name) {
System.err.println("onCreated: userId=" + userId + ", name=" + name);
}
public Long getUserId(String name) {
return Long.valueOf(name.hashCode());
}
}
public class Demo31 {
public static void main(String[] args) {
//注册监听器
UserEventListenerOfModule1 userEventListener = new UserEventListenerOfModule1();
Dami.api().registerListener("demo.user", userEventListener);
//生成发送器
UserEventSender userEventSender = Dami.api().createSender("demo.user", UserEventSender.class);
//发送测试
userEventSender.onCreated(1L, "noear");
Long userId = userEventSender.getUserId( "dami");
System.err.println("收到:响应:userId:" + userId);
//注销监听器
Dami.api().unregisterListener("demo.user", userEventListener);
}
}
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。