
Spring
文章平均质量分 60
mcatto
这个作者很懒,什么都没留下…
展开
-
Spring cloud gateway 报413 Request Entity Too Large
【代码】Spring cloud gateway 报413 Request Entity Too Large。原创 2024-04-02 17:10:17 · 1022 阅读 · 0 评论 -
SpringBoot Websocket Stomp 实现单设备登录(顶号) ①
当继承spring-messaging的stomp后,它封装的比较封闭,stomp有维护session会话列表,但是外部无法通过正常方式获取到,如果不想自己再维护一个可以尝试通过下面方式实现单设备登录功能。单设备登录方式直接使用websocket实现比较容易实现,通常自己维护session会话列表管理即可。本案例场景:同账号登录时,存在已在线通同账号,发送一个消息给在线账号告知顶号,然后将连接断开。单设备检测及消息发送。原创 2023-05-13 07:30:39 · 1114 阅读 · 0 评论 -
Redisson (StringRedisTemplate.opsForList().leftPop(key, count) StackOverflowError
redisson-spring-boot-starter(3.16.8) opsForList().leftPop(key, count) StackOverflowError原创 2022-06-01 17:36:55 · 3810 阅读 · 0 评论 -
Shiro (http:/xxxxx/;JSESSIONID=xxxx) InvalidRequestFilter 400无法跳转到登录页问题
shiro: 1.6spring: 5.2访问:http://localhost:8080/demo/;JSESSIONID=655def62-75b3-4ab1-ae27-b7d0e42c431a时, 出现400错误页面,无法跳转到登录页。当浏览器本地cookie禁用或者部分链接跳转时,会默认加上 ;JSESSIONID= 参数传递cookie中存储的sessionId, 后端Filter过滤器会首先尝试从cookie中获取sessionId,获取不到时尝试解析uri连接(;/JSESSIO.原创 2021-05-27 13:16:50 · 2601 阅读 · 3 评论 -
@WebFilter @Order 组合失效问题
@WebFilter @Order 无法组合使用。使用@ServletComponentScan启用servlet组件扫描,会将Filter/Listener/Servlet原生实现类托管给spring容器,对于@WebFilter注解最终会将注解的实现类交由ApplicationFilterChain处理,该类内部维护一个Filter数组,该数组就是扫描注册自定义实现的Filter类。原生组件的的扫描使用ClassPathScanningCandidateComponentProvider,该类..原创 2020-09-02 11:31:01 · 1573 阅读 · 0 评论 -
127.0.0.1 将不允许 Firefox 显示嵌入于其他网站的页面
springboot + springsecurity + thymeleaf (版本2.2.6)嵌套iframe中出现:127.0.0.1/localhost 将不允许 Firefox 显示嵌入于其他网站的页面点击了解详细信息:https://developer.mozilla.org/de/docs/Web/HTTP/Headers/X-Frame-Options提示需要将服务器端页面返回响应头增加:X-Frame-Options// deny 不允许iframe嵌套X-Frame-原创 2020-08-25 17:10:15 · 9478 阅读 · 1 评论 -
SSM项目改造SpringBoot webapp目录外部化 jsp 404 问题
近期接手一个陈旧的项目基于SSM,SpringMVCSpringMybatis实现的管理项目,没使用依赖管理。改造目标:SpringBoot + Maven,jar形式打包,非war形式,并且配置文件及webapp目录中的资源要外部化,通过maven-jar-plugin打包的jar为thin jar,jar包内不包含lib依赖及webapp。改造后通过assembly打包目录结构如下:改造后最大的问题就是webapp外部化jsp资源访问404问题:java -cp 形式启动,通过开启tr.原创 2020-08-19 17:35:13 · 556 阅读 · 0 评论 -
Nacos Spring-Cloud @RefreshScope 配置不生效问题
对于Spring-Cloud 集成Nacos作为配置中心,集成比较简单,而且使用只需在bean上增加@RefreshScope注解即可。入门实例参考官网:quick-start按照官网配置在controller中使用@Value注解的变量,并使用@RefreshScope注解对应的Controller,通过Nacos配置界面更改配置值后,访问controller接口可以实时生效。但是,如果采用该方式直接在一个service或者component中定义动态配置,并且仅在service或者compo原创 2020-07-21 16:43:23 · 27066 阅读 · 23 评论 -
记:JVM参数 -Xss 导致的RedisAutoConfiguration StackOverflow问题
以下两个问题都是由于-Xss参数设置过小导致,刚开始一脸懵逼。异常1:RedissonAutoConfiguration (使用redisson锁时的自动配置类时出现的问题)2020-05-02 12:19:08 [main] ERROR o.s.boot.web.embedded.tomcat.TomcatStarter - Error starting Tomcat context....原创 2020-05-02 14:36:32 · 1231 阅读 · 1 评论 -
spring-boot2集成influxDB
自spring-boot 2.0开始,spring-boot-autoconfigure提供了influxdb的简单集成实现类InfluxDbAutoConfiguration. 该类生效条件为@ConditionalOnClass(InfluxDB.class),所以只要引入influxdb-java依赖,就会自动生效。compile group: 'org.influxdb', name...原创 2019-11-06 16:52:41 · 4497 阅读 · 3 评论 -
Spring-amqp @RabbitListener注解方法签名参数 @SendTo发送注解
@RabbitListener注解的消费者监听方法,默认有几个可以自动注入的参数对象:org.springframework.amqp.core.Message 消息原始对象 com.rabbitmq.client.Channel 接收消息所所在的channel org.springframework.messaging.Message amqp的原始消息对象转换为messaging后的消...原创 2019-09-10 10:49:46 · 3979 阅读 · 0 评论 -
Spring-amqp SPEL表达式 #{....} 与 !{....}
#{...}该类型表达式#开头,大括号内为表达式,只会在初始化时进行一次表达式运算确定取值,以后不会再变化,#root表示当前环境上下文(如参数、返回值等), 使用bean直接通过beanName引用。@RabbitListener(queues = "#{test.queue.listen.name}")@SendTo("#{test.queue.reply.name}")publ...原创 2019-09-10 10:22:38 · 722 阅读 · 0 评论 -
Spring-Cloud例子(demo)
spring-cloud例子原创 2019-07-30 13:00:25 · 359 阅读 · 0 评论 -
SpringBoot+MyBatis(动态数据源/分布式事务XA(Atomikos))
快速集成工具,欢迎打脸说明适用环境:SpringBoot / MyBatis / Atomickos特性:多数据源,动态切换 多数据源,XA分布式事务支持(需引入Atomickos)仅支持Mybatis,采用AbstractRoutingDataSource实现数据源动态切换。 引入Atomickos分布式事务,可支持多数据源动态切换分布式事务。使用方法引入jar包依...原创 2019-07-19 18:53:02 · 2252 阅读 · 0 评论 -
sleuth结合zipkin实现链路追踪(三) 基于MQ 并存储链路信息到MySQL
本文基于上一篇(二) 做的改动。对于MQ收集到的链路信息,当Zipkin-Server作为MQ的消费者时,消费出的链路信息默认存储在内存中,当zipkin重启,该部分信息就会丢失,并且存在内存中有内存限制,默认条数好像是5后面忘了几个零。本文对zipkin稍作改造让他存到MySql中把链路信息做持久化。仅涉及到zipkin-server的改动Zipkin-Server改动Gradle...原创 2019-05-15 10:52:06 · 624 阅读 · 0 评论 -
sleuth结合zipkin实现链路追踪(二) 基于MQ
基于上一篇的基于Http的稍加改造。注册中心不需要做修改,跳过。Zipkin-Server改动如下:Gradle依赖: //作为eureka client依赖 implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client' //zipkin链路信息请...原创 2019-05-15 10:31:48 · 951 阅读 · 0 评论 -
sleuth结合zipkin实现链路追踪(一) 基于Http
参照sleuth-gitsleuth-guide环境Java 8 / Idea / Gradle4.10.2Spring-boot (2.1.3.RELEASE) / SpringCloud(Greenwich.RELEASE) / Zipkin-Server (2.12.9) / Sleuth (2.1.0.RELEASE)本文基于Eureka注册中心实现,spring-...原创 2019-05-14 20:32:38 · 972 阅读 · 0 评论 -
spring-cloud-stream-reactive响应式编程-发布订阅初步
spring-cloud-stream-reactive是spring-cloud-stream发布订阅消息驱动的响应式编程组件。提供异步非阻塞消息发布订阅。下面是一大坨说明=-= 通过output输出管道 和 input输入管道来发布和订阅消息,spring-cloud-stream的binder负责将管道适配到指定的消息中间件,并负责与消息中间件交互(相当于在管道和消息中间件之...原创 2019-05-08 10:44:23 · 1807 阅读 · 0 评论 -
Maven assembly打包包含git信息(maven-git-commit-id-plugin)
look(Spring-boot-assembly)look(maven-git-commit-id-plugin)下面只说一下简单的maven assembly插件打包包含git.properties信息的配置方式,更详细的配置请look上面。1. 直接在pom.xml -> build -> plugins加入: <plugin>...原创 2019-03-28 11:45:26 · 3100 阅读 · 0 评论 -
OAuth2认证授权(OAuth2Client-OAuth2Server)问题
OAuth2客户端:spring-boot-starter-security:2.1.2.RELEASEspring-security-oauth2-client:5.1.3.RELEASEOAuth2认证服务:spring-security-oauth2-autoconfigure:2.1.2.RELEASE具体代码就不一一贴出来了,自己下载看,如有操作姿势不对的地方请联系我...原创 2019-03-22 14:54:10 · 15941 阅读 · 0 评论 -
Spring-Webflux与Thymeleaf整合(Could not resolve view with name 'xxxx')
在Spring-Webflux整合Thymeleaf时,出现Could not resolve view with name ‘xxxx' 问题。个人方法有问题可以打脸,不想看过程直接拉到最后,文中涉及webflux依赖版本为2.1.2demo项目参考地址: 这是码云在项目整合Thymeleaf时,无法识别view name问题,debug查找原因。在 ServerResponseRe...原创 2019-03-08 17:53:36 · 3303 阅读 · 2 评论 -
Spring-Boot (三) 默认日志logback配置
Spring-Boot官方开发指导文档SpringBoot默认采用了logback日志系统,也支持Log4j2、JDK (Java Util Logging)、SLF4J、Commons Logging等。下面说一下logback日志系统在SpringBoot中的配置。如果日志需求简单,可以直接在application.properties中配置logback日志属性,否则可...原创 2017-11-10 15:28:33 · 5866 阅读 · 1 评论 -
Spring-Boot (四) cache/ehcache/redis-cache集成使用
Spring-Boot集成Cache。官文:当当当当缓存集成引入:spring cacheapplication.properties中的配置:spring-boot-starter-cache,在无其他第三方缓存实现依赖被引入情况下,默认使用spring cache,采用concurrentMap实现的缓存,在SpringBootApplication入口类上添加@Ena原创 2017-11-13 19:48:10 · 2833 阅读 · 1 评论 -
Spring-Redis基于Redis的MS消息服务
官网:messaging-redis原创 2017-11-14 14:07:57 · 522 阅读 · 0 评论 -
Spring-Boot (二) application.properties配置文件内容
Spring-Boot官方开发指导文档默认创建spring-boot项目后,会在resources目录下生成一个空的application.properties配置文件,springboot启动时加载该配置文件。application.properties(或者application.yml)中包含系统属性、环境变量、命令参数这类信息。下面简要说一部分spring-boot项目中a原创 2017-11-10 14:46:38 · 77665 阅读 · 6 评论 -
Spring-messaging (STOMP) @SendTo 与 @SendToUser的区别
@SendTo 与 @SendToUser 是Spring的STOMP协议中注解的标签。@SendTo会将接收到的消息发送到指定的路由目的地,所有订阅该消息的用户都能收到,属于广播。@SendToUser消息目的地有UserDestinationMessageHandler来处理,会将消息路由到发送者对应的目的地。默认该注解前缀为/user。如:用户订阅/user/hi原创 2017-11-29 13:57:55 · 14389 阅读 · 1 评论 -
SpringCloud 使用 (引用链接)
官方文献:点击打开链接中文博客:点击打开链接原创 2017-11-16 11:38:39 · 582 阅读 · 0 评论 -
SpringBoot Eclipse部署到tomcat
SpringBoot本身就是一个web项目,所有部署和其他web项目一样,add deploy到tomcat即可,但是部署成功后运行正常,发现tomcat指定的部署目录没有东西。如何修改下面说一下:默认情况SpringBoot部署位置为当前工作空间内,就是tomcat会使用编译到target内的class,不会将class文件copy一份到tomcat部署目录内,具体双击servers-> t原创 2017-12-15 13:37:21 · 5628 阅读 · 0 评论 -
Ehcache在集群时, 测试是否集群间能正常通讯
以下内容,个人总结, 只是项目中用到, 并且知识范围内做的修改, 不妥之处请打脸. 脸放这() 项目中使用的Ehcache做的缓存处理, 但是ehcache集群时, 判断是否能正常通讯只通过操作缓存后, 查询其他机器缓存是否正常清除或者添加有点黑盒的感觉, 看不见具体的缓存添加移除过程. 另外由于@Cacheable不支持的key不支持正则表达...原创 2018-03-16 10:56:29 · 701 阅读 · 0 评论 -
Spring4.3.3 WebSocket-STOMP协议集成 (2.1)-WebSocket-stomp子协议通讯小栗子
上一篇中说到:stomp - jsp之间的通讯,是通过stomp,socket.js/stomp.js实现的通讯。如果觉得写jsp或者js麻烦,或者不怎么会js,不是太懂,可以用webSocketStomp的client来测试。下面看代码: pom.xml依赖: org.glassfish.tyrus.bundles tyrus-s原创 2016-11-13 14:59:05 · 3907 阅读 · 2 评论 -
Spring4.3.3 WebSocket-STOMP协议集成 (2)-WebSocket-stomp子协议通讯小栗子
前面说到,使用websocket通讯,现在说说应用上的通讯,stomp - streaming / simple text oriented protocol. 流/简单 文本协议。应用方面,一般采用该种协议,是websocket协议的一个子协议,了解一下既可。 stomp协议,配置时注意一个地方,stomp协议使用的中继器(路由)或者叫消息中介,默认在configureMess原创 2016-11-13 14:36:22 · 5234 阅读 · 5 评论 -
Spring4.3.3 WebSocket-STOMP协议集成 (1.1)-WebSocket协议通讯小栗子
上一篇中说到:websocket - jsp之间的通讯,是通过websocket,socket.js实现的通讯。如果觉得写jsp或者js麻烦,或者不怎么会js,不是太懂,可以用webSocket的client来测试。下面看代码: websocket连接: /** * websocket连接 * @throws URISyntaxException * @t原创 2016-11-13 14:24:42 · 1719 阅读 · 0 评论 -
Spring4.3.3 WebSocket-STOMP协议集成 (1)-WebSocket协议通讯小栗子
简介(个人理解,有偏差请打脸):Spring4.0以后新增支持的websocket通讯协议,应用层采用stomp协议,消息处理,默认采用内存消息中继,就是将收到和要转发的消息存储在内存中,显然,服务器重启,消息就不存在了。另外支持外接中继组件,如activeMQ/RabbitMQ等消息服务器,产品的话,官网说,为了稳定性和拓展性等各种性推荐使用第三方消息中继(路由)。(中继/路由)就是一个叫法,显原创 2016-11-13 10:16:05 · 4690 阅读 · 1 评论 -
SpringBoot RedisTemplate( No qualifying bean)
No qualifying bean of type 'org.springframework.data.redis.core.RedisTemplate<java.lang.String, java.lang.Object>' available: expected at least 1 bean which qualifies as autowire candidate. ...原创 2018-07-13 12:03:25 · 5753 阅读 · 0 评论 -
SpringBoot(spring-data-redis)对事物的支持
官文:https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#redis:template虽然RedisTemplate提供了multi/exec/discard方法,但是按照理解的方式直接在代码前后调用multi和exec会抛出异常(ERR EXEC without MULTI). 下面说一下官方调用姿...原创 2018-07-13 15:05:48 · 1849 阅读 · 2 评论 -
SpringBootAdmin结合Eureka注册中心自定义监控路径的设置
监控管理依赖:implementation 'org.springframework.boot:spring-boot-starter-actuator'默认情况下监控根路径为:http://ip:port/actuator,port默认取server.port下面说一下自定义监控路径和端口的方法:(下面只贴出部分关键配置,其他配置参考别的地方的资料)微服务中添加如下配置:appl...原创 2019-02-22 21:00:08 · 3326 阅读 · 1 评论 -
Spring-Boot2.xx(Spring-security5.x) security.basic.enabled废弃deprecated
官网:不生成默认用户/禁用security方法Spring-Boot2.xx不生成默认用户需要提供AuthenticationManager, AuthenticationProvider or UserDetailsService.中的一个bean,这些bean可以在实现的WebSecurityConfigurerAdapter类中配置,配置任何一个bean可以不再自动生成默认用户。禁止...原创 2019-02-27 20:21:35 · 4496 阅读 · 0 评论 -
The bean 'oauth2ClientContext', defined in...(OAuth2ClientContext bean重复)
以下是在Spring-Cloud(Greenwich.RELEASE)集成OAuth2(2.3.3.RELEASE)过程中出现的一个问题,项目管理工具使用的gradle,学习用例产生的问题仅供参考(如学习有误,请及时打脸纠正嘴型)。gradle引入的Spring-Cloud-OAuth2依赖:implementation 'org.springframework.cloud:spring...原创 2019-02-28 13:42:08 · 4306 阅读 · 2 评论 -
Spring-Boot (一) Hello Wrold!
Spring-Boot是一套将原SpringMVC中配置文件整合替换为注解实现的一套框架,功能很强大,开发效率高,配置简单,目前使用还没有SpringMVC广泛,但是现在正在慢慢普及开。Spring-Boot主要还可以作为一套微服务框架,配合Spring-Cloud可以构建整合许多微小独立的服务应用为一套庞大复杂的应用,微服务的开发团队的成员数量比较少,而且可以用任何语言、任何框架进行开发。每个相原创 2017-11-09 14:45:27 · 453 阅读 · 0 评论