After upgrading IIQ to version 8.2p5, I cannot connect to MongoDB atlas

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

  1. Avoid mongodb+srv — Use the standard MongoDB URI format instead.
  2. 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
  1. Get hostnames & replica set from MongoDB Atlas → Connect > Drivers > Connection String Only.
  2. Ensure SSL and authSource are correctly set.
  3. 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:

  1. 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

  1. Avoid using newer MongoDB drivers (4.x+)
    These rely on Java modules and may conflict with SailPoint’s runtime environment.

  2. Ensure no conflicting drivers
    Check your WEB-INF/lib or classpath for multiple MongoDB driver versions.

  3. Restart Tomcat after making changes to clear classloader caches.

Thanks, will try. :+1: