yurake/k8s-3tier-webapp

View on GitHub
application/consumer-activemq-quarkus/src/main/java/webapp/tier/service/ActiveMqDeliverConsumer.java

Summary

Maintainability
A
0 mins
Test Coverage
package webapp.tier.service;

import java.util.logging.Level;
import java.util.logging.Logger;

import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.jms.JMSConsumer;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.TextMessage;

import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.rest.client.inject.RestClient;

import webapp.tier.bean.MsgBean;
import webapp.tier.util.MsgUtils;

@ApplicationScoped
public class ActiveMqDeliverConsumer {

    @ConfigProperty(name = "activemq.split.key")
    String splitkey;

    @Inject
    @RestClient
    ActiveMqDeliverService deliversvc;

    private final Logger logger = Logger.getLogger(this.getClass().getSimpleName());

    public void consume(JMSConsumer consumer) throws JMSException {
        logger.log(Level.INFO, "Ready for receive message...");
        Message message = consumer.receive();
        TextMessage textMessage = (TextMessage) message;
        MsgBean msgbean = MsgUtils.splitBody(textMessage.getText(), splitkey);
        msgbean.setFullmsg("Received");
        logger.log(Level.INFO, msgbean.getFullmsg());
        String response = deliversvc.random();
        logger.log(Level.INFO, "Call Random Publish: {0}", response);
    }
}