栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

applicationContext

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

applicationContext

1. 获取Bean对象

applicationContext.getBean(beanName, bean.class);


public interface SendMsgHandle {
    void sendMsg(String msg);
}

@Service("statusUpdateMsgHandler")
@Slf4j
public class StatusUpdateMsgHandler implements SendMsgHandle{
 
    @Override
    public void sendMsg(String msg) {
        log.info("receive msg: {}", msg);
    }
   
}

SendMsgHandle handler = webApplicationContext.getBean("statusUpdateMsgHandler", SendMsgHandle.class);
handler.sendMsg(JSON.toJSonString("test"));

2. 发布消息事件
 

// obj为传递的事件对象
applicationContext.publishEvent(Object obj);

// 订阅消息事件:使用注解@EventListener,该注解默认是同步执行的,若要实现异步执行,需加@Async。方法参数为事件对象,指明要监听订阅的事件。
public void execute(Object obj) {}


====================================== 分隔符 ======================================


// 1.创建要发送的内容对象
OrderDTO orderDTO = OrderDTO.builder().no("6853738696568484").build();
// 发送创建订单成功相关消息
applicationContext.publishEvent(orderDTO);

// 2.监听接收
@Component
@Slf4j
public class OrderDTOListener {

    @EventListener
    @Async("async_thread_pool_bean_name")
    public void execute(OrderDTO orderDTO) {
        // 发送创建订单成功相关消息
        if (Objects.nonNull(orderDTO) && StringUtils.isNotEmpty(orderDTO.getNo())){
            String jsonData = JSONObject.toJSonString(orderDTO);
            log.info("接收: {}", jsonData);
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666404.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号