springboot 应用功能集合

本文会持续更新……用到什么写什么……

本文中一些直接启动没配置说明的内容在纯净框架123集中有记录;

 

一、activemq

1> 打开pom.xml配置文件:

如下内容:

		<!-- activemq -->
		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-activemq</artifactId>
		</dependency>
		<dependency>
		    <groupId>org.messaginghub</groupId>
		    <artifactId>pooled-jms</artifactId>
		</dependency>

2> 打开src/main/resources中的application.properties配置文件:

如下内容:

#activemq
spring.activemq.broker-url=tcp://192.168.1.141:61616?wireFormat.maxInactivityDurationInitalDelay=30000
spring.activemq.user=admin
spring.activemq.password=admin
spring.activemq.packages.trusted=com.activemq.bean,java.lang
spring.activemq.pool.enabled=true
spring.activemq.pool.max-connections=50
spring.jms.pub-sub-domain=true
spring.jms.template.default-destination=active.default.destination

内容中192.168.1.141是我自己创建的linux虚拟机、mq服务已经启动

3> 打开springbootApplication启动类、新增注解:@EnableScheduling【定时器注解】

我是用定时器去跑业务的、大家也可以用发送请求的方式去调用mq;

4> 新增mq包、创建2个类:

类ScheduleController【定时器类】:

【备注:public static String CARGROUP_TOPIC_NAME = "ws"; 】其中ws就是存在mq服务器的key键名称;

如下内容:

package com.ws.mq;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduleController {

	public static String CARGROUP_TOPIC_NAME = "ws";
	int i = 0;

	@Autowired
	private JmsTemplate jmsTemplate;

	/**
	 * cron中的参数说明 分别表示秒(0-59),分(0-59),时(0-23),日期天/日(1-31),月份(1-12)
	 * 星期(1-7,1表示星晴天,7表示星期六),年(可以缺省。取值范围是1970-2099)
	 * 
	 * 
	 * 除此之外,还有一些特殊符号: 1)  *  *号,表示每,如果用*号占位,则表示每秒每分每时每天每月每年……这些   例如 0 30 8 * * ?
	 *  每天8:30执行 2)??问号,只能出现在日期和星期这两个位置,表示这个位置的值不确定,例如上个例子每天8:30点执行,
	 * 所以第六位星期的位置,我们是不需要关注的,就是不确定的值。如果给定一个确定的值,那么日期和星期就可能会出现矛盾。 3) - -减号,表示范围
	 * 例如12-15 可以表示12,13,14,15点执行 4), ,逗号,表示一个列表值,例如星期取值在1,3,5 就是在星期一三五执行 5) /
	 * /斜杠,例如0/1 开始值为0   步长为1 0/1 每分钟执行一次
	 * 
	 */
//	@Scheduled(cron="0 0/1 * * * ?")
//	public void start() {
//		System.out.println("每分钟执行一次aaaaaaaaaaaaaaaa");
//	}

	/**
	 * 每10秒执行一次
	 */
//	@Scheduled(fixedRate=10000)
//	public void task1() {
//		System.out.println("每10秒执行一次bbbbbbbbbbbbbbbb");
//	}

	/**
	 * 每30秒执行一次
	 */
	@Scheduled(fixedRate = 20000)
	public void task2() {
		i++;
		System.out.println("每20秒执行的第" + i + "次--------------------------------------------------");

		jmsTemplate.send(CARGROUP_TOPIC_NAME, new MessageCreator() {
			@Override
			public Message createMessage(Session session) throws JMSException {

				TextMessage textMessage = session.createTextMessage();
				textMessage.setText("第" + i + "次的值:ssss" + i);
				return textMessage;
			}
		});

	}

}

类ActiveMsgListener【监听器类】:

如下内容:

package com.ws.mq;

import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Service;

@Service
public class ActiveMsgListener {
	
	@JmsListener(destination = "ws")
	public void rctiveMsg(String message) {
		System.out.println("------监听到activemq的数据" + message);
	}

}

【备注:@JmsListener(destination = "ws") 】其中ws就是存在mq服务器的key键名称;

5> 启动springboot 连接mq:

连接之前mq服务器如图:

 

启动springboot定时器后如图:

 

此时springboot 连接 activemq 功能结束;

 

 

二、activemq

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值