spring静态类注入

本文介绍了一个用于发送XMPP消息的实用工具类XmppMessageUtil的实现细节。该类通过RestTemplate发送POST请求来实现消息推送,利用@PostConstruct注解确保初始化过程正确执行。
摘要由CSDN通过智能技术生成

创建XmppMessageUtil类

    static Logger logger = LoggerFactory.getLogger(XmppMessageUtil.class);

    private static XmppMessageUtil xmppMessageUtil;

    @Resource(name = "loadBalanced")
    private RestTemplate loadBalanced;
使用 @PostConstruct注解( @PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。 被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行

public static void sendXmppMessage(String userFromId, String password, String userId, XmppMessageBody body) {
        try {
            body.setTimeSend(new Date());
            Map<String, Object> mapPara = new HashMap<String, Object>();
            mapPara.put("userId", userId);
            mapPara.put("body", JSON.toJSONString(body));
            mapPara.put("userFromId", userFromId);
            mapPara.put("password", password);
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
            HttpEntity<String> httpEntity = new HttpEntity<String>(headers);
            com.yhyt.health.spring.AppResult result = xmppMessageUtil.loadBalanced.postForObject("http://dialog/dialog/sendMessage?userId={userId}&body={body}", httpEntity, com.yhyt.health.spring.AppResult.class, mapPara);
            if (null != result && "200".equals(result.getStatus().getCode())) {
                logger.info("推送下线成功");
            }
        } catch (Exception e) {
            logger.error("发送xmpp失败,用户id"+userId,e);
        }
    }













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值