After we upgraded IIQ to version 8.2p5, how should it connect to mongoDB atlas? We used jdbc:mongodb+srv before, but now it doesn’t work. So I want to know how to fill in the connection address and other information。
MongoDB Atlas provides a few ways to connect, but the mongodb+srv://
URI is generally preferred for its simplicity.
MongoDB Atlas SRV connection string:
mongodb+srv://<username>:<password>@<cluster-url>/<databaseName>?retryWrites=true&w=majority
Where:
<username>
: Your MongoDB database user.<password>
: The password for that user<cluster-url>
: This is the unique DNS SRV hostname for your Atlas cluster (e.g.,cluster0.abcde.mongodb.net
). You get this directly from your MongoDB Atlas dashboard.<databaseName>
: (Optional but often recommended) The name of the database you want to connect to. If not specified, it might
hi @KysonXu
Can you share the error if possible?
Before upgrading to 8.2p5+JDK17, we used JDK8. The connection address was jdbc:mongodb+srv://, but now an error is reported, as shown in the figure. We were able to connect normally before. Thanks
Can you paste the error from the log file?
at java.lang.Thread.run(Thread.java:842) [?:?]
Caused by: sailpoint.connector.ConnectorException: java.sql.SQLException: com.mongodb.MongoClientException: Unable to support mongodb+srv// style connections as the ‘com.sun.jndi.dns.DnsContextFactory’ class is not available in this JRE. A JNDI context is required for resolving SRV records.
at sailpoint.connector.JDBCConnector.getConnection(JDBCConnector.java:2423) ~[connector-bundle-jdbc.jar:8.4p1]
at sailpoint.connector.JDBCConnector.testConfiguration(JDBCConnector.java:337) ~[connector-bundle-jdbc.jar:8.4p1]
… 76 more
hi @KysonXu
Thank you for providing the logs:
Probably I would try below things
- Avoid
mongodb+srv
— Use the standard MongoDB URI format instead. - Convert URI
From:
jdbc:mongodb+srv://user:[email protected]/myDB
To:
jdbc:mongodb://user:pass@host1:27017,host2:27017/myDB?ssl=true&replicaSet=yourReplicaSet&authSource=admin
- Get hostnames & replica set from MongoDB Atlas → Connect > Drivers > Connection String Only.
- Ensure SSL and authSource are correctly set.
- Update JDBC driver if needed for compatibility.
Hi @haideralishaik Thanks.
When we use this format of address jdbc:mongodb://user:pass@host1:27017,host2:27017/myDB?ssl=true&replicaSet=yourReplicaSet&authSource=admin
,
a new error occurs: failed to access class org.bson.BSON from class com.mongodb.DBObjectCodec (org.bson.BSON and com.mongodb.DBObjectCodec are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @4f99b0ff)
Hi @KysonXu
This happens when the MongoDB Java driver version you’re using is incompatible with the Java module system or with SailPoint’s classloader (e.g., Tomcat’s ParallelWebappClassLoader
).
Try below steps:
- Use a compatible MongoDB Java driver
Downgrade to a stable version like:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.14</version>
</dependency>
This version avoids module-related issues and is widely compatible
-
Avoid using newer MongoDB drivers (4.x+)
These rely on Java modules and may conflict with SailPoint’s runtime environment. -
Ensure no conflicting drivers
Check your WEB-INF/lib or classpath for multiple MongoDB driver versions. -
Restart Tomcat after making changes to clear classloader caches.
Thanks, will try.