自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 【RocketMQ】消息过滤-SQL过滤

要实现SQL过滤,需要先修改消息队列的配置文件在broker的配置文件 添加enablePropertyFilter=true生产者要在消息中添加属性:message.putUserProperty("id",i+"");public class Producer { public static void main(String[] args) throws MQClien...

2020-03-18 12:41:17 1061

原创 【RocketMQ】消息过滤-TAG标签过滤

import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;import org.apache.rocketmq.client.consumer.listener.C...

2020-03-18 12:35:26 2965

原创 【RocketMQ】顺序消费消息

Rocket消息的顺序消费是局部的顺序消费举个例子: 同一笔订单,需要按照顺序处理 1.下单 2.支付 3.发货 4.确认收货 5.评价 但是不同的订单,则不需要按照顺序处理,不需要第一笔订单评价完成,才能处理第二笔订单的下单有两点一个MQ节点一般有4个队列,生产者需要将同一个订单发送到的所有信息(下单...

2020-03-18 12:33:24 317

原创 【RocketMQ】消息消费-广播

广播:同一条消息,所有监听该消息的消费者都要去消费该消息public class Consumer { public static void main(String[] args) throws Exception { DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("group1"); ...

2020-03-18 12:20:57 325

原创 【RocketMQ】消息消费-负载均衡

import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;import org.apache.rocketmq.client.consumer.listener.Me...

2020-03-17 11:16:42 326

原创 【RocketMQ】发送事务消息

发送事务消息的实现要使用TransactionMQProducer作为消息的生产者, 生产者需要注册TransactionListener executeLocalTransaction 是执行本地事务的方法 checkLocalTransaction 是回查事务状态的 发送消息的时候使用sendMessageInTransaction()方法事务消息的流程生产者发送...

2020-03-17 11:10:09 494

原创 【RocketMQ】发送批量消息

producer.send()方法支持Collection<Message>类型的参数import org.apache.rocketmq.client.exception.MQBrokerException;import org.apache.rocketmq.client.exception.MQClientException;import org.apache.rock...

2020-03-17 10:56:52 603

原创 【RocketMQ】发送延迟消息

和发送同步消息一样,只不过消息要设置下延迟时间级别import org.apache.rocketmq.client.exception.MQBrokerException;import org.apache.rocketmq.client.exception.MQClientException;import org.apache.rocketmq.client.producer.Def...

2020-03-17 10:55:03 352

原创 【RocketMQ】发送异步消息

import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.client.producer.SendCallback;import org.apache.rocketmq.client.producer.SendResult;import org.apache.rocketm...

2020-03-17 10:52:50 409

原创 【RocketMQ】发送单向消息

import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.common.message.Message;import java.util.concurrent.TimeUnit;/** * 发送单向消息 */public class OneWayProducer {...

2020-03-17 10:13:08 368

原创 【RocketMQ】发送同步消息 

import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.client.producer.SendResult;import org.apache.rocketmq.common.message.Message;/** * 发送同步消息 */public class...

2020-03-17 10:10:16 598

原创 【RocketMQ】 集群搭建

一、rocketMQ集群架构图(多住多从)producer:消息发送者consumer:消息消费者Broker:存储和传输信息NameServer:管理broker,consumer,producer主从同步方式 同步(brokerRole=SYNC_MASTER) ...

2020-03-17 00:53:32 195

原创 【RocketMQ】 消息队列作用以及带来的问题

消息队列的作用流量削峰 应用解耦 数据分发带来的问题消息的重复消费 消息丢失 消息的消费顺序 一致性问题。 B,C,D三台服务器消费同一个消息,BC成功,D失败...

2020-03-17 00:15:04 330

原创 RocketMQ

Rocketmq 集群搭建 同步主从 异步主从 发送消息 发送同步消息 发送异步消息 发送单向消息 发送延迟消息 发送批量消息 发送事务消息 消息消费 顺序消费消息 消息过滤 TAG标签过滤 ...

2020-03-17 00:04:49 178

原创 【Java基础】cglib代理

一个实现类public class App { public static void main(String[] args) { SomeBussiness someBussiness = (SomeBussiness)Interceptor.createProxy(SomeBussiness.class); someBussiness.doSomet...

2020-02-19 14:40:14 120

原创 【Java基础】JDK动态代理

一个接口public interface SomeInterface { void doSomething();}一个实现类public class SomeImpl implements SomeInterface { @Override public void doSomething() { System.out.println("So...

2020-02-19 14:25:23 146

原创 compareAndSwap理解

java.util.concurrent.atomic.AtomicInteger#compareAndSetpublic final boolean compareAndSet(int expect, int update) { return unsafe.compareAndSwapInt(this, valueOffset, expect, update);}stati...

2020-02-19 14:02:40 821

原创 【java基础】 callable分析

首先看一个demopublic class App { public static void main(String[] args) throws Exception { //创建一个Callable的对象 Callable<Integer> callable = () -> { int i=0; ...

2020-02-19 13:37:56 253

原创 【java基础】 threadLocal源码分析

先看下面一段代码public class App { private static final ThreadLocal<Integer> tnum = ThreadLocal.withInitial(()->0); private static Integer num =0; public static void main(String[] arg...

2020-02-19 12:41:38 219

原创 Java基础

ThreadLocal

2020-02-19 11:43:45 165

原创 mybatis 插件PageHelper源码分析(结合springboot)

首先看下com\github\pagehelper\pagehelper-spring-boot-autoconfigure\1.2.10\pagehelper-spring-boot-autoconfigure-1.2.10.jar!\META-INF\spring.factories这个文件,这个是springboot自动配置,指向一个配置类# Auto Configureorg....

2020-02-18 20:51:40 277

原创 mybatis BaseExecutor的query()方法

上一篇说到CachingExecutor的缓存管理,这一篇的话看下BaseExecutor的query()方法

2020-02-18 18:15:44 1447

原创 mybatis CachingExecutor的query()方法

org.apache.ibatis.executor.CachingExecutor#query() 先从MappedStatement中获取缓存对象(在xml文件中配置的cache的对象,这里即EhcacheCache类的对象)<cache type="org.mybatis.caches.ehcache.EhcacheCache"></cache>...

2020-02-18 13:45:31 761

原创 mybatis 执行接口的方法

看下执行下面这行代码的时候,都发生了什么User user = userMapper.getById(1L);在上一篇中,获取mapper其实是以org.apache.ibatis.binding.MapperProxy为InvocationHandler创建代理对象。那么执行接口的方法的时候,也应该是执行MapperProxy的invoke方法org.apache.ibatis....

2020-02-18 13:01:53 386

原创 mybatis 获取对应的mapper

看下执行下面这行代码的时候,都发生了什么UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

2020-02-15 12:48:29 514

原创 mybatis 创建Sqlsession

看下执行下面这行代码的时候,都发生了什么SqlSession sqlSession = sqlSessionFactory.openSession();第一步:org.apache.ibatis.session.defaults.DefaultSqlSessionFactory#openSession()public SqlSession openSession() { r...

2020-02-14 21:25:06 1173

原创 mybatis源码分析

如下代码所示。大概分为这么几步创建SqlSessionFactory 打开SqlSession 获取对应的mapper 执行对应的方法 关闭SqlSessionpublic class App { public static void main(String[] args) throws IOException { String resource = "m...

2020-02-14 20:46:55 140

原创 sping AOP四 advisorsCache的初始化

上一篇文章中讲到:buildAspectJAdvisors() 。从advisorsCache中获取对应的Advisor所以这次再看下advisorsCache.debug的过程比较艰辛,就不再重复debug的步骤了,直接说获取初始化的过程吧1.首先是,创建Bean的过程在refresh();方法中开始执行finishBeanFactoryInitialization();时,开始...

2020-02-12 13:21:09 233

原创 sping AOP三 获取代理对象的advice和advisor

1.AnnotationAwareAspectJAutoProxyCreator作为一个BeanPostProcessor,在postProcessAfterInitialization()中时执行了AbstractAutoProxyCreator.wrapIfNecessary();2.在执行wrapIfNecessary的时候,创建代理对象之前,首先要通过getAdvicesAndAdvi...

2020-02-11 13:56:44 421

原创 sping AOP二 代理对象创建 AnnotationAwareAspectJAutoProxyCreator分析

先看下类图吧继承抽象AbstractAutoProxyCreator,其中对BeanPostProcessor.postProcessAfterInitialization()的实现也是由AbstractAutoProxyCreator来实现的。那下面就简单看下这个方法的实现吧AbstractAutoProxyCreator.postProcessAfterInitialization...

2020-02-10 16:16:34 114

原创 sping AOP一 动态代理对象创建时机

SomeBusiness.javapackage com.springl.aop;public class SomeBusiness { public void dealSomeBusiness(Long userId){ System.out.println("userId"+userId+"--access------>SomeBusiness----...

2020-02-10 15:29:49 694

原创 sping @Bean创建对象六 @Autowired注解的处理

SomeService.javapackage com.springl.autowired;public class SomeService { public void doSomething(){ System.out.println("SomeService------>doSomething"); }}SomeController.ja...

2020-02-09 16:03:11 275

原创 sping @Bean创建对象五 init方法的执行以及其初始化

//执行BeanPostProcessor.postProcessBeforeInitialization()wrappedBean = applyBeanPostProcessorsBeforeInitialization(wrappedBean, beanName);//执行init方法invokeInitMethods...

2020-02-09 14:29:25 686

原创 sping @Bean创建对象四 BeanPostProcessor方法的执行以及BeanPostProcessor的初始化

继续上一篇说创建对象之后会执行initializeBean(beanName, exposedObject, mbd); 具体内容如下 //执行BeanPostProcessor.postProcessBeforeInitialization()wrappedBean = applyBeanPostProcessorsBeforeInitialization(...

2020-02-09 13:31:05 444

原创 sping @Bean创建对象三 BeanPostProcessor和init方法

针对第一篇记录的扩展--->BeanPostProcessor以及init新增:SomePostProcessor.javapackage com.springl.bean;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.BeanPo...

2020-02-08 16:07:41 349

原创 sping @Bean创建对象二 类定义信息的注册

13.执行.instantiateUsingFactoryMethod(beanName, mbd, explicitArgs);------->ConstructorResolver//执行到这里,//factoryMethodToUse来自于类定义信息 //factoryMethodToUse =(Method)mbd.resolvedConstructorOrFacto...

2020-02-08 15:36:39 295

原创 sping @Bean创建对象一 对象的实例化

一个简单的JavaBean==>Something.Javapackage com.springl.bean;import java.util.Date;public class Something { private Integer id; private Date createTime; private Date updateTime; ...

2020-02-08 12:11:42 516

转载 创建docker-machine

1.看下docker的版本和win10的版本。之前遇到一些问题,创建的时候一直停在了waiting for hos to start。看到以下内容的时候我就换了台电脑。也有可能不是这个问题。For example, if you are trying to run Docker 18.09, then you need Windows 10 version 1809 or higher....

2019-05-26 10:52:59 604

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除