Closed ron-liu closed 5 years ago
Hi, I am trying to send delayed message, but cannot work it out. The following are what I tried: By following: https://github.com/gdaws/node-stomp/issues/16 and https://activemq.apache.org/delay-and-schedule-message-delivery. But the message is not delayed. the code are the below:
const stompit = require('stompit'); const connectOptions = { 'host': 'activemq', 'port': 61613, 'connectHeaders':{ 'host': '/', 'login': 'username', 'passcode': 'password', 'heart-beat': '5000,5000' } }; var connectionManager = new stompit.ConnectFailover([connectOptions]) connectionManager.on('error', function(error) { var connectArgs = error.connectArgs; var address = connectArgs.host + ':' + connectArgs.port; console.log('Could not connect to ' + address + ': ' + error.message); }); connectionManager.on('connecting', function(connector) { console.log('Connecting to ' + connector.serverProperties.remoteAddress.transportPath); }); const channelPool = stompit.ChannelPool(connectionManager); channelPool.channel(function(error, channel) { if (error) { console.log('send-channel error: ' + error.message); return; } channel.send({ destination: '/queue/test', AMQ_SCHEDULED_PERIOD:10000, AMQ_SCHEDULED_REPEAT:10, AMQ_SCHEDULED_DELAY:10000, }, 'hello', function(error) { if (error) { console.log('send error ' + error.message); return; } console.log('message sent ' ); }); }); channelPool.channel(function(error, channel) { if (error) { console.log('subscribe-channel error: ' + error.message); return; } var subscribeHeaders = { destination: '/queue/test' }; channel.subscribe(subscribeHeaders, function(error, message, subscription) { if (error) { console.log('subscribe error: ' + error.message); return; } message.readString('utf8', function(error, body) { if (error) { console.log('read message error ' + error.message); return; } console.log('received message: ' + body); // subscription.unsubscribe(); }); }); })
Solved. Based on https://activemq.apache.org/delay-and-schedule-message-delivery, need to turn schedulerSupport on in the activemq config file.
schedulerSupport
Hi, I am trying to send delayed message, but cannot work it out. The following are what I tried: By following: https://github.com/gdaws/node-stomp/issues/16 and https://activemq.apache.org/delay-and-schedule-message-delivery. But the message is not delayed. the code are the below: