96SEO 2026-02-19 23:35 13
一、Spring整合ActiveMQ1.pom.xml2.Queue

xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.qingsi.activemq/groupIdartifactIdactivemq_test/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependency!--
--groupIdorg.apache.activemq/groupIdartifactIdactivemq-all/artifactIdversion5.15.11/version/dependency!--
--dependencygroupIdorg.apache.activemq/groupIdartifactIdactivemq-pool/artifactIdversion5.15.10/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.10.1/version/dependency!--
https://mvnrepository.com/artifact/org.apache.xbean/xbean-spring
--dependencygroupIdorg.apache.xbean/groupIdartifactIdxbean-spring/artifactIdversion4.15/version/dependency!--
https://mvnrepository.com/artifact/org.springframework/spring-jms
--dependencygroupIdorg.springframework/groupIdartifactIdspring-jms/artifactIdversion5.2.1.RELEASE/version/dependency!--
https://mvnrepository.com/artifact/org.springframework/spring-aop
--dependencygroupIdorg.springframework/groupIdartifactIdspring-aop/artifactIdversion5.2.1.RELEASE/version/dependency!--
--dependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.2.3/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.16.18/versionscopeprovided/scope/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency/dependencies/project2.Queue
路径src/main/resources/applicationContext.xml
xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd!--
base-packagecom.qingsi.activemq/!--
classorg.apache.activemq.pool.PooledConnectionFactory
正真可以生产Connection的ConnectionFactory,由对应的JMS服务商提供
classorg.apache.activemq.spring.ActiveMQConnectionFactoryproperty
valuetcp://192.168.86.128:61616//bean/propertyproperty
classorg.apache.activemq.command.ActiveMQQueue!--
valuespring-active-queue//bean!--
classorg.springframework.jms.core.JmsTemplate!--
classorg.springframework.jms.support.converter.SimpleMessageConverter//property/bean
com.qingsi.activemq.spring;import
org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
org.springframework.beans.factory.annotation.Autowired;
org.springframework.context.ApplicationContext;
org.springframework.jms.core.JmsTemplate;
org.springframework.jms.core.MessageCreator;
org.springframework.stereotype.Service;import
ClassPathXmlApplicationContext(applicationContext.xml);//
获取SpringMQProduce对象用于调用jmsTemplate//
SpringMQProduce()但是交给Spring管理他只会new一次后续都是用同一个实例对象SpringMQProduce
ctx.getBean(SpringMQProduce.class);//
在配置文件指定了所以在发送的时候不需要再指定produce.jmsTemplate.send(new
session.createTextMessage(Spring和Active整合的消息);return
produce.jmsTemplate.send((session
session.createTextMessage(Spring和Active整合的消息);//
}));System.out.println(消息发送完毕);}}
com.qingsi.activemq.spring;import
org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
org.springframework.beans.factory.annotation.Autowired;
org.springframework.context.ApplicationContext;
org.springframework.jms.core.JmsTemplate;
org.springframework.stereotype.Service;Service
ClassPathXmlApplicationContext(applicationContext.xml);//
获取SpringMQConsumer对象用于调用jmsTemplate//
SpringMQConsumer()但是交给Spring管理他只会new一次后续都是用同一个实例对象SpringMQConsumer
ctx.getBean(SpringMQConsumer.class);String
consumer.jmsTemplate.receiveAndConvert();System.out.println(spring消费者收到的消息
路径src/main/resources/applicationContext.xml
xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd!--
base-packagecom.qingsi.activemq/!--
classorg.apache.activemq.pool.PooledConnectionFactory
正真可以生产Connection的ConnectionFactory,由对应的JMS服务商提供
classorg.apache.activemq.spring.ActiveMQConnectionFactoryproperty
valuetcp://192.168.86.128:61616//bean/propertyproperty
classorg.apache.activemq.command.ActiveMQTopicconstructor-arg
valuespring-active-topic//bean!--
classorg.springframework.jms.core.JmsTemplate!--
classorg.springframework.jms.support.converter.SimpleMessageConverter//property/bean
实现目标在Spring里面实现消费者不启动直接通过配置监听完成类似于前面setMessageListenner实时间提供消息注意配置了监听器那么启动生产者就会自动消费不需要再启动消费者了
com.qingsi.activemq.spring;import
org.springframework.stereotype.Component;import
javax.jms.TextMessage;Component
xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd!--
base-packagecom.qingsi.activemq/!--
classorg.apache.activemq.pool.PooledConnectionFactory
正真可以生产Connection的ConnectionFactory,由对应的JMS服务商提供
classorg.apache.activemq.spring.ActiveMQConnectionFactoryproperty
valuetcp://192.168.86.128:61616//bean/propertyproperty
classorg.apache.activemq.command.ActiveMQTopicconstructor-arg
valuespring-active-topic//bean!--
classorg.springframework.jms.core.JmsTemplate!--
classorg.springframework.jms.support.converter.SimpleMessageConverter//property/bean!--
iddefaultMessageListenerContainer
classorg.springframework.jms.listener.DefaultMessageListenerContainer!--
com.qingsi.activemq.spring;import
org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
org.springframework.beans.factory.annotation.Autowired;
org.springframework.context.ApplicationContext;
org.springframework.jms.core.JmsTemplate;
org.springframework.jms.core.MessageCreator;
org.springframework.stereotype.Service;import
ClassPathXmlApplicationContext(applicationContext.xml);//
获取SpringMQProduce对象用于调用jmsTemplate//
SpringMQProduce()但是交给Spring管理他只会new一次后续都是用同一个实例对象SpringMQProduce
ctx.getBean(SpringMQProduce.class);//
在配置文件指定了所以在发送的时候不需要再指定produce.jmsTemplate.send((session
session.createTextMessage(Spring和Active整合的消息);return
textMessage;}));System.out.println(消息发送完毕);}}
这里有案例根据实际来创建https://qingsi.blog.csdn.net/article/details/136130132我创建了
工程名boot_activemq_test包名com.qingsi.boot.activemq
xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.qingsi.boot.activemq/groupIdartifactIdboot_activemq_test/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependencies!--
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.2.1.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.2.1.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdversion2.2.1.RELEASE/versionscopetest/scope/dependency!--
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-activemq/artifactIdversion2.2.1.RELEASE/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion2.2.1.RELEASE/version/plugin/plugins/build/project1.1.3
路径src/main/resources/application.yml
#ActiveMQ连接密码jms:#指定连接队列还是主题pub-sub-domain:
com.qingsi.boot.activemq.config;import
org.apache.activemq.command.ActiveMQQueue;
org.springframework.beans.factory.annotation.Value;
org.springframework.context.annotation.Bean;
org.springframework.jms.annotation.EnableJms;
org.springframework.stereotype.Component;Component
com.qingsi.boot.activemq.produce;import
org.springframework.beans.factory.annotation.Autowired;
org.springframework.jms.core.JmsMessagingTemplate;
org.springframework.stereotype.Component;import
jmsMessagingTemplate;Autowiredprivate
{jmsMessagingTemplate.convertAndSend(queue,
UUID.randomUUID().toString().substring(0,
com.qingsi.boot.activemq;import
org.springframework.boot.SpringApplication;
org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
{SpringApplication.run(MainAppProduce.class,
com.qingsi.boot.activemq;import
com.qingsi.boot.activemq.produce.QueueProduce;
org.springframework.boot.test.context.SpringBootTest;
org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
org.springframework.test.context.web.WebAppConfiguration;import
javax.annotation.Resource;SpringBootTest(classes
RunWith(SpringJUnit4ClassRunner.class)
com.qingsi.boot.activemq.produce;import
org.springframework.beans.factory.annotation.Autowired;
org.springframework.jms.core.JmsMessagingTemplate;
org.springframework.scheduling.annotation.Scheduled;
org.springframework.stereotype.Component;import
jmsMessagingTemplate;Autowiredprivate
{jmsMessagingTemplate.convertAndSend(queue,
UUID.randomUUID().toString().substring(0,
produceMsgScheduled(){jmsMessagingTemplate.convertAndSend(queue,
UUID.randomUUID().toString().substring(0,
com.qingsi.boot.activemq;import
org.springframework.boot.SpringApplication;
org.springframework.boot.autoconfigure.SpringBootApplication;
org.springframework.scheduling.annotation.EnableScheduling;SpringBootApplication
{SpringApplication.run(MainAppProduce.class,
这里有案例根据实际来创建https://qingsi.blog.csdn.net/article/details/136130132我创建了
工程名boot_activemq_consumer包名com.qingsi.boot.activemq
xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.qingsi.boot.activemq/groupIdartifactIdboot_activemq_consumer/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependencies!--
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.2.1.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.2.1.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdversion2.2.1.RELEASE/versionscopetest/scope/dependency!--
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-activemq/artifactIdversion2.2.1.RELEASE/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion2.2.1.RELEASE/version/plugin/plugins/build
#ActiveMQ连接密码jms:#指定连接队列还是主题pub-sub-domain:
com.qingsi.activemq.consumer;import
org.springframework.jms.annotation.JmsListener;
org.springframework.stereotype.Component;import
javax.jms.TextMessage;Component
org.springframework.boot.SpringApplication;
org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
{SpringApplication.run(MainAppConsumer.class,
这里有案例根据实际来创建https://qingsi.blog.csdn.net/article/details/136130132我创建了
工程名boot_mq_topic_produce包名com.qingsi.boot.activemq.topic.produce
xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.qingsi.boot.activemq.topic.produce/groupIdartifactIdboot_mq_topic_produce/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependencies!--
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.2.1.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.2.1.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdversion2.2.1.RELEASE/versionscopetest/scope/dependency!--
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-activemq/artifactIdversion2.2.1.RELEASE/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion2.2.1.RELEASE/version/plugin/plugins/build/project2.1.3
#ActiveMQ连接密码jms:#指定连接队列还是主题pub-sub-domain:
com.qingsi.boot.activemq.topic.config;import
org.apache.activemq.command.ActiveMQTopic;
org.springframework.beans.factory.annotation.Value;
org.springframework.context.annotation.Bean;
org.springframework.stereotype.Component;import
com.qingsi.boot.activemq.topic.com.qingsi.boot.activemq.produce;import
org.springframework.beans.factory.annotation.Autowired;
org.springframework.jms.core.JmsMessagingTemplate;
org.springframework.scheduling.annotation.Scheduled;
org.springframework.stereotype.Component;import
jmsMessagingTemplate;Autowiredprivate
{jmsMessagingTemplate.convertAndSend(topic,
UUID.randomUUID().toString().substring(0,
com.qingsi.boot.activemq.topic;import
org.springframework.boot.SpringApplication;
org.springframework.boot.autoconfigure.SpringBootApplication;
org.springframework.scheduling.annotation.EnableScheduling;SpringBootApplication
{SpringApplication.run(MainAppTopicProduce.class,
这里有案例根据实际来创建https://qingsi.blog.csdn.net/article/details/136130132我创建了
工程名boot_mq_topic_consumer包名com.qingsi.boot.activemq.topic.consumer
xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.qingsi.boot.activemq.topic.consumer/groupIdartifactIdboot_mq_topic_consumer/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependencies!--
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.2.1.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.2.1.RELEASE/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdversion2.2.1.RELEASE/versionscopetest/scope/dependency!--
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-activemq/artifactIdversion2.2.1.RELEASE/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion2.2.1.RELEASE/version/plugin/plugins/build/project2.2.3
#ActiveMQ连接密码jms:#指定连接队列还是主题pub-sub-domain:
com.qingsi.activemq.topic.consumer;import
org.springframework.jms.annotation.JmsListener;
org.springframework.stereotype.Component;import
javax.jms.TextMessage;Component
com.qingsi.activemq.topic;import
org.springframework.boot.SpringApplication;
org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
{SpringApplication.run(MainAppTopicConsumer.class,
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback