Example usage for org.springframework.integration.amqp.support DefaultAmqpHeaderMapper DefaultAmqpHeaderMapper

List of usage examples for org.springframework.integration.amqp.support DefaultAmqpHeaderMapper DefaultAmqpHeaderMapper

Introduction

In this page you can find the example usage for org.springframework.integration.amqp.support DefaultAmqpHeaderMapper DefaultAmqpHeaderMapper.

Prototype

DefaultAmqpHeaderMapper

Source Link

Usage

From source file:org.springframework.integration.x.rabbit.RabbitChannelRegistry.java

public RabbitChannelRegistry(ConnectionFactory connectionFactory) {
    Assert.notNull(connectionFactory, "connectionFactory must not be null");
    this.connectionFactory = connectionFactory;
    this.rabbitTemplate.setConnectionFactory(connectionFactory);
    this.rabbitTemplate.afterPropertiesSet();
    this.rabbitAdmin = new RabbitAdmin(connectionFactory);
    this.rabbitAdmin.afterPropertiesSet();
    this.mapper = new DefaultAmqpHeaderMapper();
    this.mapper.setRequestHeaderNames(new String[] { AbstractHeaderMapper.STANDARD_REQUEST_HEADER_NAME_PATTERN,
            ORIGINAL_CONTENT_TYPE_HEADER });
}

From source file:org.springframework.integration.x.rabbit.RabbitMessageBus.java

public RabbitMessageBus(ConnectionFactory connectionFactory, MultiTypeCodec<Object> codec) {
    Assert.notNull(connectionFactory, "connectionFactory must not be null");
    Assert.notNull(codec, "codec must not be null");
    this.connectionFactory = connectionFactory;
    this.rabbitTemplate.setConnectionFactory(connectionFactory);
    this.rabbitTemplate.afterPropertiesSet();
    this.rabbitAdmin = new RabbitAdmin(connectionFactory);
    this.autoDeclareContext.refresh();
    this.rabbitAdmin.setApplicationContext(this.autoDeclareContext);
    this.rabbitAdmin.afterPropertiesSet();
    this.mapper = new DefaultAmqpHeaderMapper();
    this.mapper.setRequestHeaderNames(new String[] { AbstractHeaderMapper.STANDARD_REQUEST_HEADER_NAME_PATTERN,
            ORIGINAL_CONTENT_TYPE_HEADER });
    this.setCodec(codec);
}

From source file:org.springframework.xd.dirt.integration.rabbit.RabbitMessageBus.java

