NOTE: As of Spring 2025, we recommend using the MongoDB that is provisioned directly by Dokku instead of using MongoDB.com; we are retaining this page on the website only in case the need arises to use MongoDB.com hosting again in the future.
As of November 2020 (F20) and continuing into February 2021 (W21), developers working with Spring Boot and MongoDB on MacOS are running into this error when connecting to a MongoDB database:
2021-02-02 13:13:04.364 INFO 65733 --- [ngodb.net:27017] org.mongodb.driver.cluster :
Exception in monitor thread while connecting to server cluster0-shard-00-02.l6wrx.mongodb.net:27017
com.mongodb.MongoSocketWriteException: Exception sending message
at com.mongodb.internal.connection.InternalStreamConnection.translateWriteException(InternalStreamConnection.java:551) ~[mongodb-driver-core-3.11.2.jar:na]
... [ many stack frames omitted ]
at java.base/java.lang.Thread.run(Thread.java:832) ~[na:na]
Caused by: javax.net.ssl.SSLHandshakeException: extension (5) should not be presented in certificate_request
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131) ~[na:na]
The following work around seems to fix this:
-
Add the flag
-Dspring-boot.run.jvmArguments="-Djdk.tls.client.protocols=TLSv1.2"
when running themvn spring-boot:run
command, like this:mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Djdk.tls.client.protocols=TLSv1.2"