2016-07-29 4 views
1

Я строю игру! Framework (2.5) Java-приложение, и я хочу связать его с ElasticSearch с помощью Ebean.Как подключить Play! Рамки через Ebean до ElasticSearch

Во-первых, я последовал the steps here и успешно подключен к фиктивной (JDBC Добавлен плагин, модифицированный build.sbt, добавлено ebean.default="models.*", default.driver = org.h2.Driver и default.url = "jdbc:h2:mem:play" к application.conf). Все идет нормально.

Теперь я хочу переключить свое соединение на ElasticSearch вместо jdbc, поэтому я следую the steps here, но я не могу понять это для жизни меня. То, что я сделал до сих пор:

  • Добавлено в build.sbt:

    libraryDependencies ++= Seq("org.avaje.ebeanorm" % "avaje-ebeanorm-elastic" % "1.3.1") 
    
  • Добавлено в application.conf:

    ebean.docstore.url="http://localhost:9200" 
    ebean.docstore.active=true 
    ebean.docstore.generateMapping=true 
    ebean.docstore.dropCreate=true` 
    
  • Исключен из application.conf

    default.driver = org.h2.Driver 
    default.url = "jdbc:h2:mem:play" 
    

Я не могу получить этот код, чтобы работать, потому что я получаю эту ошибку:

RuntimeException: com.typesafe.config.ConfigException$WrongType: application.conf @ file:/C:/Users/../conf/application.conf: 357-360: docstore has type OBJECT rather than LIST

я бы очень признателен за любые указатели в правильном направлении. Благодаря!

ответ

0

Вы можете:

  1. Override конфигурации ebean programmaticaly
  2. Добавить конфигурацию в ebean файле свойств

1 - Программным

package models; 

import com.avaje.ebean.config.ServerConfig; 
import com.avaje.ebean.event.ServerConfigStartup; 

public class ConfigOverride implements ServerConfigStartup { 

    public void onStart(ServerConfig serverConfig) { 
     serverConfig.getDocStoreConfig().setUrl("http://localhost:9200"); 
     serverConfig.getDocStoreConfig().setActive(true); 
     serverConfig.getDocStoreConfig().setGenerateMapping(false); 
     serverConfig.getDocStoreConfig().setDropCreate(false); 
     serverConfig.getDocStoreConfig().setCreate(false); 
     serverConfig.getDocStoreConfig().setPathToResources("conf"); 
    } 
} 

2 - Конфигурация

Вы должны разместить свои ebean.docstore в ebean.properties в каталоге conf. Но к сожалению, мне не удалось сделать работу приложения в режиме этапа

Источник: https://raw.githubusercontent.com/playframework/play-ebean/master/docs/manual/working/javaGuide/main/sql/JavaEbean.md

FYI: Я открыл вопрос здесь: https://github.com/playframework/play-ebean/issues/104