2016-12-19 11 views
1

私は、ElasticSearchがSpringブートプロジェクトで起動(埋め込みまたは別のサーバ)されないようにする方法を探しています。 ESは現在使用されていませんが、プロジェクトの後半になります。Spring Boot - コードを削除せずにPAMを変更しないで埋め込みElasticSearchを無効にする

POMから行を削除すると、ESへの注釈がもう見つからないため、コードに大きな更新が必要です。

私のプロジェクトをそのままにしておくことはできますが、ESの起動(埋め込み)を防ぐ方法はありますか?

私の目標は、ESが使用されていないときは、当面は再起動を高速化することです。

もちろん、別のサーバーとしてESを実行することもできますが、時間を費やしたくありません。

おかげ

+0

ログに接続の問題がないように、まだ存在しないリモートESサーバーにESクライアントを作成したくないということですか?あなたはあなたのスプリングブートアプリケーションの中にESサーバーを埋め込むのではないでしょうか? – Val

+0

はい、デフォルトでは、Springブートは組み込みサーバーを起動しますが、私はそれを望ましくありません:) – Wouter

答えて

3

があなたの@SpringBootApplication

import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration; 

@SpringBootApplication(exclude = ElasticsearchAutoConfiguration.class) 
+0

これを追加しましたが、私はまだESの実行を見ることができます。コンソールは次のような内容を報告します:2016-12-19 13:22:13.110 WARN 56711 --- [anagement] [T#1]] o.e.cluster.routing.allocation。[Adaptoid] [Adaptoid] [ディスクロージャー] [ディスクリプタ] [ディスクリプタ]/[データ/ elasticsearch/nodes/0]フリー:46.1ギガバイト[9.9%]ノード – Wouter

+0

'Exclude = {ElasticsearchConfiguration.class}' – Jobin

+0

を試してください。動作しません。埋め込みESはまだ開始されています。 – Wouter

0

に次のexcludeを追加します。私は春ブーツapplication.propertiesで

でElasticsearchを有効/無効にするには、この方法を見つけた:

elastic_enable=false 

弾性configファイルで:

@Value("${elastic_enable}") boolean elastic_enable; 

@Bean public Client a() throws UnknownHostException { 
    if (elastic_enable) 
     return TransportClient.builder().build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(elastic_host), 9300)); 
    else 
     return TransportClient.builder().build(); 
} 
0

あなたはこの2つの春ブーツ自動設定を除外する必要があります。

ElasticsearchAutoConfiguration.class, ElasticsearchDataAutoConfiguration.class 

また、あなたがElasticsearchTemplateのためにあなたの弾性や@Beanため@Configurationクラスを持っている場合それらをコメントアウトしてください。私が持っている生産のオーバーライドでapplication.properties

spring.autoconfigure.exclude = org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration,org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration 

あなたがElasticsearchTemplate @Lazyを作るか@Profile("production")クラス

1

春のブート1.5.8で埋め込まれたelasticsearchを無効にしました。私の@SpringBootApplication。

これは役に立ちます。

import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration; 
import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; 
import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration; 

@SpringBootApplication(exclude = {ElasticsearchAutoConfiguration.class,ElasticsearchDataAutoConfiguration.class, ElasticsearchRepositoriesAutoConfiguration.class}) 
0

の下に配置する必要があります接続

spring.data.elasticsearch.cluster-nodes = someip:9300 
spring.autoconfigure.exclude = none 

確率を強制するために、ローカルで

関連する問題