activemq

ActiveMQ

匿名 (未验证) 提交于 2019-12-02 23:55:01
---恢复内容开始--- 1,什么是消息中间件 在网络通讯中,http 协议默认采用的是同步的方式,也就意为者一个客户端发送请求,必须要等到服务器端处理完成,并且返回结果给客户端,客户端才能继续执行。 在网络延迟情况下,因为服务器端的不可达,客户端也会收到影响。 所以,为避免这种情况,就出现了消息中间件。就出现了面向消息的消息中间件。发送者将消息发送给消息中间件服务器,中间件服务器将消息存储在队列中,在合适的时候再发给接收者。 在这种模式下,发送者和接收者的声明周期不一定一致。 2,消息中间件有什么好处 消息队列中间件是分布式系统中重要的组件,主要解决 应用解耦 异步消息 流量削锋 等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 3,JMS规范 Java消息服务(Java Message Service),是一个Java平台中面向消息中间件的API 角色划分 1.提供者: 实现JMS规范的消息中间件服务器 (存放消息容器) 2.客户端:发送或接收消息的应用程序 3.生产者/发布者: 创建并发送消息的客户端(向消息容器存放消息) 4.消费者/订阅者:接收并处理消息的客户端 5.消息:应用程序之间传递的数据内容 6.消息模式:在客户端之间传递消息的方式

Spring整合JMS消息中间件

匿名 (未验证) 提交于 2019-12-02 23:52:01
1.1 (1)springjms_producer POM SpringJms activeMQ 2 src/main/resources spring applicationContext-jms-producer.xml "cn.itcast.demo" "targetConnectionFactory" "org.apache.activemq.ActiveMQConnectionFactory" "brokerURL" "tcp:// 192.168.25.135 :61616" "connectionFactory" "org.springframework.jms.connection.SingleConnectionFactory" "targetConnectionFactory" "targetConnectionFactory" "jmsTemplate" "org.springframework.jms.core.JmsTemplate" "connectionFactory" "connectionFactory" "queueTextDestination" "org.apache.activemq.command.ActiveMQQueue" "queue_text" 3 cn.itcast.demo @Component public class

四款消息队列的对比

匿名 (未验证) 提交于 2019-12-02 23:49:02
ActiveMQ和RabbitMQ的区别? 关于文章没多少内容,请进链接:https://blog.csdn.net/qq_30764991/article/details/80573352, https://blog.csdn.net/qq_30764991/article/details/80516961好多学习内容,请自行学习。关于赞赏码倒是挺大的,哈哈,这个你得感谢中国伟大的企业家教育家马云先生(JACK MA),这个是自愿的,你自己从支付宝那里赚取,你看或者不看它就在那里,且行且珍惜短暂的人生路。加油!every body!everyone!everystudent! 1. ActiveMQ/ApolloMQ   优点:老牌的消息队列,使用Java语言编写。对JMS支持最好,采用多线程并发,资源消耗比较大。如果你的主语言是Java,可以重点考虑。   缺点:由于历史悠久,历史包袱较多,版本更新很缓慢。集群模式需要依赖Zookeeper实现。最新架构的产品被命名为Apollo,号称下一代ActiveMQ,目前案例较少。 2. RocketMQ/Kafka   优点:专为海量消息传递打造,主张使用拉模式,天然的集群、HA、负载均衡支持。话说还是那句话,适合不适合看你有没有那么大的量。   缺点:所谓鱼和熊掌不可兼得,放弃了一些消息中间件的灵活性,使用的场景较窄

Spring Boot与ActiveMQ的集成

匿名 (未验证) 提交于 2019-12-02 23:48:02
  Spring Boot对JMS(Java Message Service,Java消息服务)也提供了自动配置的支持,其主要支持的JMS实现有ActiveMQ、Artemis等。本节中,将以ActiveMQ为例来讲解下Spring Boot与ActiveMQ的集成使用。   在Spring Boot中,已经内置了对ActiveMQ的支持。要在Spring Boot项目中使用ActiveMQ,只需在pom.xml中添加ActiveMQ的起步依赖即可。   添加ActiveMQ起步依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency>   创建消息队列对象:   在Application.java中编写一个创建消息队列的方法,其代码如下所示。 /** * 创建消息队列的方法 */ @Bean public Queue queue() { return new ActiveMQQueue("active.queue"); }   创建消息生产者:   创建一个队列消息的控制器类QueueController,并在类中编写发送消息的方法 package com.xc.springboot

