@Bean zipkin.storage.StorageComponent storageV1(StorageComponent storage) { return V2StorageComponent.create(storage); } }
@Bean ElasticsearchHttpStorage v2Storage(V2StorageComponent component) { return (ElasticsearchHttpStorage) component.delegate(); }
@Bean @ConditionalOnMissingBean V2StorageComponent storage(ElasticsearchHttpStorage.Builder esHttpBuilder) { return V2StorageComponent.create(esHttpBuilder.build()); }
@ConditionalOnBean(StorageComponent.class) @Bean StorageConsumer storageConsumer( StorageComponent component, @Value("${zipkin.sparkstreaming.consumer.storage.fail-fast:true}") boolean failFast, BeanFactory bf ) throws IOException { if (failFast) checkStorageOk(component); Properties properties = extractZipkinProperties(bf.getBean(ConfigurableEnvironment.class)); if (component instanceof V2StorageComponent) { zipkin2.storage.StorageComponent v2Storage = ((V2StorageComponent) component).delegate(); if (v2Storage instanceof ElasticsearchHttpStorage) { return new ElasticsearchStorageConsumer(properties); } else if (v2Storage instanceof zipkin2.storage.cassandra.CassandraStorage) { return new Cassandra3StorageConsumer(properties); } else { throw new UnsupportedOperationException(v2Storage + " not yet supported"); } } else if (component instanceof CassandraStorage) { return new CassandraStorageConsumer(properties); } else if (component instanceof MySQLStorage) { return new MySQLStorageConsumer(properties); } else { throw new UnsupportedOperationException(component + " not yet supported"); } }