<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_21998021的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_21998021</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_21998021]]></copyright><item><title><![CDATA[Springboot整合RocketMq项目订阅方无法接收消息解决方法]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786598</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786598</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:24:05 +0800</pubDate><description><![CDATA[RocketMq的消息订阅方使用springboot集成时，在0.0.5及以下版本时会产生订阅方无法接收消息的问题。

	&lt;dependency&gt;
		&lt;groupId&gt;com.maihaoche&lt;/groupId&gt;
		&lt;artifactId&gt;spring-boot-starter-rocketmq&lt;/artifactId&gt;
		&lt;version&gt;0.0.5&lt;/version&gt;
	&lt;/dependency&gt;

]]></description><category></category></item><item><title><![CDATA[Tigase Muc报文流程]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786525</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786525</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:21:21 +0800</pubDate><description><![CDATA[查询当前聊天室
  &lt;iq to="muc.aikucun.com" id="klk5b-401" type="get"&gt;
      &lt;query xmlns="http://jabber.org/protocol/disco#items"/&gt;
  &lt;/iq&gt;

服务器返回报文
  &lt;iq xmlns="jabber:client" to="bbb@aikucun.com/DESKTOP-S0OC5N3" from="muc.aikucun.com" type..]]></description><category></category></item><item><title><![CDATA[redis分布式锁]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786489</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786489</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:20:09 +0800</pubDate><description><![CDATA[应用场景
下单，支付，秒杀，减库存等
主要思想
1 setnx 设置一个kv key可以是lock标示＋业务数据id value可以是时间戳
2 expire 设置过期时间
3 delete 释放锁 在业务完成的时候在finall 释放掉锁
主要代码
/**
* 加锁
*
* @param locaName       锁的key
* @param acquireTimeout 获取超时时间
* @param timeout        锁的超时时间
* @return 锁标识
*/
public boo]]></description><category></category></item><item><title><![CDATA[SpringBoot整合redis]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786453</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786453</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:19:04 +0800</pubDate><description><![CDATA[一、介绍

SpringBoot提供了Spring-data-redis的整合方法，整合了redisTemplate等调用方法和jedis连接池的实现，无须像SpringMVC进行繁琐的xml配置，配置全部在application.properties中完成。同时，Spring-Session-redis的整合也可以使用相同的配置项。

二、框架搭建


redis环境，自行搭建，参考
https://redis.io/


引入pom
     &lt;!-- spring redis --&gt;
 	]]></description><category></category></item><item><title><![CDATA[xmpp登录SASL认证流程]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786410</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786410</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:17:45 +0800</pubDate><description><![CDATA[Tigase提供三种SASL认证机制：SCRAM-SHA-1、PLAIN、ANONYMOUS；
SCRAM-SHA-1，如果帐号和密码都在Client对象中提供了，这种机制是首选，即使没有TLS加密也是安全的。关于SCRAM-SHA-1加密过程，参考：
  http://www.it1352.com/307661.html

PLAIN，如果SCRAM-SHA-1无效，就使用此种机制。在没有TLS加密时是不安全的。
ANONYMOUS，此种机制在没有提供帐号和密码时使用。服务器将随机产生临时帐号和资源，..]]></description><category></category></item><item><title><![CDATA[SpringBoot整合微信小程序开发工具]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786379</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786379</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:16:32 +0800</pubDate><description><![CDATA[一、介绍


通常进行微信开发时，不建议直接使用restful的方式调用微信官方提供的开发文档。一方面在于微信官方文档杂乱，影响开发效率；另一方面开源社区提供了众多微信开发的工具的封装。


本文将为快速开发微信小程序后端提供解决方案，并集成推荐使用的微信小程序开发工具包，参考：
https://github.com/Wechat-Group/weixin-java-tools


附：微信小程序开发文档：
https://mp.weixin.qq.com/debug/wxadoc/dev/api/


二]]></description><category></category></item><item><title><![CDATA[SpringBoot整合dubbo]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786342</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786342</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:15:38 +0800</pubDate><description><![CDATA[一、介绍


github提供了SpringBoot整合dubbo的方案，参考：
https://github.com/apache/incubator-dubbo-spring-boot-project


github提供的整合方式在服务提供方和消费方均通过注解内通配符的形式读取dubbo配置项，但实际整合中注解形式的读取方式通配符无法生效，因此本文将提供注解+xml的配置方式整合dubbo。


二、框架搭建


引入pom，这里使用zookeeper作为服务注册中心，因此添加zkclient的依赖；]]></description><category></category></item><item><title><![CDATA[SpringBoot整合Spring Security]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786321</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786321</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:14:52 +0800</pubDate><description><![CDATA[一、介绍


Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean，充分利用了Spring IoC，DI和AOP功能，为应用系统提供声明式的安全访问控制功能，减少了为企业系统安全控制编写大量重复代码的工作。
在开发业务接口时，为保护无需登录授权即可以直接用get、post请求的接口受到恶意请求，可以通过RBAC机制设置接口请求访问权限。
以下将使用SpringBoot整合Spring Se]]></description><category></category></item><item><title><![CDATA[SpringBoot整合Spring Session Redis]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786295</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786295</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:14:13 +0800</pubDate><description><![CDATA[一、问题由来

项目使用Spring Security进行请求拦截和认证授权机制时，在单一服务器部署没有异常，但在使用多台服务器负载均衡后会出现已授权失效的问题，原因在于使用Spring Security认证授权的方式依赖于SessionId，而多台服务器没有共享Session，导致请求转发到其他的负载均衡服务器后认证失效。
因此，为了解决多台服务器之间的Session共享问题，将使用redis存储Session而达到Session一致性的目的。

二、框架整合
SpringBoot提供了Spring Se]]></description><category></category></item><item><title><![CDATA[Springboot动态切换数据源并整合Mybatis通用mapper]]></title><link>https://blog.youkuaiyun.com/qq_21998021/article/details/118786192</link><guid>https://blog.youkuaiyun.com/qq_21998021/article/details/118786192</guid><author>qq_21998021</author><pubDate>Fri, 16 Jul 2021 10:11:46 +0800</pubDate><description><![CDATA[使用场景
在一个项目内同时要对多个数据库进行CRUD操作，或者项目需要对主从库进行读写分离。


整合目标
代码内通过注解的形式即可动态切换数据源。


前置条件
Springboot整合Mytatis通用mapper，参考：
http://note.youdao.com/noteshare?id=9332ec957e2b61ec9706d53870b25204


pom依赖
 &lt;properties&gt;

 	&lt;project.build.sourceEncoding&gt;UTF-..]]></description><category></category></item></channel></rss>