使用Jboss资源适配器连接到ActiveMQ时配置sendTimeout

时间:2015-01-29 19:58:45

标签: jboss jms activemq jboss6.x

根据此link,我已将JBoss eap 6.2与外部ActiveMQ 5.9.0联系起来。 org.apache.activemq.ActiveMQConnectionFactory有一个我要设置的sendTimeout字段。但是在这种方法中我无法直接访问这个类,而我似乎可以做的就是在JBoss ServerUrl的{​​{1}}减速中向resouce-adapter添加一些参数。

根据此link,可以向standalone.xml添加一些参数,但似乎它没有ServerUrl参数。这个link(ActiveMQ CPP)引入了一些其他参数,它们不起作用,我在Jboss启动时遇到错误:

sendTimeout

java.lang.IllegalArgumentException: Invalid connect parameters: {connection.sendTimeout=20000} 文件中的ActiveMQ resource-adapter

standalone.xml

那么如何设置此参数的值?我应该在<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"> <resource-adapters> <resource-adapter id="activemq-rar.ra"> <module slot="main" id="org.apache.activemq"/> <transaction-support>LocalTransaction</transaction-support> <config-property name="ServerUrl">tcp://localhost:61616?connection.sendTimeout=20000</config-property> <connection-definitions> <connection-definition class-name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory" jndi-name="java:/activemq/ConnectionFactory" enabled="true" use-java-context="true" pool-name="ActiveMQConnectionFactoryPool"> </connection-definition> </connection-definitions> </resource-adapter> <!--resource-adapter--> </resource-adapters> </subsystem> 文件中配置ServerUrl吗?

1 个答案:

答案 0 :(得分:2)

基于timeoutFailover Transport Options的{​​{1}}参数:

  

如果发送被阻止等待失败的连接重新连接方式   它应该在发送失败之前等待,默认是永远(-1)。

所以我已将ServerUrlresource-adapter的{​​{1}}属性更改为:

  

故障转移://(TCP://127.0.0.1:61616)超时= 20000