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

com.undefinedlabs.scope.rules.utils.extractors.MessageProducerContextExtractorDestMsgFull Maven / Gradle / Ivy

package com.undefinedlabs.scope.rules.utils.extractors;

import com.undefinedlabs.scope.rules.utils.MessageProducerContext;
import com.undefinedlabs.scope.rules.utils.MessageProducerContextExtractor;

import javax.jms.Destination;
import javax.jms.Message;

public enum MessageProducerContextExtractorDestMsgFull implements MessageProducerContextExtractor {

    INSTANCE;

    public static final String DEST_MSG_FULL_METHOD_PARAMS_SIGNATURE = "(javax.jms.Destination,javax.jms.Message,int,int,long)";

    public MessageProducerContext extract(final Object[] methodArguments) {
        final Destination destination = (Destination) methodArguments[0];
        final Message message = (Message) methodArguments[1];
        final int deliveryMode = (int) methodArguments[2];
        final int priority = (int) methodArguments[3];
        final long timeToLive = (long) methodArguments[4];

        final MessageProducerContext.Builder ctxBuilder = MessageProducerContext.newBuilder();
        return ctxBuilder.withDestination(destination)
                .withMessage(message)
                .withDeliveryMode(deliveryMode)
                .withPriority(priority)
                .withTimeToLive(timeToLive)
                .build();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy