简体   繁体   中英

Grails 3 Setup application.yml production mongodb

How to set the use connectionstring which usess mongodb in production.

development:
        grails:
            mongodb:
                connectionString: "mongodb://localhost:27017/fanfest"

    production:
        dataSource:
            dbCreate: update
            url: jdbc:h2:./prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
            properties:
                jmxEnabled: true
                initialSize: 5
                maxActive: 50
                minIdle: 5
                maxIdle: 25
                maxWait: 10000
                maxAge: 600000
                timeBetweenEvictionRunsMillis: 5000
                minEvictableIdleTimeMillis: 60000
                validationQuery: SELECT 1
                validationQueryTimeout: 3
                validationInterval: 15000
                testOnBorrow: true
                testWhileIdle: true
                testOnReturn: false
                jdbcInterceptors: ConnectionState
                defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED

Working with Grails 3 version. Able to connect with mongodb in development environment. Kindly provide some suggestions to set the mongodb in production environment.

You currently have development pointing at a mongo instance. The production configuration is pointed at the in memory H2 database. If you would like to configure a mongo database for your production environment may I suggest you take a look at Getting Started guide for Mongo and GORM.

In the production section of your configuration file you can use the connection string parameter as follows:

production {    
    grails {
        mongodb {
            connectionString = "mongodb://localhost:27017/PROD_fanfest"
        }
    }
}

Please note I have used your development URL but changed the table name since I recommend you keep the development database and production database separate. Configuring production datasource to use Mongo is that easy. There are more configuration options described in the Getting Started documentation.

Relevant information on configuring options below:

options {
    connectionsPerHost = 10 // The maximum number of connections allowed per host
    threadsAllowedToBlockForConnectionMultiplier = 5
    maxWaitTime = 120000 // Max wait time of a blocking thread for a connection.
    connectTimeout = 0 // The connect timeout in milliseconds. 0 == infinite
    socketTimeout = 0 // The socket timeout. 0 == infinite
    socketKeepAlive = false // Whether or not to have socket keep alive turned on
    writeConcern = new com.mongodb.WriteConcern(0, 0, false) // Specifies the number of servers to wait for on the write operation, and exception raising behavior
    sslEnabled = false // Specifies if the driver should use an SSL connection to Mongo
    socketFactory = … // Specifies the SocketFactory to use for creating connections
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM