this.requestedHeartbeat = requestedHeartbeat == 0 ? super.getRequestedHeartbeat() : requestedHeartbeat; this.connectionTimeout = connectionTimeout == 0 ? super.getConnectionTimeout() : connectionTimeout; this.clientProperties = clientProperties == null ? super.getClientProperties() : clientProperties;
/** * Add custom client properties. * @param clientProperties the client properties. * @see com.rabbitmq.client.ConnectionFactory#setClientProperties(java.util.Map) */ public void setClientProperties(Map<String, Object> clientProperties) { this.connectionFactory.getClientProperties().putAll(clientProperties); }
/** * Add custom client properties. * @param clientProperties the client properties. * @see com.rabbitmq.client.ConnectionFactory#setClientProperties(java.util.Map) */ public void setClientProperties(Map<String, Object> clientProperties) { this.connectionFactory.getClientProperties().putAll(clientProperties); }
/** * Parse the properties {@code key:value[,key:value]...} and add them to the * underlying connection factory client properties. * @param connectionFactory the connection factory. * @param clientConnectionProperties the properties. */ public static void updateClientConnectionProperties(AbstractConnectionFactory connectionFactory, String clientConnectionProperties) { if (clientConnectionProperties != null) { String[] props = clientConnectionProperties.split(","); if (props.length > 0) { Map<String, Object> clientProps = connectionFactory.getRabbitConnectionFactory() .getClientProperties(); for (String prop : props) { String[] aProp = prop.split(":"); if (aProp.length == 2) { clientProps.put(aProp[0].trim(), aProp[1].trim()); } } } } }
/** * Parse the properties {@code key:value[,key:value]...} and add them to the * underlying connection factory client properties. * @param connectionFactory the connection factory. * @param clientConnectionProperties the properties. */ public static void updateClientConnectionProperties(AbstractConnectionFactory connectionFactory, String clientConnectionProperties) { if (clientConnectionProperties != null) { String[] props = clientConnectionProperties.split(","); if (props.length > 0) { Map<String, Object> clientProps = connectionFactory.getRabbitConnectionFactory() .getClientProperties(); for (String prop : props) { String[] aProp = prop.split(":"); if (aProp.length == 2) { clientProps.put(aProp[0].trim(), aProp[1].trim()); } } } } }
this.requestedHeartbeat = requestedHeartbeat == 0 ? super.getRequestedHeartbeat() : requestedHeartbeat; this.connectionTimeout = connectionTimeout == 0 ? super.getConnectionTimeout() : connectionTimeout; this.clientProperties = clientProperties == null ? super.getClientProperties() : clientProperties;
@After public void close() { if (!this.connectionFactory.getVirtualHost().equals("non-existent")) { this.brokerIsRunning.removeTestQueues(); } assertEquals("bar", connectionFactory.getRabbitConnectionFactory().getClientProperties().get("foo")); connectionFactory.destroy(); }
@Before public void open() { connectionFactory = new CachingConnectionFactory("localhost"); connectionFactory.setPort(BrokerTestUtils.getPort()); connectionFactory.getRabbitConnectionFactory().getClientProperties().put("foo", "bar"); connectionFactory.setConnectionNameStrategy(cf -> CF_INTEGRATION_CONNECTION_NAME); }
@Override public void start() { this.events = createEventQueue(); ConnectionFactory rabbitConnectionFactory = createRabbitConnectionFactory(); if (rabbitConnectionFactory != null) { super.start(); this.routingKeyLayout.setPattern(this.routingKeyLayout.getPattern() .replaceAll("%property\\{applicationId\\}", this.applicationId)); this.routingKeyLayout.setContext(getContext()); this.routingKeyLayout.start(); this.locationLayout.setContext(getContext()); this.locationLayout.start(); this.connectionFactory = new CachingConnectionFactory(rabbitConnectionFactory); if (StringUtils.hasText(this.connectionName)) { this.connectionFactory.setConnectionNameStrategy(cf -> this.connectionName); } if (this.addresses != null) { this.connectionFactory.setAddresses(this.addresses); } ConnectionFactoryConfigurationUtils.updateClientConnectionProperties(this.connectionFactory, this.clientConnectionProperties); updateConnectionClientProperties(this.connectionFactory.getRabbitConnectionFactory().getClientProperties()); setUpExchangeDeclaration(); this.senderPool = Executors.newCachedThreadPool(); for (int i = 0; i < this.senderPoolSize; i++) { this.senderPool.submit(new EventSender()); } } }
@Override public void start() { this.events = createEventQueue(); ConnectionFactory rabbitConnectionFactory = createRabbitConnectionFactory(); if (rabbitConnectionFactory != null) { super.start(); this.routingKeyLayout.setPattern(this.routingKeyLayout.getPattern() .replaceAll("%property\\{applicationId\\}", this.applicationId)); this.routingKeyLayout.setContext(getContext()); this.routingKeyLayout.start(); this.locationLayout.setContext(getContext()); this.locationLayout.start(); this.connectionFactory = new CachingConnectionFactory(rabbitConnectionFactory); if (StringUtils.hasText(this.connectionName)) { this.connectionFactory.setConnectionNameStrategy(cf -> this.connectionName); } if (this.addresses != null) { this.connectionFactory.setAddresses(this.addresses); } ConnectionFactoryConfigurationUtils.updateClientConnectionProperties(this.connectionFactory, this.clientConnectionProperties); updateConnectionClientProperties(this.connectionFactory.getRabbitConnectionFactory().getClientProperties()); setUpExchangeDeclaration(); this.senderPool = Executors.newCachedThreadPool(); for (int i = 0; i < this.senderPoolSize; i++) { this.senderPool.submit(new EventSender()); } } }
@Test @Ignore public void test() throws Exception { RabbitConnectionFactoryBean fb = new RabbitConnectionFactoryBean(); fb.setUseSSL(true); fb.setSslPropertiesLocation(new ClassPathResource("ssl.properties")); fb.setClientProperties(Collections.<String, Object>singletonMap("foo", "bar")); fb.afterPropertiesSet(); ConnectionFactory cf = fb.getObject(); assertEquals("bar", cf.getClientProperties().get("foo")); Connection conn = cf.newConnection(); Channel chan = conn.createChannel(); chan.close(); conn.close(); }
private ConnectionOptions(ConnectionOptions options) { nioParams = options.nioParams; useNio = options.useNio; factory = makeConnectionFactory(); factory.setClientProperties(options.factory.getClientProperties()); factory.setConnectionTimeout(options.factory.getConnectionTimeout()); factory.setHost(options.factory.getHost()); factory.setPort(options.factory.getPort()); factory.setUsername(options.factory.getUsername()); factory.setPassword(options.factory.getPassword()); factory.setVirtualHost(options.factory.getVirtualHost()); factory.setRequestedChannelMax(options.factory.getRequestedChannelMax()); factory.setRequestedFrameMax(options.factory.getRequestedFrameMax()); factory.setRequestedHeartbeat(options.factory.getRequestedHeartbeat()); factory.setSaslConfig(options.factory.getSaslConfig()); factory.setSocketFactory(options.factory.getSocketFactory()); factory.setThreadFactory(options.factory.getThreadFactory()); factory.setMetricsCollector(options.factory.getMetricsCollector()); if (useNio) factory.useNio(); factory.setNioParams(nioParams); hosts = options.hosts; addresses = options.addresses; name = options.name; executor = options.executor; nioParams = options.nioParams; useNio = options.useNio; }
private ConnectionOptions(ConnectionOptions options) { nioParams = options.nioParams; useNio = options.useNio; factory = makeConnectionFactory(); factory.setClientProperties(options.factory.getClientProperties()); factory.setConnectionTimeout(options.factory.getConnectionTimeout()); factory.setHost(options.factory.getHost()); factory.setPort(options.factory.getPort()); factory.setUsername(options.factory.getUsername()); factory.setPassword(options.factory.getPassword()); factory.setVirtualHost(options.factory.getVirtualHost()); factory.setRequestedChannelMax(options.factory.getRequestedChannelMax()); factory.setRequestedFrameMax(options.factory.getRequestedFrameMax()); factory.setRequestedHeartbeat(options.factory.getRequestedHeartbeat()); factory.setSaslConfig(options.factory.getSaslConfig()); factory.setSocketFactory(options.factory.getSocketFactory()); factory.setThreadFactory(options.factory.getThreadFactory()); factory.setMetricsCollector(options.factory.getMetricsCollector()); if (useNio) factory.useNio(); factory.setNioParams(nioParams); hosts = options.hosts; addresses = options.addresses; name = options.name; executor = options.executor; nioParams = options.nioParams; useNio = options.useNio; }