2010-02-08 15:30:06 +02:00
|
|
|
/*
|
2014-01-06 22:48:02 +01:00
|
|
|
* Licensed to Elasticsearch under one or more contributor
|
|
|
|
* license agreements. See the NOTICE file distributed with
|
|
|
|
* this work for additional information regarding copyright
|
|
|
|
* ownership. Elasticsearch licenses this file to you under
|
|
|
|
* the Apache License, Version 2.0 (the "License"); you may
|
|
|
|
* not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
2010-02-08 15:30:06 +02:00
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing,
|
|
|
|
* software distributed under the License is distributed on an
|
|
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
|
* KIND, either express or implied. See the License for the
|
|
|
|
* specific language governing permissions and limitations
|
|
|
|
* under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
package org.elasticsearch.index.shard;
|
|
|
|
|
2010-06-15 16:51:38 +03:00
|
|
|
import org.elasticsearch.common.inject.AbstractModule;
|
2012-02-05 18:52:56 +02:00
|
|
|
import org.elasticsearch.common.settings.Settings;
|
2015-01-07 16:32:32 +01:00
|
|
|
import org.elasticsearch.index.engine.EngineFactory;
|
2015-02-05 11:51:18 -07:00
|
|
|
import org.elasticsearch.index.engine.InternalEngineFactory;
|
2012-04-29 00:37:20 +03:00
|
|
|
import org.elasticsearch.index.warmer.ShardIndexWarmerService;
|
2010-02-08 15:30:06 +02:00
|
|
|
|
|
|
|
/**
|
2011-12-06 02:42:25 +02:00
|
|
|
*
|
2010-02-08 15:30:06 +02:00
|
|
|
*/
|
|
|
|
public class IndexShardModule extends AbstractModule {
|
|
|
|
|
2015-01-07 16:32:32 +01:00
|
|
|
public static final String ENGINE_FACTORY = "index.engine.factory";
|
|
|
|
private static final Class<? extends EngineFactory> DEFAULT_ENGINE_FACTORY_CLASS = InternalEngineFactory.class;
|
|
|
|
|
2010-02-08 15:30:06 +02:00
|
|
|
private final ShardId shardId;
|
2015-01-07 16:32:32 +01:00
|
|
|
private final Settings settings;
|
2010-02-08 15:30:06 +02:00
|
|
|
|
2015-01-07 16:32:32 +01:00
|
|
|
public IndexShardModule(ShardId shardId, Settings settings) {
|
|
|
|
this.settings = settings;
|
2010-02-08 15:30:06 +02:00
|
|
|
this.shardId = shardId;
|
|
|
|
}
|
|
|
|
|
2011-12-06 02:42:25 +02:00
|
|
|
@Override
|
|
|
|
protected void configure() {
|
2010-02-08 15:30:06 +02:00
|
|
|
bind(ShardId.class).toInstance(shardId);
|
2014-12-11 16:38:17 +01:00
|
|
|
bind(IndexShard.class).asEagerSingleton();
|
2015-01-07 16:32:32 +01:00
|
|
|
bind(EngineFactory.class).to(settings.getAsClass(ENGINE_FACTORY, DEFAULT_ENGINE_FACTORY_CLASS,
|
|
|
|
"org.elasticsearch.index.engine.", "EngineFactory"));
|
2012-04-29 00:37:20 +03:00
|
|
|
bind(ShardIndexWarmerService.class).asEagerSingleton();
|
2010-02-08 15:30:06 +02:00
|
|
|
}
|
2015-01-07 16:32:32 +01:00
|
|
|
|
2010-02-08 15:30:06 +02:00
|
|
|
}
|