接上一篇:企业实战05_SSM整合ActiveMQ支持多种类型消息https://blog.csdn.net/weixin_40816738/article/details/100572129
1、StreamMessage java原始值数据流
2、MapMessage 键值对
3、TextMessage 字符串
4、ObjectMessage 一个序列化的java对象
5、BytesMessage 一个字节的数据流
此文章为企业实战的展示操作,如果有地方不懂请留言,我看到后,会进行统一回复,让我们一起进步,为自己加油!!!
项目名 | 项目说明 |
---|---|
ssm-activemq | 父工程,统一版本控制 |
producer | 生产者 |
consumer | 消费者 |
base-pojo | 公共实体类 |
base-dao | 公共接口,数据库连接 |
文章目录
- 六、消费者consumer
- 6.1. 点对点场景
- 6.1.1. 创建String类型监听
- 6.1.2.创建List类型监听
- 6.1.3. 创建Map类型监听
- 6.1.4.创建obj类型监听
- 6.2. 发布订阅场景
- 6.2.1. 创建String类型监听
- 6.2.2. 创建List类型监听
- 6.2.3. 创建Map类型监听
- 6.2.4. 创建Obj类型监听
- 6.3. 在resources目录下创建spring文件夹
- 6.3.1. 在spring文件夹下创建applicationContext-service.xml
- 6.3.2. 在spring文件夹下创建applicationContext-trans.xml
- 6.3.3. 在spring文件夹下创建spring-queue-consumer.xml
- 6.3.4. 在spring文件夹下创建spring-topic-consumer.xml
- 6.3.5. 在spring文件夹下创建spring-mvc.xml
- 6.4. 在resouces文件夹下创建log4j.properties
- 6.5. 在resouces文件夹下创建log4j.xml
- 6.6. web.xml
- 6.4 @Test点对点测试
- 6.4.1 字符串类型消息
- 6.4.2 List类型消息
- 6.4.3 Map类型消息
- 6.4.4 Obj类型消息
- 6.5 @Test发布订阅测试
- 6.5.1 字符串类型消息
- 6.5.2 List类型消息
- 6.5.3 Map类型消息
- 6.5.4 Obj类型消息
- 6.6 @Test数据库联通测试
六、消费者consumer
6.1. 点对点场景
6.1.1. 创建String类型监听
package com.gblfy.mq.listener;import org.springframework.stereotype.Component;import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;/*** 监听类(用于生成网页)** @author Administrator*/
@Component
public class QueueStrListener implements MessageListener {//@Autowired//private XxService xxService;@Overridepublic void onMessage(Message message) {TextMessage textMessage = (TextMessage) message;try {String text = textMessage.getText();System.out.println("接收到消息:" + text);//此处进行插入数据库操作//TODO} catch (JMSException e) {e.printStackTrace();}}
}
6.1.2.创建List类型监听
package com.gblfy.mq.listener;import org.springframework.stereotype.Component;import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;/*** 监听类(用于生成网页)* @author Administrator**/
@Component
public class QueueListListener implements MessageListener {//@Autowired//private XxService xxService;@Overridepublic void onMessage(Message message) {TextMessage textMessage=(TextMessage)message;try {String text = textMessage.getText();System.out.println("接收到消息:"+text);//此处进行插入数据库操作//TODO} catch (JMSException e) {e.printStackTrace();}}}
6.1.3. 创建Map类型监听
package com.gblfy.mq.listener;import org.springframework.stereotype.Component;import javax.jms.*;/*** 监听类(用于生成网页)** @author Administrator*/
@Component
public class QueueMapListener implements MessageListener {//@Autowired//private XxService xxService;@Overridepublic void onMessage(Message message) {MapMessage mapMessage = (MapMessage) message;try {String mapKey = mapMessage.getString("mapKey");System.out.println("接收到消息:" + mapKey);//此处进行插入数据库操作//TODO} catch (JMSException e) {e.printStackTrace();}}
}
6.1.4.创建obj类型监听
package com.gblfy.mq.listener;import com.gblfy.mq.entity.User;
import org.springframework.stereotype.Component;import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;/*** 监听类(用于生成网页)** @author Administrator*/
@Component
public class QueueObjListener implements MessageListener {//@Autowired//private XxService xxService;@Overridepublic void onMessage(Message message) {ObjectMessage objectMessage = (ObjectMessage) message;try {User user = (User) objectMessage.getObject();System.out.println("接收到消息:" + user.toString());//此处进行插入数据库操作//TODO} catch (JMSException e) {e.printStackTrace();}}}
6.2. 发布订阅场景
6.2.1. 创建String类型监听
package com.gblfy.mq.listener;import org.springframework.stereotype.Component;import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;/*** 监听类(用于生成网页)** @author Administrator*/
@Component
public class TopicStrListener implements MessageListener {//@Autowired//private XxService xxService;@Overridepublic void onMessage(Message message) {TextMessage textMessage = (TextMessage) message;try {String text = textMessage.getText();System.out.println("接收到消息:" + text);//此处进行插入数据库操作//TODO} catch (JMSException e) {e.printStackTrace();}}
}
6.2.2. 创建List类型监听
package com.gblfy.mq.listener;import org.springframework.stereotype.Component;import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;/*** 监听类(用于生成网页)* @author Administrator**/
@Component
public class TopicListListener implements MessageListener {//@Autowired//private XxService xxService;@Overridepublic void onMessage(Message message) {TextMessage textMessage=(TextMessage)message;try {String text = textMessage.getText();System.out.println("接收到消息:"+text);//此处进行插入数据库操作//TODO} catch (JMSException e) {e.printStackTrace();}}}
6.2.3. 创建Map类型监听
package com.gblfy.mq.listener;import org.springframework.stereotype.Component;import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.MessageListener;/*** 监听类(用于生成网页)** @author Administrator*/
@Component
public class TopicMapListener implements MessageListener {//@Autowired//private XxService xxService;@Overridepublic void onMessage(Message message) {MapMessage mapMessage = (MapMessage) message;try {String mapKey = mapMessage.getString("mapKey");System.out.println("接收到消息:" + mapKey);//此处进行插入数据库操作//TODO} catch (JMSException e) {e.printStackTrace();}}
}
6.2.4. 创建Obj类型监听
package com.gblfy.mq.listener;import com.gblfy.mq.entity.User;
import org.springframework.stereotype.Component;import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;/*** 监听类(用于生成网页)** @author Administrator*/
@Component
public class TopicObjListener implements MessageListener {//@Autowired//private XxService xxService;@Overridepublic void onMessage(Message message) {ObjectMessage objectMessage = (ObjectMessage) message;try {User user = (User) objectMessage.getObject();System.out.println("接收到消息:" + user.toString());//此处进行插入数据库操作//TODO} catch (JMSException e) {e.printStackTrace();}}}
6.3. 在resources目录下创建spring文件夹
6.3.1. 在spring文件夹下创建applicationContext-service.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- spring自动去扫描base-pack下面或者子包下面的java文件--><!--管理Service实现类--><context:component-scan base-package="com.gblfy.mq.mapper,com.gblfy.mq.listener"/>
</beans>
6.3.2. 在spring文件夹下创建applicationContext-trans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"><!-- 事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><!-- 数据源 --><property name="dataSource" ref="dataSource" /></bean><!-- 通知 --><tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><!-- 传播行为 --><tx:method name="save*" propagation="REQUIRED" /><tx:method name="insert*" propagation="REQUIRED" /><tx:method name="add*" propagation="REQUIRED" /><tx:method name="create*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="find*" propagation="SUPPORTS" read-only="true" /><tx:method name="select*" propagation="SUPPORTS" read-only="true" /><tx:method name="get*" propagation="SUPPORTS" read-only="true" /></tx:attributes></tx:advice><!-- 切面 --><aop:config><aop:advisor advice-ref="txAdvice"pointcut="execution(* com.gblfy.mq.*.*(..))" /></aop:config>
</beans>
6.3.3. 在spring文件夹下创建spring-queue-consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--公共部分 Start--><!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供--><bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"><property name="brokerURL"value="tcp://192.168.43.156:61616"/><property name="trustAllPackages" value="true"/><property name="userName" value="admin"/><property name="password" value="admin"/></bean><!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory --><bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory"><!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory --><property name="targetConnectionFactory" ref="targetConnectionFactory"/></bean><!--公共部分 End--><bean id="queueStrListener" class="com.gblfy.mq.listener.QueueStrListener"/><bean id="queueMapListener" class="com.gblfy.mq.listener.QueueMapListener"/><bean id="queueListListener" class="com.gblfy.mq.listener.QueueListListener"/><bean id="queueObjListener" class="com.gblfy.mq.listener.QueueObjListener"/><bean id="QUEUE_Str" class="org.apache.activemq.command.ActiveMQQueue"><constructor-arg value="QUEUE_Str"/></bean><bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"/><property name="destination" ref="QUEUE_Str"/><property name="messageListener" ref="queueStrListener"/></bean><bean id="QUEUE_Str_LIST" class="org.apache.activemq.command.ActiveMQQueue"><constructor-arg value="QUEUE_Str_LIST"/></bean><bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"/><property name="destination" ref="QUEUE_Str_LIST"/><property name="messageListener" ref="queueListListener"/></bean><bean id="QUEUE_OBJ" class="org.apache.activemq.command.ActiveMQQueue"><constructor-arg value="QUEUE_OBJ"/></bean><bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"/><property name="destination" ref="QUEUE_OBJ"/><property name="messageListener" ref="queueObjListener"/></bean><bean id="QUEUE_MAP" class="org.apache.activemq.command.ActiveMQQueue"><constructor-arg value="QUEUE_MAP"/></bean><bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"/><property name="destination" ref="QUEUE_MAP"/><property name="messageListener" ref="queueMapListener"/></bean>
</beans>
6.3.4. 在spring文件夹下创建spring-topic-consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--公共部分 Start--><!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供--><bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"><property name="brokerURL"value="tcp://192.168.43.156:61616"/><property name="trustAllPackages" value="true"/><property name="userName" value="admin"/><property name="password" value="admin"/></bean><!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory --><bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory"><!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory --><property name="targetConnectionFactory" ref="targetConnectionFactory"/></bean><!--公共部分 End--><bean id="TOPIC_Str" class="org.apache.activemq.command.ActiveMQTopic"><constructor-arg value="TOPIC_Str"/></bean><bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"/><property name="destination" ref="TOPIC_Str"/><property name="messageListener" ref="topicListListener"/></bean><bean id="TOPIC_Str_LIST" class="org.apache.activemq.command.ActiveMQTopic"><constructor-arg value="TOPIC_Str_LIST"/></bean><bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"/><property name="destination" ref="TOPIC_Str_LIST"/><property name="messageListener" ref="topicListListener"/></bean><bean id="TOPIC_OBJ" class="org.apache.activemq.command.ActiveMQTopic"><constructor-arg value="TOPIC_OBJ"/></bean><bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"/><property name="destination" ref="TOPIC_OBJ"/><property name="messageListener" ref="topicObjListener"/></bean><bean id="TOPIC_MAP" class="org.apache.activemq.command.ActiveMQTopic"><constructor-arg value="TOPIC_MAP"/></bean><bean class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="connectionFactory"/><property name="destination" ref="TOPIC_MAP"/><property name="messageListener" ref="topicMapListener"/></bean>
</beans>
6.3.5. 在spring文件夹下创建spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!-- 扫描controller --><context:component-scan base-package="com.gblfy.mq.controller" /><!-- Spring 来扫描指定包下的类,并注册被@Component,@Controller,@Service,@Repository等注解标记的组件 --><mvc:annotation-driven /><!-- 配置SpringMVC的视图解析器--><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean>
</beans>
6.4. 在resouces文件夹下创建log4j.properties
log4j.rootLogger=error,CONSOLE,A
log4j.addivity.org.apache=falselog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=error
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} -%-4r [%t] %-5p %x - %m%n
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Encoding=gbk
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.A=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A.File=${catalina.home}/logs/FH_log/PurePro_
log4j.appender.A.DatePattern=yyyy-MM-dd'.log'
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=[FH_sys] %d{yyyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L \: %m%n
6.5. 在resouces文件夹下创建log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><!-- Appenders --><appender name="console" class="org.apache.log4j.ConsoleAppender"><param name="Target" value="System.out" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy HH:mm:ss} %-5p %c - %m%n" /></layout></appender><!-- Application Loggers --><logger name="com"><level value="error" /></logger><!-- 3rdparty Loggers --><logger name="org.springframework.core"><level value="error" /></logger><logger name="org.springframework.beans"><level value="error" /></logger><logger name="org.springframework.context"><level value="error" /></logger><logger name="org.springframework.web"><level value="error" /></logger><logger name="org.springframework.jdbc"><level value="error" /></logger><logger name="org.mybatis.spring"><level value="error" /></logger><logger name="java.sql"><level value="error" /></logger><!-- Root Logger --><root><priority value="error" /><appender-ref ref="console" /></root></log4j:configuration>
6.6. web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><display-name>consumer-web</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- 解决post乱码 --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><servlet><servlet-name>ssm</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 指定加载的配置文件 ,通过参数contextConfigLocation加载--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/spring-mvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>ssm</servlet-name><url-pattern>/</url-pattern></servlet-mapping><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:/spring/applicationContext-*.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener></web-app>
6.4 @Test点对点测试
6.4.1 字符串类型消息
package com.gblfy.mq.listener;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.io.IOException;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/spring/spring-queue-consumer.xml")
public class QueueStrListenerTest {@Testpublic void onMessage() {try {System.in.read();} catch (IOException e) {e.printStackTrace();}}
}
6.4.2 List类型消息
package com.gblfy.mq.listener;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.io.IOException;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/spring/spring-queue-consumer.xml")public class QueueListListenerTest {@Testpublic void onMessage() {try {System.in.read();} catch (IOException e) {e.printStackTrace();}}
}
6.4.3 Map类型消息
package com.gblfy.mq.listener;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.io.IOException;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/spring/spring-queue-consumer.xml")
public class QueueMapListenerTest {@Testpublic void onMessage() {try {System.in.read();} catch (IOException e) {e.printStackTrace();}}}
6.4.4 Obj类型消息
package com.gblfy.mq.listener;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.io.IOException;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/spring/spring-queue-consumer.xml")public class QueueObjListenerTest {@Testpublic void onMessage() {try {System.in.read();} catch (IOException e) {e.printStackTrace();}}
}
6.5 @Test发布订阅测试
6.5.1 字符串类型消息
package com.gblfy.mq.listener;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.io.IOException;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/spring/spring-topic-consumer.xml")
public class TopicStrListenerTest {@Testpublic void onMessage() {try {System.in.read();} catch (IOException e) {e.printStackTrace();}}
}
6.5.2 List类型消息
package com.gblfy.mq.listener;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.io.IOException;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/spring/spring-topic-consumer.xml")
public class TopicListListenerTest {@Testpublic void onMessage() {try {System.in.read();} catch (IOException e) {e.printStackTrace();}}
}
6.5.3 Map类型消息
package com.gblfy.mq.listener;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.io.IOException;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/spring/spring-topic-consumer.xml")
public class TopicMapListenerTest {@Testpublic void onMessage() {try {System.in.read();} catch (IOException e) {e.printStackTrace();}}
}
6.5.4 Obj类型消息
package com.gblfy.mq.listener;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.io.IOException;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/spring/spring-topic-consumer.xml")
public class TopicObjListenerTest {@Testpublic void onMessage() {try {System.in.read();} catch (IOException e) {e.printStackTrace();}}
}
6.6 @Test数据库联通测试
package com.gblfy.mq.mapper;import com.gblfy.mq.entity.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import javax.sql.DataSource;
import java.sql.Connection;
import java.util.Arrays;
import java.util.List;/*** 测试互数据库连接*/
public class UserMapperTest {private ApplicationContext ioc =new ClassPathXmlApplicationContext("/spring/applicationContext-dao.xml");private UserMapper userMapper =ioc.getBean("userMapper", UserMapper.class);/*** 测试数据库连接池*/@Testpublic void testDataSource() throws Exception {DataSource ds = ioc.getBean("dataSource", DataSource.class);System.out.println(ds);Connection conn = ds.getConnection();System.out.println(conn);}/*** 查询一个用户操作*/@Testpublic void itemById() {User user= userMapper.selectById(1);System.out.println("~~~~~~~~~:" + user);}/*** 查询多个用户操作*/@Testpublic void itemListByIds() {List<Integer> ids = Arrays.asList(1, 2);List<User> userList = userMapper.selectBatchIds(ids);for (User user: userList ) {System.out.println("~~~~~~~" + user);}}/*** 查询用户列表操作*/@Testpublic void itemList() {List<User> userList = userMapper.selectList(null);for (User user: userList ) {System.out.println("这是一个测试" + "\n" + user);}}
}
下一篇:企业实战07_SSM整合ActiveMQ支持多种类型消息https://blog.csdn.net/weixin_40816738/article/details/100572420
本专栏项目下载链接:
下载方式 | 链接详细 |
---|---|
GitLab项目 | https://gitlab.com/gb-heima/ssm-activemq |
Git | git clone git@gitlab.com:gb-heima/ssm-activemq.git |
zip包 | https://gitlab.com/gb-heima/ssm-activemq/-/archive/master/ssm-activemq-master.zip |
Fork地址 | https://gitlab.com/gb-heima/ssm-activemq/-/forks/new |