in appender/jms/src/main/java/org/apache/karaf/decanter/appender/jms/JmsAppender.java [82:110]
public void handleEvent(Event event) {
if (EventFilter.match(event, config)) {
Connection connection = null;
Session session = null;
try {
connection = createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = createDestination(session);
MessageProducer producer = session.createProducer(destination);
if (getValue(config, MESSAGE_TYPE_PROPERTY, MESSAGE_TYPE_DEFAULT).equalsIgnoreCase("text")) {
TextMessage message = session.createTextMessage(marshaller.marshal(event));
producer.send(message);
} else {
MapMessage message = session.createMapMessage();
for (String name : event.getPropertyNames()) {
Object value = event.getProperty(name);
setProperty(message, name, value);
}
producer.send(message);
}
producer.close();
} catch (Exception e) {
LOGGER.warn("Can't send to JMS broker", e);
} finally {
safeClose(session);
safeClose(connection);
}
}
}