public void handleEvent()

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);
            }
        }
    }