浏览 4782 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-13
最近做公司的一个项目,也准备使用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文件,但是编辑器依然报错,不知道各位有招没??
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-03-14
可以把包里的XSD文件加入到Eclipse,就可以了
|
|
返回顶楼 | |
发表时间:2012-03-14
hypgr 写道 可以把包里的XSD文件加入到Eclipse,就可以了
嗯 我也看过可以这么做,不知道咋的 没成功 而且觉得比较麻烦~~ |
|
返回顶楼 | |
发表时间:2012-03-15
没什么实质性的讲解
|
|
返回顶楼 | |
发表时间:2012-03-15
xsd会下载的,
如果配置了spring的handler,把xsd的路径指到classpath, 才会从本地加载。 |
|
返回顶楼 | |
发表时间:2012-03-15
z276356445t 写道 没什么实质性的讲解
确实。 只是如果以后在出现Spring容器加载很慢的时候,可以在这方面考虑。不然,去查找是否是某个配置项的问题上纠结,会很头疼~~ |
|
返回顶楼 | |
发表时间:2012-03-15
kimmking 写道 xsd会下载的,
如果配置了spring的handler,把xsd的路径指到classpath, 才会从本地加载。 什么情况?Spring的神马handler?? |
|
返回顶楼 | |