@Bean @ConditionalOnProperty(prefix = "spring.rabbitmq", name = "host") public SimpleRabbitListenerContainerFactory myContainerFactory( SimpleRabbitListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setPrefetchCount(100); configurer.configure(factory, connectionFactory); return factory; }
@Bean(ZipkinAutoConfiguration.SENDER_BEAN_NAME) Sender rabbitSender(CachingConnectionFactory connectionFactory, RabbitProperties config) { return RabbitMQSender.newBuilder() .connectionFactory(connectionFactory.getRabbitConnectionFactory()) .queue(this.queue).addresses(config.determineAddresses()).build(); }
public RabbitMqSetupService(final RabbitProperties properties) { hostname = properties.getHost(); username = properties.getUsername(); if (StringUtils.isEmpty(username)) { username = DEFAULT_USER; } password = properties.getPassword(); if (StringUtils.isEmpty(password)) { password = DEFAULT_PASSWORD; } }
static void configureCachingConnectionFactory(CachingConnectionFactory connectionFactory, ConfigurableApplicationContext applicationContext, RabbitProperties rabbitProperties) throws Exception { if (StringUtils.hasText(rabbitProperties.getAddresses())) { connectionFactory.setAddresses(rabbitProperties.determineAddresses()); } connectionFactory.setPublisherConfirms(rabbitProperties.isPublisherConfirms()); connectionFactory.setPublisherReturns(rabbitProperties.isPublisherReturns()); if (rabbitProperties.getCache().getChannel().getSize() != null) { connectionFactory.setChannelCacheSize(rabbitProperties.getCache().getChannel().getSize()); } if (rabbitProperties.getCache().getConnection().getMode() != null) { connectionFactory.setCacheMode(rabbitProperties.getCache().getConnection().getMode()); } if (rabbitProperties.getCache().getConnection().getSize() != null) { connectionFactory.setConnectionCacheSize( rabbitProperties.getCache().getConnection().getSize()); } if (rabbitProperties.getCache().getChannel().getCheckoutTimeout() != null) { connectionFactory.setChannelCheckoutTimeout( rabbitProperties.getCache().getChannel().getCheckoutTimeout().toMillis()); } connectionFactory.setApplicationContext(applicationContext); applicationContext.addApplicationListener(connectionFactory); connectionFactory.afterPropertiesSet(); }
@Override public void onInit() throws Exception { super.onInit(); if (this.clustered) { String[] addresses = StringUtils.commaDelimitedListToStringArray(this.rabbitProperties.getAddresses()); Assert.state(addresses.length == this.adminAddresses.length && addresses.length == this.nodes.length, "'addresses', 'adminAddresses', and 'nodes' properties must have equal length"); this.connectionFactory = new LocalizedQueueConnectionFactory(this.connectionFactory, addresses, this.adminAddresses, this.nodes, this.rabbitProperties.getVirtualHost(), this.rabbitProperties.getUsername(), this.rabbitProperties.getPassword(), this.rabbitProperties.getSsl().isEnabled(), this.rabbitProperties.getSsl().getKeyStore(), this.rabbitProperties.getSsl().getTrustStore(), this.rabbitProperties.getSsl().getKeyStorePassword(), this.rabbitProperties.getSsl().getTrustStorePassword()); this.destroyConnectionFactory = true; } }
: this.rabbitConnectionFactory; SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory); RabbitProperties.SimpleContainer simpleContainer = this.rabbitProperties.getListener().getSimple(); AcknowledgeMode acknowledgeMode = simpleContainer.getAcknowledgeMode(); if (acknowledgeMode != null) { container.setAcknowledgeMode(acknowledgeMode); Integer concurrency = simpleContainer.getConcurrency(); if (concurrency != null) { container.setConcurrentConsumers(concurrency); Integer maxConcurrency = simpleContainer.getMaxConcurrency(); if (maxConcurrency != null) { container.setMaxConcurrentConsumers(maxConcurrency); Integer prefetch = simpleContainer.getPrefetch(); if (prefetch != null) { container.setPrefetchCount(prefetch); Integer transactionSize = simpleContainer.getTransactionSize(); if (transactionSize != null) { container.setTxSize(transactionSize);
@Bean Client rabbitManagementTemplate () throws Exception { String username = rabbitProperties.determineUsername(); String password = rabbitProperties.determinePassword(); String host = rabbitProperties.determineHost(); String url = String.format("http://%s:%s@%s:15672/api/",username!=null?username:DEFAULT_USER,username!=null?password:DEFAULT_PASS,host!=null?host:DEFAULT_HOST); return new Client(url); }
@Override public CachingConnectionFactory rabbitConnectionFactory(RabbitProperties config, ObjectProvider<ConnectionNameStrategy> connectionNameStrategy) throws Exception { CachingConnectionFactory cf = super.rabbitConnectionFactory(config, connectionNameStrategy); cf.setConnectionNameStrategy(new ConnectionNameStrategy() { @Override public String obtainNewConnectionName(ConnectionFactory connectionFactory) { return "rabbit.source.own.connection"; } }); cf.afterPropertiesSet(); return cf; }
static void configureCachingConnectionFactory(CachingConnectionFactory connectionFactory, ConfigurableApplicationContext applicationContext, RabbitProperties rabbitProperties) throws Exception { if (StringUtils.hasText(rabbitProperties.getAddresses())) { connectionFactory.setAddresses(rabbitProperties.determineAddresses()); } connectionFactory.setPublisherConfirms(rabbitProperties.isPublisherConfirms()); connectionFactory.setPublisherReturns(rabbitProperties.isPublisherReturns()); if (rabbitProperties.getCache().getChannel().getSize() != null) { connectionFactory.setChannelCacheSize(rabbitProperties.getCache().getChannel().getSize()); } if (rabbitProperties.getCache().getConnection().getMode() != null) { connectionFactory.setCacheMode(rabbitProperties.getCache().getConnection().getMode()); } if (rabbitProperties.getCache().getConnection().getSize() != null) { connectionFactory.setConnectionCacheSize( rabbitProperties.getCache().getConnection().getSize()); } if (rabbitProperties.getCache().getChannel().getCheckoutTimeout() != null) { connectionFactory.setChannelCheckoutTimeout( rabbitProperties.getCache().getChannel().getCheckoutTimeout().toMillis()); } connectionFactory.setApplicationContext(applicationContext); applicationContext.addApplicationListener(connectionFactory); connectionFactory.afterPropertiesSet(); }
@Override public void onInit() throws Exception { super.onInit(); if (this.clustered) { String[] addresses = StringUtils.commaDelimitedListToStringArray(this.rabbitProperties.getAddresses()); Assert.state(addresses.length == this.adminAddresses.length && addresses.length == this.nodes.length, "'addresses', 'adminAddresses', and 'nodes' properties must have equal length"); this.connectionFactory = new LocalizedQueueConnectionFactory(this.connectionFactory, addresses, this.adminAddresses, this.nodes, this.rabbitProperties.getVirtualHost(), this.rabbitProperties.getUsername(), this.rabbitProperties.getPassword(), this.rabbitProperties.getSsl().isEnabled(), this.rabbitProperties.getSsl().getKeyStore(), this.rabbitProperties.getSsl().getTrustStore(), this.rabbitProperties.getSsl().getKeyStorePassword(), this.rabbitProperties.getSsl().getTrustStorePassword()); this.destroyConnectionFactory = true; } }
/** * My container factory simple rabbit listener container factory. * * @param configurer the configurer * @param connectionFactory the connection factory * @return the simple rabbit listener container factory */ @Bean @ConditionalOnProperty(prefix = "spring.rabbitmq", name = "host") public SimpleRabbitListenerContainerFactory myContainerFactory( SimpleRabbitListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setPrefetchCount(100); configurer.configure(factory, connectionFactory); return factory; }
public RabbitMqSetupService(RabbitProperties properties) { hostname = properties.getHost(); username = properties.getUsername(); if (StringUtils.isEmpty(username)) { username = DEFAULT_USER; } password = properties.getPassword(); if (StringUtils.isEmpty(password)) { password = DEFAULT_PASSWORD; } }
@Bean(ZipkinAutoConfiguration.SENDER_BEAN_NAME) Sender rabbitSender(CachingConnectionFactory connectionFactory, RabbitProperties config) { return RabbitMQSender.newBuilder() .connectionFactory(connectionFactory.getRabbitConnectionFactory()) .queue(this.queue).addresses(config.determineAddresses()).build(); }
@Override public CachingConnectionFactory rabbitConnectionFactory(RabbitProperties config, ObjectProvider<ConnectionNameStrategy> connectionNameStrategy) throws Exception { CachingConnectionFactory cf = super.rabbitConnectionFactory(config, connectionNameStrategy); cf.setConnectionNameStrategy(new ConnectionNameStrategy() { @Override public String obtainNewConnectionName(ConnectionFactory connectionFactory) { return "rabbit.sink.own.connection"; } }); cf.afterPropertiesSet(); return cf; }
/** * My container factory simple rabbit listener container factory. * * @param configurer the configurer * @param connectionFactory the connection factory * @return the simple rabbit listener container factory */ @Bean @ConditionalOnProperty(prefix = "spring.rabbitmq", name = "host") public SimpleRabbitListenerContainerFactory myContainerFactory( SimpleRabbitListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setPrefetchCount(100); configurer.configure(factory, connectionFactory); return factory; }
@Bean Sender rabbitSender(CachingConnectionFactory connectionFactory, RabbitProperties config) { return RabbitMQSender.newBuilder() .connectionFactory(connectionFactory.getRabbitConnectionFactory()) .queue(this.queue) .addresses(config.determineAddresses()) .build(); } }
@Bean public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory, SimpleRabbitListenerContainerFactoryConfigurer configurer) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); configurer.configure(factory, connectionFactory); factory.setErrorHandler(errorHandler()); return factory; }
@Bean @ConditionalOnMissingBean(name = "listenerContainerFactory") public RabbitListenerContainerFactory<SimpleMessageListenerContainer> listenerContainerFactory( final SimpleRabbitListenerContainerFactoryConfigurer configurer, final ErrorHandler errorHandler) { final ConfigurableRabbitListenerContainerFactory factory = new ConfigurableRabbitListenerContainerFactory( amqpProperties.isMissingQueuesFatal(), amqpProperties.getDeclarationRetries(), errorHandler); configurer.configure(factory, rabbitConnectionFactory); return factory; }
/** * 设置消息转换器为json转换 * * @param configurer * @return */ @Bean public SimpleRabbitListenerContainerFactory myFactory(SimpleRabbitListenerContainerFactoryConfigurer configurer) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); configurer.configure(factory, connectionFactory); factory.setMessageConverter(jsonMessageConverter()); return factory; }
@Bean public SimpleRabbitListenerContainerFactory manualFactory(SimpleRabbitListenerContainerFactoryConfigurer configurer) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); configurer.configure(factory, connectionFactory); factory.setMessageConverter(jsonMessageConverter()); factory.setAcknowledgeMode(AcknowledgeMode.MANUAL); return factory; }