
driven-adapter.mq-sender-sync.sample-mq-message-sender.mustache Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scaffold-clean-architecture Show documentation
Show all versions of scaffold-clean-architecture Show documentation
Gradle plugin to create a clean application in Java that already works, It follows our best practices!
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