Expand my Community achievements bar.

SOLVED

mongodb org.apache.jackrabbit.oak.plugins.document.Document.config proper syntax on AEM 6.5

Avatar

Level 3

Hello,

we have issues with aem not recognising db name and url from config file on aem 6.5

I saw in this url

https://experienceleague.adobe.com/docs/experience-manager-64/deploying/introduction/aem-with-mongod...

this syntax

 

mongodburi=mongodb://aem:aempassword@mongodbserver1.customer.com:27000,mongodbserver2.customer.com:27000
#Name of MongoDB database to use
db=aem
#Store binaries in custom BlobStore e.g. FileDataStore
customBlobStore=true
 
while this
 
is suggesting this syntax with mongouri (instead of mongodburi ) boolean type and quotes:
 
#Mongo server details
mongouri="mongodb://localhost:27017"

#Name of Mongo database to use
db="aem-author"

#Store binaries in custom BlobStore
customBlobStore=B"false"
 
which is the right one on the latest AEM 6.5 ?
any idea why the config file might not be applied?
 
Thanks
 
 
1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

First, Make sure you are using .config and not .cfg for configuration files, and the syntax was also changed from :

 

 

# org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.cfg

#MongoDB server details
mongodburi=mongodb://aem:aempassword@mongodbserver1.customer.com:27000],mongodbserver2.customer.com:27000#Name of MongoDB database to use
db=aem
#Store binaries in custom BlobStore e.g. FileDataStore
customBlobStore=true
cache=2048
blobCacheSize=1024

 To

#org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config

#Mongo server details mongouri="mongodb://aem:aempassword@mongodbserver1.customer.com:27000],mongodbserver2.customer.com:27000" #Name of Mongo database to use 
db="aem"  
#Store binaries in custom BlobStore 
customBlobStore=B"true"
cache=I"2048" 
blobCacheSize=I"1024"

View solution in original post

5 Replies

Avatar

Correct answer by
Employee Advisor

First, Make sure you are using .config and not .cfg for configuration files, and the syntax was also changed from :

 

 

# org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.cfg

#MongoDB server details
mongodburi=mongodb://aem:aempassword@mongodbserver1.customer.com:27000],mongodbserver2.customer.com:27000#Name of MongoDB database to use
db=aem
#Store binaries in custom BlobStore e.g. FileDataStore
customBlobStore=true
cache=2048
blobCacheSize=1024

 To

#org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config

#Mongo server details mongouri="mongodb://aem:aempassword@mongodbserver1.customer.com:27000],mongodbserver2.customer.com:27000" #Name of Mongo database to use 
db="aem"  
#Store binaries in custom BlobStore 
customBlobStore=B"true"
cache=I"2048" 
blobCacheSize=I"1024"

Avatar

Level 3

Thanks !
do you have a mongouri sample with repilicaset and authentication with authSource?

 

Avatar

Employee Advisor

You can check [1] for more details on the connection string options

 

[1] https://docs.mongodb.com/manual/reference/connection-string/

 

Avatar

Level 3

Hi ,

my experience is that with a connection string containg replicaset like mongodb://mongouser:password@mongoserver1:27000/DBNAME?replicaSet=replicaset&authSource=source
the config file org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService.config   is ignored  if it contains that mongouri.

If we specify the uri in  -Doak.mongo.uri   in  CQ_JVM_OPTS in startup script it is correctly applied and even parameters in  config file like db name or customBlobStore are correcty applied.
Is it possibile that some kind of parsing of uri  in config file  fails in case of replicaset and prevents using it?