• 等级
  • 870595 访问
  • 105 原创
  • 4 转发
  • 5377 排名
  • 267 评论
  • 634 获赞

Spring AMPQ自定义线程池

在项目中遇到了一个棘手的问题。当多个消费者同时执行任务的时候出现了资源争用的问题。日志如下19-03-1913:00:17.470[SimpleAsyncTaskExecutor-1]INFOc.w.m.h.AbstractMessageHandler-开始验证消息:f3eaa048d8984c2aa69b52a8cdece1e919-03-1913:00:17.470[Si...

2019-03-19 17:46:12

设计原则之-接口隔离原则(Interface Segregation Principle, ISP)

定义Clientsshouldnotbeforcedtodependuponinterfacesthattheydon’tuse.客户端不应该依赖那些它不需要的接口核心思想记得几年前有一位很厉害的前辈说过:软件设计是什么,就是“分离关注点,消除重复”。这句话一直影响这我,而我做软件设计也是朝着这两个方向努力。而接口隔离原则最核心的就是拆分,即分离关注点。实例...

2019-03-18 16:52:13

设计原则之-依赖倒置原则(Dependency Inversion Principle, DIP)

定义High-levelmodulesshouldnotdependonlow-levelmodules.Bothshoulddependonabstractions.Abstractionsshouldnotdependondetails.Detailsshoulddependonabstractions.高层模块不应该依赖于低层模块,两者...

2019-03-18 16:51:21

设计原则之-里氏替换原则(Liskov's Substitution Principle,LSP)

定义里氏替换原则是BarbaraLiskov1与1988年提出来的。原文是:Whatiswantedhereissomethinglikethefollowingsubstitutionproperty:IfforeachobjectoftypeSthereisanobjectoftypeTsuchthatforallprogram...

2019-03-18 16:50:21

设计原则之-开闭原则(Open Close Principle, OCP)

定义Softwareentities(classes,modules,functions,etc.)shouldbeopenforextension,butclosedformodification软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。核心思想开闭原则的核心思想就是抽象。开闭原则的主要目的就是为了让我们在不修改源码的情况下来扩展系统的功能。...

2019-03-18 16:48:57

设计原则之--单一职责原则(Single Responsibility Principle, SRP)

1、核心思想定义Aclassshouldhaveonlyonereasontochange.(就一个类而言,应该仅有一个引起它变化的原因)每一个职责都是变化的一个轴线(anaxisofchange)。当需求变化时,该变化会反映为类的职责变化。如果一个类承担了多于一个的职责,那么引起它变化的原因就会有多个。如果一个类承担的职责过多,就等于把这些职责耦合在了一起...

2019-02-25 17:17:38

设计模式之单例模式--懒汉模式与饿汉模式(2)

上一章讲了单例模式的基本实现方式,但是在多线程环境下,这种方式是存在严重的问题的。所以本章我们就来解决多线程环境的问题。懒汉模式利用方法锁实现一种方式是在获取实例的方法上加锁//代码清单1publicclassLazyInstantiationConfigUtils{privatestaticLoggerlogger=LoggerFactory.getLo...

2019-02-22 16:10:39

设计模式之单例模式--简单单例模式(1)

使用场景:需要在系统中确保类只有一个实例,一般这种类的创建都会比较占用系统资源。比如配置文件初始化,将配置文件中的数据读取到类中,通常需要耗费一定的系统资源,而且配置文件中的内容一般都是不变的,修改完配置文件一般都会要求重启系统。所以这种类最适合使用单例模式简单单例模式实现/***简单的单例模式**@author大扑棱蛾子*@since1.0.0*/pu...

2019-02-22 16:09:40

AngularJs给自定义组件添加样式不起作用怎么办?

首先看一个自定义组件panel.component.html<divclass="app-panel"[style]="style"><ng-content></ng-content></div>panel.component.tsimport{Component,Input,OnInit}from'@angu...

2019-02-16 10:34:30

no applicable action for [springProfile], current ElementPath is [[configuration][springProfile]]

Spring启动时logback打印出很多日志,还有错误信息09:00:16,520|-INFOinch.qos.logback.classic.LoggerContext[default]-CouldNOTfindresource[logback.groovy]09:00:16,520|-INFOinch.qos.logback.classic.LoggerConte...

2018-12-06 09:04:45

spring-amqp手动停止RabbitListener

前言在处理某些业务时,我们可能需要手动停止监听。让消息队列依然可以接收消息,但是先不处理消息。等业务处理完成后再开启监听,处理队列中的消息。所以这里就需要用到RabbitListenerEndpointRegistry中的start和stop方法。停止所有队列@AutowiredprivateRabbitListenerEndpointRegistryrabbitListenerEnd...

2018-10-20 15:44:45

Using ribbon and feign without eureka or both

需求描述有三个服务A、B、C,A和B在一个注册中心,C是一个独立的SpringBoot服务。关系如下即服务B需要同时通过注册中心访问A,和不通过注册中心访问C。使用RestTemplate也可以做到,但是这不是我们想要的效果。既然已经集成了feign这个强大的客户端工具,就必须用起来啊。springcloud官方文档(http://cloud.spring.io/spring-cloud...

2018-10-18 14:22:18

在Spring Boot中启用Http2.0

HTTP2.0特性通俗易懂篇:https://www.cnblogs.com/yingsmirk/p/5248506.html深入了解篇:https://www.jianshu.com/p/67c541a421f9使用HTTP/2的几点注意事项要使用HTTP/2需要注意以下几点虽然HTTP/2没有明确要求必须使用TLS,但当前几乎所有浏览器均只支持HTTP/2OverTLS。...

2018-09-28 11:47:56

对数公式推导过程

积、商、幂的对数logaMN=logaM+logaNlogaMN=logaM+logaNlog_{a}MN=log_{a}M+log_{a}N的推导过程如下。证明:设logaM=p,logaN=q则ap=M,aq=N,代入logaMN,得logaMN=loga(ap⋅aq)=logaap+q=p+q=logaM+logaN所以:logaMN=logaM+logaN证明:设log...

2018-06-15 11:05:06

MySQL数据库备份脚本

备份脚本如下:#!/bin/bashBACKUP_PATH=/opt/backup/<backup_dir>MYSQL_DUMP=/usr/bin/mysqldumpBACKUP_TIME=$(date+%Y%m%d.%H%M)BACKUP_DB=<db_name>DB_USER=<username>DB_PAWD=<password&g...

2018-05-17 18:15:30

基于SpringAOP实现数据权限控制

基于SpringAOP实现数据权限控制在此主要是实现对用户查询数据返回字段的控制。比如一个表格有A,B,C,D,E五列,用户U1只能查看A,B,C三列。此文章讲述的内容并不能实现在查询时仅查询A,B,C三列,而是在查询后做过滤,将D,E两列的值置为空。本文只启到抛砖引玉的作用,代码并没有完全实现。只写了核心部分。如果大家用到的话,还需要根据自己项目的权限体系完善。准备工作首

2018-01-05 19:24:14

SpringBoot集成SpringSecurity+CAS

本文主要讲述如何通过SpringSecurity+CAS在springboot项目中实现单点登录和单点注销的功能。参考内容有SpringSecurity官方文档中的1.5.JavaConfiguration2.32.CASAuthentication

2017-09-22 11:06:37

ActiveMQ开启用户认证及消息持久化到数据库功能

1、开启用户认证机制ActiveMQ默认是不开启用户认证机制的,如果需要开启则需要修改配置。1.首先打开activemq.xml,在broker下增加<plugins><jaasAuthenticationPluginconfiguration="activemq"/><authorizationPlugin><map><autho

2017-04-14 16:05:02

17、Spring实战:利用AOP实现日志监控

本例用利用AOP来实现记录用户登录的功能。登录业务这里我们简单写,在实际使用时与此类似//用户Beanpackagecom.codestd.springstudy.log;publicclassUser{privateStringusername;privateStringpassword;publicUser(){super();

2016-05-22 17:56:03

16、在bean中获取Resource

本章我们讲如何在Bean中获取Resource,就是在Spring中如何向我们的Bean注入Resource。下面我们来实现这个功能。编写Bean这里我们实现一个工具类,用于读取Properties文件并提供一个方法用于根据key获取对应的值。packagecom.codestd.springstudy.resource;importjava.util.Properties;importor

2016-05-22 17:55:29

博客专家

大扑棱蛾子

合抱之木,生于毫末;百尺之台,起于垒土;千里之行, 始于足下。更多精彩文章请移步我的个人博客:http://jaune162.com ...展开 收起
关注
  • 互联网·电子商务/架构师
  • 中国 河南省 郑州市
奖章
  • 专栏达人