JMS Folder:
JmsConsumer
package com.mailshine.springbootstandaloneactivemq.jms;
import com.mailshine.springbootstandaloneactivemq.model.Employee;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Component;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
@Component
@Slf4j
public class JmsConsumer implements MessageListener {
@Override
@JmsListener(destination = "${active-mq.topic}")
public void onMessage(Message message) {
try{
ObjectMessage objectMessage = (ObjectMessage)message;
Employee employee = (Employee)objectMessage.getObject();
//do additional processing
log.info("Received Message from Topic: "+ employee.toString());
} catch(Exception e) {
log.error("Received Exception while processing message: "+ e);
}
}
}
----------------------------
JmsProducer
package com.mailshine.springbootstandaloneactivemq.jms;
import com.mailshine.springbootstandaloneactivemq.model.Employee;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class JmsProducer {
@Autowired
JmsTemplate jmsTemplate;
@Value("${active-mq.topic}")
private String topic;
public void sendMessage(Employee message){
try{
log.info("Attempting Send message to Topic: "+ topic);
jmsTemplate.convertAndSend(topic, message);
} catch(Exception e){
log.error("Recieved Exception during send Message: ", e);
}
}
}
----------------------------------------
0 Comments