Spring整合ActiveMQ如果XSD文件不对导致Spring加载很慢的问题

本文解决了一次在使用Spring配置文件实现消息机制时遇到的启动慢问题,通过替换xsd文件路径成功优化了配置,提高了项目启动效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   最近做公司的一个项目,也准备使用JMS实现后台的事件消息机制,下面为一段Spring的配置文件:

<?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:jms="http://www.springframework.org/schema/jms"
	xmlns:amq="http://activemq.apache.org/schema/core"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd
		http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd 
">
	<amq:broker brokerName="localhost">
		<amq:systemUsage>
			<amq:systemUsage>
				<amq:memoryUsage>
					<amq:memoryUsage limit="256 mb" />
				</amq:memoryUsage>
			</amq:systemUsage>
		</amq:systemUsage>
	</amq:broker>

	<amq:connectionFactory id="jmsFactory"
		brokerURL="vm://localhost?create=false" />
	<bean id="connectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
		<property name="connectionFactory" ref="jmsFactory" />
	</bean>

	<jms:listener-container destination-type="topic"
		concurrency="1" acknowledge="dups-ok">
		<jms:listener destination="topic/eventsTopic" ref="registeredDispatcher" />
		<jms:listener destination="topic/eventsTopic" ref="serverLogListener" />
	</jms:listener-container>

	<bean id="eventsJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
		<property name="connectionFactory" ref="connectionFactory" />
		<property name="defaultDestinationName" value="topic/eventsTopic" />
		<property name="pubSubDomain" value="true" />
	</bean>

</beans>
 

 

注意到红色的那一段,因为Eclipse编辑器一直报错,大意是找不到那个xsd文件。我就直接去查找http://activemq.apache.org/schema/core路径,发现这个网址下面确实没有activemq-core.xsd文件,但是下面有很多带版本号的文件,比如activemq-core-5.5.0.xsd ,我就随便写了一个带版本号的文件,保存,Eclipse马上就开始下载了,然后果然编辑器的红点消失了。

 

    但是,后来就出现,每次项目启动,Spring容器在加载这个xml文件的时候都非常慢(启动、使用没有问题 ),我还一直以为是activemq的参数设置的不对,于是各种调参数,看Spring的官方文档,还是不行。

 

    当然了,正如题目所说,就是那个xsd文件不对导致,我重新替换成为activemq-core.xsd,编辑器报错,但是启动很快而且正常使用(因为我引用的activemq的核心包里有那个xsd文件 )。

 

    我还使用了用classpath的方式加载xsd文件,但是编辑器依然报错,不知道各位有招没??

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值