Java 与其他库共享Hibernate连接

Java 与其他库共享Hibernate连接,java,quartz-scheduler,c3p0,Java,Quartz Scheduler,C3p0,我正在用Java编写一个web应用程序,并使用Hibernate将数据库映射到Java对象。在Hibernate中,我使用C3PO池连接到数据库。现在我需要安排一些任务。因此,我将使用石英。现在,计划的任务将存储在数据库中。是否可以与Quartz共享C3PO的连接池?因此,数据库设置位于同一个文件中,并且只有一个库负责打开数据库连接。这是一件主观的事情,但可以说,如果您想共享连接,您有许多选择 如果您使用的是spring,请将c3p0连接池定义为bean,并将其注入到Hibernate会话工厂和

我正在用Java编写一个web应用程序,并使用Hibernate将数据库映射到Java对象。在Hibernate中,我使用C3PO池连接到数据库。现在我需要安排一些任务。因此,我将使用石英。现在,计划的任务将存储在数据库中。是否可以与Quartz共享C3PO的连接池?因此,数据库设置位于同一个文件中,并且只有一个库负责打开数据库连接。

这是一件主观的事情,但可以说,如果您想共享连接,您有许多选择

如果您使用的是spring,请将c3p0连接池定义为bean,并将其注入到Hibernate会话工厂和Quartz调度程序bean中

如果您试图保持“纯粹”而不使用Spring,那么可以在容器级别定义基于JNDI的数据源

这两种方法都有一些细微差别

不幸的是,如果不说明您试图实现的“可移植性”以及您目前使用的标签不仅仅是“java”、“quartz scheduler”和“c3p0”,那么答案充其量只能是模糊的

编辑

感谢OP添加了更多信息

因此,关于这些信息,如果您使用的是动态Web项目,则可以向WebContent目录添加特定于容器的部署描述符

  • 对于tomcat,META-INF/context.xml
  • 对于Jetty,WEB-INF/Jetty-WEB.xml

有了这些,您可以定义一个JNDI数据源。有关如何操作的信息,请参阅特定容器。完成后,可以将Hibernate和Quartz配置为对已配置的数据源使用JNDI引用。

这有点主观,但可以说,如果要共享连接,您有许多选项

如果您使用的是spring,请将c3p0连接池定义为bean,并将其注入到Hibernate会话工厂和Quartz调度程序bean中

如果您试图保持“纯粹”而不使用Spring,那么可以在容器级别定义基于JNDI的数据源

这两种方法都有一些细微差别

不幸的是,如果不说明您试图实现的“可移植性”以及您目前使用的标签不仅仅是“java”、“quartz scheduler”和“c3p0”,那么答案充其量只能是模糊的

编辑

感谢OP添加了更多信息

因此,关于这些信息,如果您使用的是动态Web项目,则可以向WebContent目录添加特定于容器的部署描述符

  • 对于tomcat,META-INF/context.xml
  • 对于Jetty,WEB-INF/Jetty-WEB.xml

有了这些,您可以定义一个JNDI数据源。有关如何操作的信息,请参阅特定容器。完成后,可以将Hibernate和Quartz配置为对已配置的数据源使用JNDI引用。

我在动态web项目中使用Java 8、Hibernate和C3pO、Quartz(不使用bean)。我没有使用任何像Spring这样的大型框架,……我在动态web项目中使用Java8、Hibernate和C3pO、Quartz(没有使用Beans)。我没有使用任何像Spring这样的大型框架。。。