BTW any idea the exact version of AMQ4? There's been a few in the last
year or so :).

You don't happen to have a little test case that demonstrates the
problem do you by any chance?

On 9/28/06, Andy Piper <[EMAIL PROTECTED]> wrote:

Hello, we are having some problems with store-and-forward in specific
scenarios.

The consumer is setup like this:

try {
    BrokerService broker = new BrokerService();
    // set persistence
    broker.setUseJmx(true);
    broker.addConnector("tcp:localhost:61616");  // Admin side listening
port
} catch (Exception ex) {
    // ...
}

the producer like this:

try {
    BorkerService borker = new BrokerService();
    // set persistence
    broker.addConnector("tcp:localhost:61615"); // Managed side listenning
port, or we can
                                                // use vm transport if in
same VM.
    DiscoveryNetworkConnector nc = new DiscoveryNetworkConnector();
    nc.setUri(new URI("static:(tcp://localhost:61616)"));
    nc.setFailover(true);
    nc.addStaticallyIncludedDestination(new ActiveMQQueue("QUEUE.DEFAULT"));
// Forward specified Queue
    broker.addNetworkConnector(nc);
    broker.start();
} catch (Exception ex) {
    // ...
}

and we send messages like this:

// user = ActiveMQConnection.DEFAULT_USER;
// pwd = ActiveMQConnection.DEFAULT_PASSWORD;
// url = failover:tcp://localhost:61615
ActiveMQConnectionFactory connectionFactory = new
ActiveMQConnectionFactory(user, pwd, url);
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("QUEUE.DEFAULT");
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT); // Persistent
TextMessage tm =
session.createTextMessage("jms-domain-log-prototype-embedded");
producer.send(tm);
session.close();
connection.close();

This works well if we stop and start the producer. However if we stop and
start the consumer it fails to reconnect - we end up having to stop and
start the producer as well.

We also tried using the JMS-JMS bridge like this:

// Insert following codes before broker start.
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory();
factory.setBrokerURL("failover:tcp://localhost:61616");
OutboundQueueBridge oqb = new OutboundQueueBridge();
oqb.setOutboundQueueName("QUEUE.DEFAULT");
JmsQueueConnector jc = new JmsQueueConnector();
jc.setOutboundQueueBridges(new OutboundQueueBridge[]{oqb});
jc.setOutboundQueueConnectionFactory(factory);
broker.addJmsConnector(jc);

but this has the unfortunate side effect of needing the consumer to be
started first.

Any thoughts appreciated.

I believe this is AMQ 4

andy
--
View this message in context: 
http://www.nabble.com/Trouble-with-Store-and-Forward-tf2350313.html#a6544577
Sent from the ActiveMQ - User mailing list archive at Nabble.com.




--

James
-------
http://radio.weblogs.com/0112098/

Reply via email to