ActiveMQ配置自动清除数据

匿名 (未验证) 提交于 2019-12-02 23:36:01
备注:(删除不活动的队列(Delete Inactive Destinations)) 一般情况下,ActiveMQ的Topic和Queue在不使用之后,可以通过web控制台或是JMX方式来删除掉。 当然,也可以通过配置,使得broker可以自动探测到无用的队列(一定时间内为空的队列)并删除掉,回收响应资源。 实现定时自动清理无效的Topic和Queue需要设置三个属性。 activemq.xml配置如下: 在<broker>节点上新增: inactiveTimoutBeforeGC:30000 不活动30秒后删除,默认为60秒 由于ActiveMQ使用时自动创建Destination,并且默认情况下不会删除掉,这种只增加不减少,导致在queue创建频繁的情况下,本功能非常有用。 文章来源: https://blog.csdn.net/yuyecsdn/article/details/90741565

ActiveMQ常见错误一: BeanFactory not initialized or already closed - call &#039;refresh&#039; before accessing beans

匿名 (未验证) 提交于 2019-12-02 23:36:01
ActiveMQ 启动时错误: Caused by: java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:171) at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1090) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:487) at org.apache.xbean.spring.context

关于activeMQ DefaultMessageListenerContainer会一直打印日志的问题

匿名 (未验证) 提交于 2019-12-02 23:34:01
我用的日志是log4j输出,而log4j的日志输出级别是DEBUG模式,这时候需要单独设置activeMQ的输出级别 在log4j.properties在设置log4j.logger.org.apache.activemq=INFO, stdout就行了 文章来源: https://blog.csdn.net/gwofuchen/article/details/90476562

使用Spring Jms连接ActiveMQ 重连问题的一点心得

不想你离开。 提交于 2019-12-02 22:25:25
我们现在做的Web项目遇到一个问题,项目启动时使用Failover方式连接某个ActiveMQ,brokerUrl类似 failOver:(tcp://xxx.xxx.xxx.xxx:61616),如果ActiveMQ启动正常,项目启动正常; 但如果ActiveMQ没有启动,项目将无法启动完成,一直卡在连接ActiveMQ阶段。 经过调查,发现是ActiveMQ提供的FailOver Transport方式导致的。 FailOver Transport有maxReconnectAttempts和startupMaxReconnectAttempts两个连接参数。 前者是FailOver Transport最大的重连次数,后者是启动阶段的最大重连次数,由于我们原先的连接这两个参数没有设置值,它们都沿用默认值-1,表示无限次重连,直到连接成功为止。这样,只要我们在启动项目时不启动ActiveMQ,FailOver Transport将一直尝试重连,导致后续程序加载无法进行,从而项目启动卡住。 找到了原因之后,我们在brokerUrl中设置startupMaxReconnectAttempts=2,形如: failOver:(tcp://xxx.xxx.xxx.xxx:61616)?startupMaxReconnectAttempts=2

linux下zookeeper、redis、activemq、solr、mysql、nginx启动、停止、查看状态命令

匿名 (未验证) 提交于 2019-12-02 22:06:11
一、zookeeper 首先进入zookeeper/bin目录下 *启动 ./zkServer.sh start *ֹͣ ./zkServer.sh stop *查看状态 ./zkServer.sh status 二、redis 1、 redis简洁安装 redis简洁安装步骤参考redis3.0简洁安装 进入redis/bin目录,执行命令: *启动 注:加上‘&’号后redis可以后台程序方式运行,启动后按CTRL+C不会退出redis ./redis-server & 或者修改redis.conf,把daemonize no修改成daemonize yes,保存退出;daemonize表示守护线程,开启后表示后台启动 ./redis-server ./redis.conf *ֹͣ ./redis-cli shutdown *查看状态 ps -ef |grep redis 2、如果已redis做成服务可参考如下启动方式: 注:将redis做成服务步骤:redis服务 在任意目录下执行如下命令: *启动 service redisd start *ֹͣ service redisd stop *查看状态 service redisd status 注:详细可参考博文https://www.cnblogs.com/gzdlh/p/8148644.html 三、activemq