Mule - 找不到类型 org.apache.activemq
Posted
技术标签:
【中文标题】Mule - 找不到类型 org.apache.activemq【英文标题】:Mule - Unable to find type org.apache.activemq 【发布时间】:2013-09-12 20:12:37 【问题描述】:我正在使用 Mule Studio 3.4 并想尝试使用 Active Mq。我知道 ActiveMq 嵌入在 Mule 中,因此不需要在类路径中添加 jar,顺便说在类路径中找不到 activeMq 类。我哪里错了? 这是我的配置(复制自http://www.mulesoft.org/mule-activemq-integration-examples):
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:jms="http://www.mulesoft.org/schema/mule/jms"
xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">
<spring:beans>
<spring:bean id="AmqDeadLetterStrategy"
class="org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy"
p:queuePrefix="DLQ." />
<spring:bean id="AmqDefaultPolicyEntry"
class="org.apache.activemq.broker.region.policy.PolicyEntry"
p:queue="jobs.*"
p:deadLetterStrategy-ref="AmqDeadLetterStrategy" />
<spring:bean id="AmqPolicyMap"
class="org.apache.activemq.broker.region.policy.PolicyMap"
p:defaultEntry-ref="AmqDefaultPolicyEntry" />
<spring:bean name="AmqBroker"
class="org.apache.activemq.broker.BrokerService"
p:brokerName="esb-amq-broker"
p:persistent="true"
p:dataDirectory="$activemq.data.dir"
p:useJmx="true"
p:useShutdownHook="false"
p:destinationPolicy-ref="AmqPolicyMap"
init-method="start"
destroy-method="stop" />
<spring:bean name="AmqRedeliveryPolicy"
class="org.apache.activemq.RedeliveryPolicy"
p:useExponentialBackOff="true" />
<spring:bean name="AmqConnectionFactory"
class="org.apache.activemq.spring.ActiveMQConnectionFactory"
p:brokerURL="vm://esb-amq-broker"
p:redeliveryPolicy-ref="AmqRedeliveryPolicy"
depends-on="AmqBroker" />
</spring:beans>
<jms:activemq-connector name="EsbJmsConnector"
specification="1.1"
connectionFactory-ref="AmqConnectionFactory"
disableTemporaryReplyToDestinations="true"
persistentDelivery="true" />
</mule>
错误是“无法在项目的构建路径上找到类型 org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy...”和其他类似的错误。 谢谢!
【问题讨论】:
【参考方案1】:Mule 不捆绑 activemq jar,也不捆绑任何 JMS 代理,因此您需要手动将其添加到您的项目或 $studio.home/plugins/org.mule.tooling.server.$mule.version_$mule.version.$time.stamp/mule/user
,如果您希望容器提供它。
【讨论】:
感谢您的帮助,我下载了文件activemq-all-5.8.0.jar 并将其放在您建议的位置。它有所有需要的类。我重新启动了 eclpise,但仍然出现相同的错误。 你把罐子放在哪里了?你也在用eclipse还是studio? 我正在使用工作室,如果我在第一个bean中删除属性“p:queuePrefix="DLQ.",则不会显示错误!Pehraps它与jar加载本身无关 我不知道发生了什么,但重新粘贴该属性再次解决了问题。然后我无法重现错误!无论如何,您的回答可以让我进入下一个故障排除步骤,谢谢。以上是关于Mule - 找不到类型 org.apache.activemq的主要内容,如果未能解决你的问题,请参考以下文章
在 Mule 中设置 ActiveMQ pollingFrequency
从 BizTalk WCF-WebHttp 适配器向 Mule 服务发布消息时出错:服务不支持内容类型应用程序/json