2017-02-15 2 views
0

Grail 3アプリケーションをテストして、別のサーバで実行されているmogoDBを接続しています。Grails 3 MongoDBがapplication.ymlからconnectionStringを読み取っていない

データベースへのスタンドアロンJavaプログラムの接続に成功しました。しかし、Grail 3アプリケーションはDBに接続できません。例外はlocalhostへの接続を示します。

私はそれがなぜaplication.ymlファイルからconnectionstringを読んでいないのか理解したいと思います。

application.ymlファイル:

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

私はこのエラーメッセージを見て、ページにアクセスします。

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: 

なぜlocalhostに接続していますか?

この回答から試してみましたがうまくいきませんでした。

Installing and using MongoDB in Grails 3.x

おかげ

答えて

2

開発と生産の両方で私のためにこの設定作業。

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" 

私はGrails 3.1.9と最新のMongoDBプラグインを使用しています。

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

ありがとうございます。 Grails 3.2.5を使用しています – sfgroups

関連する問題