公司有一个应用,多个线程activeMQ中取消息,随着业务的扩大,该机器占用的网络带宽越来越高。仔细分析发现,mq入队时并没有异常高的网络流量,仅仅在出队时会产生很高的网络流量。最终发现是spring的jmsTemplate与activemq的prefetch机制配合导致的问题。研究源码发现jmsTemplate实现机制是:每次调用receive
转载 2024-04-16 13:16:17
152阅读
目录一、MQ系列产品 二、为什么要使用mq三、mq的特点 四、mq的缺点五、下载,解压,启动,开端口,访问六、导入JMS依赖七、废话少说,上queue入门代码1.生产者 2.消费者3.监听器写法 4.消费者消费特点 八、topic九、JMS组成 JSM Message         消息
前言在说ActiveMQ之前,我们需要先了解一些概念,什么是消息,什么是消息队列?如果不考虑其他,在现实生活中两个人之间传递的信息可以理解为消息,同理在计算机中也可以理解为消息是两台计算机之间传递的数据单位,消息可以非常简单,例如只包含文本字符串; 也可以更复杂,可能包含嵌入对象。 消息被发送到队列中。 “消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时
转载 2024-04-08 14:08:09
190阅读
在使用RabbitMQ进行异步消息处理时,总是发现开启了消费者进程后,不管是开启1个还是多个,总是过一段时间,比如几分钟或10几分钟后,就自动断开了,导致queue中的消息大量堆积,无法处理。为了保证消费者一直持续高性能的运行,采用supervisor来监管,kill了就自动重启。其原理:rabbitmq在收到来自客户端的connection.tune-ok信令后,启用心跳检测,rabbitmq会
11-SpringBoot事件监听Java中的事件监听机制定义了以下几个角色:①事件:Event,继承 java.util.EventObject 类的对象②事件源:Source ,任意对象Object③监听器:Listener,实现 java.util.EventListener 接口 的对象SpringBoot 在项目启动时,会对几个监听器进行回调,我们可以实现这些监听器接口,在项目启动时完成
转载 2024-03-08 14:57:55
62阅读
Spring Boot内置tomcat实例创建Spring Boot 启动过程中调用ServletWebServerApplicationContext类的onRefresh方法ServletWebServerApplicationContext @Override protected void onRefresh() { super.onRefresh(); try { creat
这里写目录标题1. 前言2. springboot自带的11个监听器2.1 `org.springframework.boot.ClearCachesApplicationListener`2.2 `org.springframework.boot.builder.ParentContextCloserApplicationListener` 2.3 `org.springframework
转载 2024-10-19 10:09:49
191阅读
      在项目中会经常用到消息队列,现在我们来简单了解一下消息队列以加深对MQ的理解。      到目前接触了三种MQ,一个是最常见的RabbitMQ,剩下的两个是公司目前在用的Kafka和Swallow。这里详讲RabbitMQ,后边再带一下后者。的基本概念这里不赘述了,自行搜索。使用场景:可用来解藕繁复的业务。服务之间或服务内部的
转载 2024-05-17 10:52:48
252阅读
疑问:当我们流程流转到某一节点、某一连线或者流程开始和结束的时候我们怎么添加一些业务处理呢?这就是我们今天讨论的主题了。activiti的监听应用场景:在某一流程开始或者结束的时候,我们可以加入部分的业务处理,例如:在流程结束后,我们发邮件或者推送短信给我们的申请人,告诉他审批完成。又或者,当有审批人不同意该次请求的时候,我们也需要通知申请人,让其修改该申请。又或者该流程流转到某一节点,也就是需要
转载 2024-04-18 08:44:30
327阅读
Java 8Spring Boot v2.7.3Windows 11-- 前文初步介绍了 Spring Boot 中的线程,以及使用 @Async 时使用自定义的线程池。本文主要介绍Spring Boot项目中的线程池的配置以及默认线程池的创建等。 建立Web项目:webdemo依赖:spring-boot-starter-web、lombok端口:10000使用默认的 tom
转载 2023-07-21 15:13:54
240阅读
目录一、阐述目的与实现方式二、手动让子线程报错三、改造主线程四、改造子线程五、测试        在前面二十四章做了一个springboot使用EasyExcel和线程池实现多线程导入Excel数据的demo,在写时忘了做事务处理,评论区有个大佬提出来了,这章就对二十四章的代码做一个改造,完善多线程的事务处理。      &nb
转载 2024-06-05 15:17:18
82阅读
可能很多人都看到过一个线程设置的理论:CPU 密集型的程序 - 核心数 + 1I/O 密集型的程序 - 核心数 * 2不会吧,不会吧,真的有人按照这个理论规划线程线程和CPU利用率的小测试抛开一些操作系统,计算机原理不谈,说一个基本的理论(不用纠结是否严谨,只为好理解):一个CPU核心,单位时间内只能执行一个线程的指令那么理论上,我一个线程只需要不停的执行指令,就可以跑满一个核心的利用率。
什么是ActiveMQActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。主要特点:1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, P
转载 2024-10-08 13:47:00
40阅读
对于ActiveMQ消息的发送,原声的api操作繁琐,而且如果不进行二次封装,打开关闭会话以及各种创建操作也是够够的了。那么,Spring提供了一个很方便的去收发消息的框架,spring jms。整合Spring后,代码不仅变得非常优雅,而且易用性和扩展性更好。废话不多说,直接开搞。1. maven依赖org.apache.xbean xbean-spring 3.16 org.springfra
废话前言:代码环境:WIN7+IDEA+JAD1.8+Spring Boot 2.0 首先说一下我为什么使用事件,比如现在创建一个订单但是我创建成功后要给客户发送一条短信和一个邮件提醒,本身没创建订单一系列操作就需要很多时间但是我还要去发送短信和邮件,期间还要调用其它服务来实现耗时比较长达不到客户的满意度,所以使用的方式可以说一下: 1:activeMQ(异步) 2:使用spring事件监听(同步
转载 2024-03-27 17:32:53
116阅读
重要参数maxThread:tomcat的maxThread指的是处理业务的最大线程,位于Connector组件的层次,在springboot中由server.tomcat.max-threads参数决定,默认是200acceptCount:当前线程达到maxThread的时候,等待队列的最大长度,默认为100tomcat接收请求创建线程的过程如果当前线程还没有达到maxThread,则创建
Spring 监听/观察者 模式 (异步启用)eg业务场景: 用户下单,订单创建成功,需要发送邮件通知用户,为用户的订单创建行为增加积分,短信通知等等(订单主体,订单商品附属表信息,订单发货信息,订单分期支付信息,订单优惠信息,支付优惠信息)一系列的动作的处理。事件 Event(发送邮件,创建订单商品附属表信息,订单发货信息,订单分期支付信息,订单优惠信息,支付优惠信息 等等)可以理解为事件;在关
转载 2023-12-25 07:30:10
170阅读
前言前两天面试的时候,面试官问我:一个ip发请求过来,是一个ip对应一个线程吗?我突然愣住了,对于SpringBoot如何处理请求好像从来没仔细思考过,所以面试结束后就仔细研究了一番,现在就来探讨一下这个问题。正文我们都知道,SpringBoot默认的内嵌容器是Tomcat,也就是我们的程序实际上是运行在Tomcat里的。所以与其说SpringBoot可以处理多少请求,到不如说Tomcat可以处理
在谈事件这个内容之前,不得不先介绍个很重要的知识: 接口一. 接口 接口是什么呢? 其实我认为可以看作一个特殊的类,它的编译文件还是class文件,只是它与普通的类还是有差异的。 接口的关键字是interface不同于Class 接口的方法全部是抽象方法。我们知道,有抽象方法和普通方法的被叫做抽象类,而全部都是抽象方法不具有普通方法的便是接口了!! 此外,接口是不能在里面new的,不同于类,而接口
Activemq 是由Apache出品的一款开源消息中间件,旨在为应用程序提供高效、可扩展、稳定、安全的企业级消息通信。它的设计目标是提供标准的、面向消息的、多语言的应用集成消息通信中间件。ActiveMQ 实现了JMS1.1并提供了很多附加的特性,比如JMX管理、主从管理、消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化、消息队列监控等。 一、基本概念:(1)消息传送模型*
  • 1
  • 2
  • 3
  • 4
  • 5