【问题标题】:ActiveMQ nonBlockingRedelivery broker/Spring configurationActiveMQ nonBlockingRedelivery 代理/Spring 配置
【发布时间】:2016-01-20 03:50:38
【问题描述】:

我无法让 nonBlockingRedelivery 属性实际工作,我不知道为什么。我一定遗漏了一些明显的东西。

如果我尝试通过代理 URL 进行设置,例如;

tcp://localhost:61616?jms.nonBlockingRedelivery=true

我会收到以下错误。

原因:无法创建传输。原因: java.lang.IllegalArgumentException:无效的连接参数: {jms.nonBlockingRedelivery=true}

如果我尝试通过 Spring 配置进行设置,我会收到以下错误。

<bean id="connectionFactoryRedelivery" class="org.springframework.jms.connection.TransactionAwareConnectionFactoryProxy">
<property name="targetConnectionFactory">
 <bean class="org.apache.activemq.ActiveMQConnectionFactory">
  <property name="brokerURL" value="${more.MQ.brokerURL}" />
  <property name="nonBlockingRedelivery" value="true" />
  <property name="redeliveryPolicy" ref="redeliveryPolicy" />
 </bean>
</property>
<property name="synchedLocalTransactionAllowed" value="true" />
</bean>

org.springframework.beans.NotWritablePropertyException: 无效 bean 类的属性“nonBlockingRedelivery” [org.apache.activemq.ActiveMQConnectionFactory]:Bean 属性 “nonBlockingRedelivery”不可写或具有无效的设置器 方法。 setter的参数类型是否与返回类型匹配 吸气剂?

【问题讨论】:

  • 您使用的是什么版本的代理?

标签: spring activemq


【解决方案1】:

我的迟钝错误,我使用的是旧版本的 JAR,其中该属性实际上不存在。上面的 Spring 配置 100% 工作,如果你有问题,他们在别处。

【讨论】:

    【解决方案2】:

    我相信我仍然看到 spring-boot-starter-activemq:1.5.10.RELEASE 的这个问题 - 因为 spring.activemq.broker-url 上的这个问题不起作用:

    ?jms.nonBlockingRedelivery=true
    

    但是设置这个属性可以解决它:

    spring.activemq.non-blocking-redelivery: true
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-28
      • 2015-05-21
      • 2018-01-31
      • 2016-12-09
      • 2018-02-16
      • 1970-01-01
      • 2015-07-27
      • 1970-01-01
      相关资源
      最近更新 更多