当前位置: 首页>>代码示例>>Java>>正文


Java AmqpInboundChannelAdapter类代码示例

本文整理汇总了Java中org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter的典型用法代码示例。如果您正苦于以下问题:Java AmqpInboundChannelAdapter类的具体用法?Java AmqpInboundChannelAdapter怎么用?Java AmqpInboundChannelAdapter使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


AmqpInboundChannelAdapter类属于org.springframework.integration.amqp.inbound包,在下文中一共展示了AmqpInboundChannelAdapter类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createConsumerEndpoint

import org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter; //导入依赖的package包/类
@Override
protected MessageProducer createConsumerEndpoint(ConsumerDestination consumerDestination, String group,
		ExtendedConsumerProperties<RabbitConsumerProperties> properties) {
	Assert.state(!HeaderMode.embeddedHeaders.equals(properties.getHeaderMode()),
			"the RabbitMQ binder does not support embedded headers since RabbitMQ supports headers natively");
	String destination = consumerDestination.getName();
	SimpleMessageListenerContainer listenerContainer = new SimpleMessageListenerContainer(
			this.connectionFactory);
	listenerContainer.setAcknowledgeMode(properties.getExtension().getAcknowledgeMode());
	listenerContainer.setChannelTransacted(properties.getExtension().isTransacted());
	listenerContainer.setDefaultRequeueRejected(properties.getExtension().isRequeueRejected());
	int concurrency = properties.getConcurrency();
	concurrency = concurrency > 0 ? concurrency : 1;
	listenerContainer.setConcurrentConsumers(concurrency);
	int maxConcurrency = properties.getExtension().getMaxConcurrency();
	if (maxConcurrency > concurrency) {
		listenerContainer.setMaxConcurrentConsumers(maxConcurrency);
	}
	listenerContainer.setPrefetchCount(properties.getExtension().getPrefetch());
	listenerContainer.setRecoveryInterval(properties.getExtension().getRecoveryInterval());
	listenerContainer.setTxSize(properties.getExtension().getTxSize());
	listenerContainer.setTaskExecutor(new SimpleAsyncTaskExecutor(consumerDestination.getName() + "-"));
	listenerContainer.setQueueNames(consumerDestination.getName());
	listenerContainer.setAfterReceivePostProcessors(this.decompressingPostProcessor);
	listenerContainer.setMessagePropertiesConverter(
			RabbitMessageChannelBinder.inboundMessagePropertiesConverter);
	listenerContainer.setExclusive(properties.getExtension().isExclusive());
	listenerContainer.setMissingQueuesFatal(properties.getExtension().getMissingQueuesFatal());
	if (properties.getExtension().getQueueDeclarationRetries() != null) {
		listenerContainer.setDeclarationRetries(properties.getExtension().getQueueDeclarationRetries());
	}
	if (properties.getExtension().getFailedDeclarationRetryInterval() != null) {
		listenerContainer.setFailedDeclarationRetryInterval(
				properties.getExtension().getFailedDeclarationRetryInterval());
	}
	listenerContainer.afterPropertiesSet();

	AmqpInboundChannelAdapter adapter = new AmqpInboundChannelAdapter(listenerContainer);
	adapter.setBeanFactory(this.getBeanFactory());
	adapter.setBeanName("inbound." + destination);
	DefaultAmqpHeaderMapper mapper = DefaultAmqpHeaderMapper.inboundMapper();
	mapper.setRequestHeaderNames(properties.getExtension().getHeaderPatterns());
	adapter.setHeaderMapper(mapper);
	ErrorInfrastructure errorInfrastructure = registerErrorInfrastructure(consumerDestination, group, properties);
	if (properties.getMaxAttempts() > 1) {
		adapter.setRetryTemplate(buildRetryTemplate(properties));
		if (properties.getExtension().isRepublishToDlq()) {
			adapter.setRecoveryCallback(errorInfrastructure.getRecoverer());
		}
	}
	else {
		adapter.setErrorMessageStrategy(errorMessageStrategy);
		adapter.setErrorChannel(errorInfrastructure.getErrorChannel());
	}
	return adapter;
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-stream-binder-rabbit,代码行数:57,代码来源:RabbitMessageChannelBinder.java

示例2: adapter

import org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter; //导入依赖的package包/类
@Bean
public AmqpInboundChannelAdapter adapter() {
	return Amqp.inboundAdapter(container()).outputChannel(channels.output())
			.mappedRequestHeaders(properties.getMappedRequestHeaders())
			.get();
}
 
开发者ID:spring-cloud-stream-app-starters,项目名称:rabbit,代码行数:7,代码来源:RabbitSourceConfiguration.java


注:本文中的org.springframework.integration.amqp.inbound.AmqpInboundChannelAdapter类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。