2017-02-15 3 views
0

Ich teste die Grail 3-Anwendung, um mogoDB auf einem anderen Server zu verbinden.Grails 3 MongoDB liest connectionString nicht aus application.yml

Standalone-Java-Programm erfolgreich mit der Datenbank verbinden. Aber Grail 3 Anwendung kann nicht mit DB verbinden. Ausnahme zeigt seine Verbindung zu localhost.

Ich möchte verstehen, warum es connectionstr aus aplication.yml-Datei nicht lesen.

application.yml Datei:

environments: 
    development: 
     grails: 
      mongodb: 
       connectionString: "mongodb://192.168.1.13:27017/test" 

, wenn ich auf die Seite zugreifen, diese Fehlermeldung zu sehen.

grails> 2017-02-14 22:52:28.116 ERROR --- [nio-8080-exec-9] o.g.web.errors.GrailsExceptionResolver : MongoTimeoutException occurred when processing request: [GET] /book/index 
Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=127.0.0.1:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused: connect}}]. Stacktrace follows: 

warum seine Verbindung zu localhost?

aus dieser Antwort versucht, hat nicht funktioniert.

Installing and using MongoDB in Grails 3.x

Dank

Antwort

2

Diese Konfiguration Arbeit für mich sowohl in Entwicklung und Produktion.

environments: 
development: 
    grails: 
     mongodb: 
      host: "localhost" 
      port: 27017 
      username: "" 
      password: "" 
      databaseName: "mydb-dev" 
production: 
    grails: 
     mongodb: 
      host: "1.1.1.1" 
      # host: "localhost" 
      port: 27017 
      username: "" 
      password: "" 
      databaseName: "mydb-prod" 

Ich benutze Grails 3.1.9 und neuesten MongoDB Plugin.

compile 'org.grails.plugins:mongodb' 
+0

Danke, es funktioniert jetzt. Ich benutze Grails 3.2.5 – sfgroups