All Downloads are FREE. Search and download functionalities are using the official Maven repository.

driven-adapter.mq-sender-sync.sample-mq-message-sender.mustache Maven / Gradle / Ivy

Go to download

Gradle plugin to create a clean application in Java that already works, It follows our best practices!

There is a newer version: 3.20.10
Show newest version
package {{package}}.mq.sender;

import co.com.bancolombia.commons.jms.api.MQMessageSenderSync;
import co.com.bancolombia.commons.jms.mq.EnableMQGateway;
{{#metrics}}
import io.micrometer.core.instrument.Metrics;
import io.micrometer.core.instrument.Timer;
{{/metrics}}
{{#lombok}}
import lombok.AllArgsConstructor;
{{/lombok}}
import org.springframework.stereotype.Component;

import jakarta.jms.Message;
{{#metrics}}
import java.util.concurrent.TimeUnit;
{{/metrics}}

@Component
{{#lombok}}
@AllArgsConstructor
{{/lombok}}
@EnableMQGateway(scanBasePackages = "{{package}}")
public class SampleMQMessageSender /* implements SomeGateway */ {
    private final MQMessageSenderSync sender;
    {{#metrics}}
    private final Timer timer = Metrics.timer("mq_send_message", "operation", "my-operation"); // TODO: Change operation name
    {{/metrics}}
    {{^lombok}}

    public MyMessageSender(MQMessageSender sender) {
        this.sender = sender;
    }
    {{/lombok}}

    public String send(String message) {
        {{#metrics}}
        long start = System.currentTimeMillis();
        String messageId = sender.send(context -> {
            Message textMessage = context.createTextMessage(message);
//            textMessage.setJMSReplyTo(container.get("any-custom-value")); // Inject the reply to queue from container
            return textMessage;
        });
        timer.record(System.currentTimeMillis() - start, TimeUnit.MILLISECONDS);
        return messageId;
        {{/metrics}}
        {{^metrics}}
        return sender.send(context -> {
            Message textMessage = context.createTextMessage(message);
//            textMessage.setJMSReplyTo(container.get("any-custom-value")); // Inject the reply to queue from container
            return textMessage;
        });
        {{/metrics}}
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy