import javax.jms.*;
import org.apache.qpid.jms.JmsConnectionFactory;
public class AppSensorClient {
private static final String QUEUE_NAME = "appsensor_queue";
private static final String BROKER_URL = "tcp://localhost:5672";
public void sendSecurityEvent(SecurityEvent event) throws JMSException {
JmsConnectionFactory connectionFactory = new JmsConnectionFactory(BROKER_URL);
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(QUEUE_NAME);
MessageProducer producer = session.createProducer(destination);
Message message = session.createObjectMessage(event);
producer.send(message);
session.close();
connection.close();
}
public void receiveSecurityEvent() throws JMSException {
JmsConnectionFactory connectionFactory = new JmsConnectionFactory(BROKER_URL);
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(QUEUE_NAME);
MessageConsumer consumer = session.createConsumer(destination);
consumer.setMessageListener(new MessageListener() {
public void onMessage(Message message) {
if (message instanceof ObjectMessage) {
ObjectMessage objectMessage = (ObjectMessage) message;
try {
SecurityEvent event = (SecurityEvent) objectMessage.getObject();
processSecurityEvent(event);
} catch (JMSException e) {
e.printStackTrace();
}
}
}
private void processSecurityEvent(SecurityEvent event) {
}
});
session.close();
connection.close();
}
}