[
https://issues.apache.org/activemq/browse/AMQ-895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_39009
]
Manuel Teira commented on AMQ-895:
----------------------------------
I think you don't need to wrap STCQueueConnectionFactory, as it provides a
constructor with the required arguments, and spring is able to handle that
directly. That is not the case for imq, that doesn't have such a constructor
neither the required setters. It should be enough for you to use:
<bean id="REMOTE"
class="com.stc.jms.client.STCQueueConnectionFactory">
<constructor-arg><value>localhost</value></constructor-arg>
<constructor-arg><value>18007</value></constructor-arg>
</bean>
About the error you get, it seems you're trying to handle directly a STC
message implementation using AMQ. That's not the right way. The bridge should
automatically convert incoming messages to the AMQ native types. You shouldn't
need to use directly the STC nor AMQ Message classes, just ask for
java.jmx.Message or javax.jms.TextMessage to your consumers. The AMQ broker
will redirect incoming messages from the bridged foreign broker to your
program, and they will internally be AMQ* types, but you shouln't need to be
aware of that.
> JMS to JMS Bridge never reconnects under remote broker restarts.
> ----------------------------------------------------------------
>
> Key: AMQ-895
> URL: https://issues.apache.org/activemq/browse/AMQ-895
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 4.0 RC2, 4.0.1
> Reporter: Manuel Teira
> Attachments: test_patch.diff
>
>
> I'm using ActiveMQ (4.0.1) JMS to JMS Bridge functionality to connect to a
> SunMQ JMS Broker (3.6 SP3 (Build 02-A)). I'm using two queues, an input and
> an output one, with the following configuration:
> <jmsBridgeConnectors>
> <jmsQueueConnector outboundQueueConnectionFactory="#REMOTE">
> <outboundQueueBridges>
> <outboundQueueBridge outboundQueueName="SUNRECV"/>
> </outboundQueueBridges>
> <inboundQueueBridges>
> <inboundQueueBridge inboundQueueName="SUNSEND"/>
> </inboundQueueBridges>
> </jmsQueueConnector>
> </jmsBridgeConnectors>
> The system works really well until the SunMQ broker needed to be restarted.
> This is what I found:
> 1.-ActiveMQ is not aware of the remote broker shutdown. I waited for a while,
> but no log on ActiveMQ indicates knowledge about the new situation.
> 2.-When I send a message to the output queue SUNRECV, ActiveMQ complains that
> the producer is closed:
> [ERROR][2006/08/25.09:47:12.039][ActiveMQ Session Task]failed to forward
> message: ActiveMQTextMessage {commandId = 5, responseRequired = false,
> messageId = ID:trabucco-43457-1156491843149-3:4:1:1:1, originalDestination =
> null, originalTransactionId = null, producerId =
> ID:trabucco-43457-1156491843149-3:4:1:1, destination = queue://SUNRECV,
> transactionId = null, expiration = 0, timestamp = 1156492032027, arrival = 0,
> correlationId = null, replyTo = null, persistent = false, type = null,
> priority = 0, groupID = null, groupSequence = 0, targetConsumerId = null,
> compressed = false, userID = null, content = null, marshalledProperties =
> null, dataStructure = null, redeliveryCounter = 0, size = 2, properties =
> null, readOnlyProperties = true, readOnlyBody = true, text = 1}([C4064]:
> Cannot perform operation, producer is closed.)
> After this, it is automatically queueing messages without sending them,
> showing the log:
> [DEBUG][2006/08/25.09:47:42.721][RMI TCP Connection(4)-10.95.89.20]No
> subscriptions registered, will not dispatch message at this time.
> Even if SunMQ is started again, ActiveMQ is not detecting the new situation,
> and continues queueing messages sent to SUNRECV.
> Please, make me know if more information is needed to understand the
> situation.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.