@Override protected void customizeTenantServiceClientConfig(final RequestResponseClientConfigProperties config) { if (config != null) { config.setName(CONTAINER_ID_HONO_AMQP_ADAPTER); } }
/** * Create a new cache provider based on Guava and Spring Cache. * * @param config The configuration to use as base for this cache. * @return A new cache provider or {@code null} if no cache should be used. */ private static CacheProvider newGuavaCache(final RequestResponseClientConfigProperties config) { final int minCacheSize = config.getResponseCacheMinSize(); final long maxCacheSize = config.getResponseCacheMaxSize(); if (maxCacheSize <= 0) { return null; } final CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder() .concurrencyLevel(1) .initialCapacity(minCacheSize) .maximumSize(Math.max(minCacheSize, maxCacheSize)); final GuavaCacheManager manager = new GuavaCacheManager(); manager.setAllowNullValues(false); manager.setCacheBuilder(builder); return new SpringCacheProvider(manager); }
/** * Exposes configuration properties for accessing the credentials service as a Spring bean. * * @return The properties. */ @Qualifier(CredentialsConstants.CREDENTIALS_ENDPOINT) @ConfigurationProperties(prefix = "hono.credentials") @Bean public ClientConfigProperties credentialsServiceClientConfig() { final RequestResponseClientConfigProperties config = new RequestResponseClientConfigProperties(); customizeCredentialsServiceClientConfig(config); return config; }
/** * Gets the default value for the period of time after which an entry in the response cache * is considered invalid. * <p> * The value is derived from the configuration properties as follows: * <ol> * <li>if the properties are of type {@link RequestResponseClientConfigProperties} * then the value of its <em>responseCacheDefaultTimeout</em> property is used</li> * <li>otherwise the {@linkplain RequestResponseClientConfigProperties#DEFAULT_RESPONSE_CACHE_TIMEOUT * default timeout value} is used</li> * </ol> * * @return The timeout period in seconds. */ protected final long getResponseCacheDefaultTimeout() { if (config instanceof RequestResponseClientConfigProperties) { return ((RequestResponseClientConfigProperties) config).getResponseCacheDefaultTimeout(); } else { return RequestResponseClientConfigProperties.DEFAULT_RESPONSE_CACHE_TIMEOUT; } }
/** * Create a new cache provider based on Guava and Spring Cache. * * @param config The configuration to use as base for this cache. * @return A new cache provider or {@code null} if no cache should be used. */ private static CacheProvider newGuavaCache(final RequestResponseClientConfigProperties config) { final int minCacheSize = config.getResponseCacheMinSize(); final long maxCacheSize = config.getResponseCacheMaxSize(); if (maxCacheSize <= 0) { return null; } final CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder() .concurrencyLevel(1) .initialCapacity(minCacheSize) .maximumSize(Math.max(minCacheSize, maxCacheSize)); final GuavaCacheManager manager = new GuavaCacheManager(); manager.setAllowNullValues(false); manager.setCacheBuilder(builder); return new SpringCacheProvider(manager); } }
/** * Exposes configuration properties for accessing the tenant service as a Spring bean. * * @return The properties. */ @Qualifier(TenantConstants.TENANT_ENDPOINT) @ConfigurationProperties(prefix = "hono.tenant") @Bean public RequestResponseClientConfigProperties tenantServiceClientConfig() { final RequestResponseClientConfigProperties config = new RequestResponseClientConfigProperties(); customizeTenantServiceClientConfig(config); return config; }
/** * Exposes configuration properties for accessing the tenant service as a Spring bean. * * @return The properties. */ @Qualifier(TenantConstants.TENANT_ENDPOINT) @ConfigurationProperties(prefix = "hono.tenant") @Bean public RequestResponseClientConfigProperties tenantServiceClientConfig() { final RequestResponseClientConfigProperties config = new RequestResponseClientConfigProperties(); customizeTenantServiceClientConfig(config); return config; }
/** * Exposes configuration properties for accessing the credentials service as a Spring bean. * * @return The properties. */ @Qualifier(CredentialsConstants.CREDENTIALS_ENDPOINT) @ConfigurationProperties(prefix = "hono.credentials") @Bean public ClientConfigProperties credentialsServiceClientConfig() { final RequestResponseClientConfigProperties config = new RequestResponseClientConfigProperties(); customizeCredentialsServiceClientConfig(config); return config; }
/** * Exposes configuration properties for accessing the registration service as a Spring bean. * <p> * Sets the <em>amqpHostname</em> to {@code hono-device-registry} if not set explicitly. * * @return The properties. */ @Qualifier(RegistrationConstants.REGISTRATION_ENDPOINT) @ConfigurationProperties(prefix = "hono.registration") @Bean public RequestResponseClientConfigProperties registrationServiceClientConfig() { final RequestResponseClientConfigProperties config = new RequestResponseClientConfigProperties(); customizeRegistrationServiceClientConfig(config); return config; }
/** * Exposes configuration properties for accessing the registration service as a Spring bean. * <p> * Sets the <em>amqpHostname</em> to {@code hono-device-registry} if not set explicitly. * * @return The properties. */ @Qualifier(RegistrationConstants.REGISTRATION_ENDPOINT) @ConfigurationProperties(prefix = "hono.registration") @Bean public RequestResponseClientConfigProperties registrationServiceClientConfig() { final RequestResponseClientConfigProperties config = new RequestResponseClientConfigProperties(); customizeRegistrationServiceClientConfig(config); return config; }