All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pl.allegro.tech.hermes.consumers.consumer.sender.jms.JmsMetadataAppender Maven / Gradle / Ivy

package pl.allegro.tech.hermes.consumers.consumer.sender.jms;

import pl.allegro.tech.hermes.consumers.consumer.trace.MetadataAppender;

import javax.jms.JMSException;
import javax.jms.JMSRuntimeException;
import javax.jms.Message;
import java.util.Map;

public class JmsMetadataAppender implements MetadataAppender {

    @Override
    public Message append(Message target, pl.allegro.tech.hermes.consumers.consumer.Message message) {

        try {
            for(Map.Entry entry : message.getExternalMetadata().entrySet()) {
                target.setStringProperty(normalize(entry.getKey()), entry.getValue());
            }
            return target;
        } catch(JMSException e) {
            throw new JMSRuntimeException(e.getMessage(), e.getErrorCode(), e);
        }
    }

    private static String normalize(String key) {
        return key.replaceAll("-", "");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy