import ballerina/jms;
import ballerina/log;
endpoint jms:SimpleTopicSubscriber subscriber {
initialContextFactory: "wso2mbInitialContextFactory",
providerUrl: "amqp://admin:admin@carbon/carbon?brokerlist='tcp://localhost:5672'",
acknowledgementMode: "AUTO_ACKNOWLEDGE",
topicPattern: "BallerinaTopic"
};
service<jms:Consumer> jmsListener bind subscriber {
onMessage(endpoint consumer, jms:Message message) {
string messageText = check message.getTextMessageContent();
log:printInfo("Message : " + messageText);
}
}
JMS Simple Topic Message SubscriberBallerina natively supports JMS. Here is an example where we create a simple JMS topic subscriber. |
|
import ballerina/jms;
import ballerina/log;
|
|
endpoint jms:SimpleTopicSubscriber subscriber {
initialContextFactory: "wso2mbInitialContextFactory",
providerUrl: "amqp://admin:admin@carbon/carbon?brokerlist='tcp://localhost:5672'",
acknowledgementMode: "AUTO_ACKNOWLEDGE",
topicPattern: "BallerinaTopic"
};
|
Create a simple topic listener |
service<jms:Consumer> jmsListener bind subscriber {
|
Bind the created subscriber to the listener service. |
onMessage(endpoint consumer, jms:Message message) {
string messageText = check message.getTextMessageContent();
log:printInfo("Message : " + messageText);
}
}
|
OnMessage resource get invoked when a message is received. |
$ ballerina run jms-simple-topic-message-subscriber.bal
|
To run the program, put the code in |
JMS subscriber run as a Ballerina service listening on the subscribed topic |