随笔分类 - Spring
摘要:第一种方式是根据实体类的@Document注解指定的collection属性,作为集合名称;第二种方式,则是没有使用前一种方式时,默认的collectionName就等于(经过首字母小写转换的)实体类名。
阅读全文
摘要:声明:参考自 如何将spring boot项目打包成war包 一、修改打包形式 在 pom.xml 里设置 <packaging>war</packaging> 二、移除嵌入式tomcat插件 在 pom.xml 里找到spring-boot-starter-web依赖,在其中添加如下代码, <de
阅读全文
摘要:一、简介 **需求:**Dubbo的调用方,在不引入服务接口类的情况下,远程调用其他Dubbo服务。 二、项目依赖 SpringBoot整合Dubbo3.x关于curator和zookeeper版本选型的思考 经尝试, 一种方案是使用高版本组合(Curator 5.2.0 + ZooKeeper 3
阅读全文
摘要:一、使用示例 使用 @RestControllerAdvice 注解类,使用 @ExceptionHandler(JsonParseException.class) 指明要处理的全局异常。 import com.fasterxml.jackson.core.JsonParseException; i
阅读全文
摘要:一、Dubbo2 or Dubbo3? 我给出的观点是选择 Dubbo3,原因有二: 在 Dubbo 3.0 版本向下兼容老版本 Dubbo 2.5、2.6、2.7; Dubbo 3.0 的带来了许多的新特性,用户可以按需进行升级; 参考自Apache官方文档 《Dubbo 3.x 升级与兼容性指南
阅读全文
摘要:一、简介 基于Lettuce连接Redis单机和集群的客户端代码,在这篇文章中,给出了使用 Lettuce API 的大致流程。 本文将着力分析一下背后的源码。 首先,回顾一下使用 Lettuce 客户端调用 get 命令的大致流程: // 步骤1:连接信息 RedisURI redisURI =
阅读全文
摘要:SpringBoot在封装Lettuce客户端代码到spring-boot-starter-data-redis,核心流程代码见本文正文。
阅读全文
摘要:通过阅读 LettuceConnectionConfiguration 的源码,我们知道两种在客户端代码中配置 redis-server 模式的方法:
1.配置文件:可以通过 application.properties 中的属性来设置哨兵模式,集群模式,单机模式;
2.Java代码:可以通过向 Spring 注入Bean的模式来设置哨兵模式(注入 RedisSentinelConfiguration)和集群模式(注入 RedisClusterConfiguration);
Java代码优先级 > 配置文件;
另外,我们还知道如果同时存在多种模式的配置时,最终只会选取一种模式,此时就要根据优先级来判断具体选择哪一种:
哨兵模式 > 集群模式 > 单机模式
最后,就是 spring.redis.url 这个属性,对于配置 Lettuce 作为 Redis 客户端时,没啥卵用。
阅读全文
摘要:该项目代码下载 一、项目结构 我首先用 SpringBoot Initializer 创建一个简单的 Demo,然后在 Demo 上进行修改,这样更便捷。项目结构如下图所示: 项目结构也很简单 PrintMessageListener 负责处理订阅消息,我仅仅是打印了收到的Redis信息; Admi
阅读全文
摘要:一、项目目录 首先看一下这个简易的 SpringBoot 项目的目录: 我首先用 SpringBoot Initializer 创建一个简单的 Demo,然后在 Demo 上进行修改,这样更便捷。 二、下载js 这两个js不是我写的,是我从网上下载的: 2.1 sockjs.min.js SockJ
阅读全文