import ballerina/jms;
import ballerina/log;
jms:Connection conn = new ({
initialContextFactory: "wso2mbInitialContextFactory",
providerUrl: "amqp://admin:admin@carbon/carbon?brokerlist='tcp://localhost:5672'"
});
jms:Session jmsSession = new (conn, {
acknowledgementMode: "CLIENT_ACKNOWLEDGE"
});
endpoint jms:QueueReceiver consumer {
session: jmsSession,
queueName: "MyQueue"
};
service<jms:Consumer> jmsListener bind consumer {
onMessage(endpoint consumer, jms:Message message) {
string messageText = check message.getTextMessageContent();
log:printInfo("Message : " + messageText);
var _ = consumer -> acknowledge (message);
}
}
JMS Queue Message Receiver With Client AcknowledgmentBallerina natively supports JMS. Here is an example where we create a simple JMS queue receiver with client acknowledgment. |
|
import ballerina/jms;
import ballerina/log;
|
|
jms:Connection conn = new ({
initialContextFactory: "wso2mbInitialContextFactory",
providerUrl: "amqp://admin:admin@carbon/carbon?brokerlist='tcp://localhost:5672'"
});
|
Initialize a JMS connection with the provider. |
jms:Session jmsSession = new (conn, {
|
Initialize a JMS session on top of the created connection. |
acknowledgementMode: "CLIENT_ACKNOWLEDGE"
});
|
Set to client acknowledgment mode. |
endpoint jms:QueueReceiver consumer {
session: jmsSession,
queueName: "MyQueue"
};
|
Initialize a Queue receiver using the created session. |
service<jms:Consumer> jmsListener bind consumer {
|
Bind the created consumer 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. |
var _ = consumer -> acknowledge (message);
}
}
|
Acknowledge the received message using the queue receiver endpoint acknowledge function. |
$ ballerina run jms-queue-message-receiver-with-client-acknowledgment.bal
|
To run the program, put the code in |
JMS queue receiver run as a Ballerina service listening on the subscribed queue. |