【问题标题】:How can I use Java console app and Hibernate using Tomcat Context?如何使用 Tomcat 上下文使用 Java 控制台应用程序和 Hibernate?
【发布时间】:2012-02-26 02:34:14
【问题描述】:

我有一些 Java 控制台应用程序。它们使用 Hibernate 来处理一些数据库的东西(我使用 MySQL)。现在,我希望 Hibernate 使用来自 Tomcat 上下文的数据源。谁能告诉我怎么做?

【问题讨论】:

标签: java hibernate tomcat datasource context.xml


【解决方案1】:

Tomcat wiki 包含所需的配置。

在 context.xml 中:

<?xml version="1.0" encoding="UTF-8"?> <Context antiJARLocking="true" path="/DVDStore">
  <Resource auth="Container"
  driverClassName="com.mysql.jdbc.Driver" maxActive="30" maxIdle="10" maxWait="10000" name="jdbc/sakila" password="*****"
  type="javax.sql.DataSource" url="jdbc:mysql://localhost/sakila" username="*****"/>
</Context>

在 WEB-INF/web.xml 中。

<resource-ref>
  <description>This is a MySQL database connection</description>
  <res-ref-name>jdbc/sakila</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

在hibernate.cfg.xml中:

<!-- using container-managed JNDI -->
<propertyname="hibernate.connection.datasource">
   java:comp/env/jdbc/sakila
</property>

你可以在The TomcatHibernate Wiki找到更多


编辑:

如果您想直接访问上下文,这是有问题的方法

    ServletContext sc = getServletContext();  
    String parameterValue = sc.getInitParameter("parameterName");

【讨论】:

  • 感谢您的回复。我认为这是网络应用程序的配置。就我而言,它是一个 java 控制台应用程序。我已经阅读了 Apache 上的 Tomcat wiki 和 Tomcat 文档,但我没有运气。
  • @hainp 为什么要将这些应用程序存储在 tomcat 中?在任何情况下,您都可以直接从文件中提取数据。如果您有一个从那里获取数据的网络应用程序,您可以 I. 定义他们都将查看的第三个位置(例如属性文件)。存储连接数据两次
  • 每个应用程序都使用 c3p0 来处理数据库连接池。现在,我有大约 5 个应用程序,这意味着大约。 25 个连接池,我将有更多应用程序连接到 1 个数据库服务器。所以,我打算使用来自 tomcat 的数据源,这可以帮助我控制连接池的数量,即使我有更多的应用程序连接到数据库。我知道这不是最好的解决方案,但我没有任何其他想法。
猜你喜欢
  • 2014-06-09
  • 2012-12-13
  • 1970-01-01
  • 2011-12-12
  • 2012-12-07
  • 1970-01-01
  • 1970-01-01
  • 2013-02-11
  • 2013-07-28
相关资源
最近更新 更多