package com.tesh.jms.ClaimsManagement; import javax.jms.JMSConsumer; import javax.jms.JMSContext; import javax.jms.JMSException; import javax.jms.JMSProducer; import javax.jms.ObjectMessage; import javax.jms.Queue; import javax.naming.InitialContext; import javax.naming.NamingException; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; public class ClaimManagement { public static void main(String[] args) throws NamingException, JMSException { InitialContext initialContext=new InitialContext(); Queue requestQueue=(Queue) initialContext.lookup("queue/claimQueue"); try(ActiveMQConnectionFactory cf=new ActiveMQConnectionFactory(); JMSContext jmsContext=cf.createContext()) { JMSProducer producer=jmsContext.createProducer(); //JMSConsumer consumer=jmsContext.createConsumer(requestQueue,"insuranceProvider IN ('blue cross','american') AND insuranceProvider NOT IN ('united')"); JMSConsumer consumer=jmsContext.createConsumer(requestQueue,"doctorName LIKE 'J%'"); ObjectMessage objectMessage=jmsContext.createObjectMessage(); //objectMessage.setIntProperty("hospitalId", 1); //objectMessage.setDoubleProperty("claimAmount", 1000); objectMessage.setStringProperty("doctorName", "John"); //objectMessage.setStringProperty("doctorType", "surg"); //objectMessage.setStringProperty("insuranceProvider", "blue cross"); Claim claim=new Claim(); claim.setHospitalId(1); claim.setClaimAmount(1000); claim.setDoctorName("John"); claim.setDoctorType("surg"); claim.setInsuranceProvider("blue cross"); objectMessage.setObject(claim); producer.send(requestQueue, objectMessage); Claim receiveBody=consumer.receiveBody(Claim.class); System.out.println(receiveBody.getClaimAmount()); } } }