private void doRegisterConsumer(String name, MessageChannel moduleInputChannel, Queue queue,
        RabbitPropertiesAccessor properties, boolean isPubSub) {
    // Fix for XD-2503
    // Temporarily overrides the thread context classloader with the one where the SimpleMessageListenerContainer is defined
    // This allows for the proxying that happens while initializing the SimpleMessageListenerContainer to work correctly
    ClassLoader originalClassloader = Thread.currentThread().getContextClassLoader();
    try {// ww w  .j  a va2s  .  c o  m
        ClassUtils.overrideThreadContextClassLoader(SimpleMessageListenerContainer.class.getClassLoader());
        SimpleMessageListenerContainer listenerContainer = new SimpleMessageListenerContainer(
                this.connectionFactory);
        listenerContainer.setAcknowledgeMode(properties.getAcknowledgeMode(this.defaultAcknowledgeMode));
        listenerContainer.setChannelTransacted(properties.getTransacted(this.defaultChannelTransacted));
        listenerContainer
                .setDefaultRequeueRejected(properties.getRequeueRejected(this.defaultDefaultRequeueRejected));
        if (!isPubSub) {
            int concurrency = properties.getConcurrency(this.defaultConcurrency);
            concurrency = concurrency > 0 ? concurrency : 1;
            listenerContainer.setConcurrentConsumers(concurrency);
            int maxConcurrency = properties.getMaxConcurrency(this.defaultMaxConcurrency);
            if (maxConcurrency > concurrency) {
                listenerContainer.setMaxConcurrentConsumers(maxConcurrency);
            }
        }
        listenerContainer.setPrefetchCount(properties.getPrefetchCount(this.defaultPrefetchCount));
        listenerContainer.setTxSize(properties.getTxSize(this.defaultTxSize));
        listenerContainer.setTaskExecutor(new SimpleAsyncTaskExecutor(queue.getName() + "-"));
        listenerContainer.setQueues(queue);
        int maxAttempts = properties.getMaxAttempts(this.defaultMaxAttempts);
        if (maxAttempts > 1) {
            RetryOperationsInterceptor retryInterceptor = RetryInterceptorBuilder.stateless()
                    .maxAttempts(maxAttempts)
                    .backOffOptions(properties.getBackOffInitialInterval(this.defaultBackOffInitialInterval),
                            properties.getBackOffMultiplier(this.defaultBackOffMultiplier),
                            properties.getBackOffMaxInterval(this.defaultBackOffMaxInterval))
                    .recoverer(new RejectAndDontRequeueRecoverer()).build();
            listenerContainer.setAdviceChain(new Advice[] { retryInterceptor });
        }
        listenerContainer.setAfterReceivePostProcessors(this.decompressingPostProcessor);
        listenerContainer.setMessagePropertiesConverter(RabbitMessageBus.inboundMessagePropertiesConverter);
        listenerContainer.afterPropertiesSet();
        AmqpInboundChannelAdapter adapter = new AmqpInboundChannelAdapter(listenerContainer);
        adapter.setBeanFactory(this.getBeanFactory());
        DirectChannel bridgeToModuleChannel = new DirectChannel();
        bridgeToModuleChannel.setBeanFactory(this.getBeanFactory());
        bridgeToModuleChannel.setBeanName(name + ".bridge");
        adapter.setOutputChannel(bridgeToModuleChannel);
        adapter.setBeanName("inbound." + name);
        DefaultAmqpHeaderMapper mapper = new DefaultAmqpHeaderMapper();
        mapper.setRequestHeaderNames(properties.getRequestHeaderPattens(this.defaultRequestHeaderPatterns));
        mapper.setReplyHeaderNames(properties.getReplyHeaderPattens(this.defaultReplyHeaderPatterns));
        adapter.setHeaderMapper(mapper);
        adapter.afterPropertiesSet();
        Binding consumerBinding = Binding.forConsumer(name, adapter, moduleInputChannel, properties);
        addBinding(consumerBinding);
        ReceivingHandler convertingBridge = new ReceivingHandler();
        convertingBridge.setOutputChannel(moduleInputChannel);
        convertingBridge.setBeanName(name + ".convert.bridge");
        convertingBridge.afterPropertiesSet();
        bridgeToModuleChannel.subscribe(convertingBridge);
        consumerBinding.start();
    } finally {
        Thread.currentThread().setContextClassLoader(originalClassloader);
    }
}

From source file:org.springframework.xd.dirt.integration.rabbit.RabbitMessageBus.java

private void configureOutboundHandler(AmqpOutboundEndpoint handler, RabbitPropertiesAccessor properties) {
    DefaultAmqpHeaderMapper mapper = new DefaultAmqpHeaderMapper();
    mapper.setRequestHeaderNames(properties.getRequestHeaderPattens(this.defaultRequestHeaderPatterns));
    mapper.setReplyHeaderNames(properties.getReplyHeaderPattens(this.defaultReplyHeaderPatterns));
    handler.setHeaderMapper(mapper);/*www . j ava2 s .  c  o  m*/
    handler.setDefaultDeliveryMode(properties.getDeliveryMode(this.defaultDefaultDeliveryMode));
    handler.setBeanFactory(this.getBeanFactory());
    handler.afterPropertiesSet();
}