spring-projects / spring-boot

Spring Boot
https://spring.io/projects/spring-boot
Apache License 2.0
74.56k stars 40.55k forks source link

Support Mongo JDBC driver #33547

Open erikrz opened 1 year ago

erikrz commented 1 year ago

Hello, Why I am requesting this?

I am working on implementing Quartz in a microservice, but there is a limitation about using relational Databases; I only have access to NoSQL databases such as Mongo and Redis. Having access to a federated Mongo DB through a Spring JDBC DataSource could greatly simplify the process for me.

So, I would like to have support for the mongo JDBC driver. Two of the main pain points when trying to use it is that the driver is not listed in this enum:

https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java

and here:

https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzDataSourceScriptDatabaseInitializer.java

This is the reference site for the mongo JDBC driver: www.mongodb.com/docs/atlas/data-federation/query/sql/drivers/jdbc/connect

This is the maven artifact: https://search.maven.org/artifact/org.mongodb/mongodb-jdbc

For the latest version, which at the time of writing this issue is version 2.0.1, the driver Class Name is: com.mongodb.jdbc.MongoDriver

Any help provided is appreciated. Thanks in advance, Erik

philwebb commented 1 year ago

Adding an entry to our DatabaseDriver class shouldn't be too hard, but I don't see a suitable tables...sql file in org.quartz.impl.jdbcjobstore. It might be worth raising an issue with Quartz to see if they can add a suitable SQL file in https://github.com/quartz-scheduler/quartz/tree/master/quartz-core/src/main/resources/org/quartz/impl/jdbcjobstore

erikrz commented 1 year ago

@philwebb Thank you, I followed your suggestion. The Quartz ticket is https://github.com/quartz-scheduler/quartz/issues/875