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

Configuring sendTimeout in connecting to ActiveMQ with Jboss resource adapter

基于此 link,我已将 JBoss eap 6.2 连接到外部 ActiveMQ 5.9.0org.apache.activemq.ActiveMQConnectionFactory 有一个我要设置的 sendTimeout 字段。但是在这种方法中我无法直接访问这个 class 似乎我所能做的就是在 resouce-adapter 中的 ServerUrl 中添加一些参数 在 standalone.xml 中减速 [=] 36=]。

基于此 link, it's possible to add some parameter to ServerUrl, but it seems it hasn't sendTimeout parameter. And this link (ActiveMQ CPP) 引入了一些其他参数,它们不起作用,我在 Jboss 启动时遇到以下错误:

java.lang.IllegalArgumentException: Invalid connect parameters: {connection.sendTimeout=20000}

ActiveMQ resource-adapterstandalone.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>

那么如何设置这个参数的值呢?我应该在 ra.xml 文件中配置 ServerUrl 吗?

基于this config pagetimeout参数Failover Transport Options

If a send is blocked waiting on a failed connection to reconnect how long should it wait before failing the send, default is forever (-1).

所以我将 resource-adapterra.xmlServerUrl 属性 更改为:

failover://(tcp://127.0.0.1:61616)?timeout=20000