Как я могу использовать консольное приложение Java и Hibernate, используя Tomcat Context? - PullRequest
1 голос
/ 03 февраля 2012

У меня есть несколько Java-консольных приложений.которые используют Hibernate для работы с базами данных (я использую MySQL).Теперь я хочу, чтобы Hibernate использовал источник данных из контекста Tomcat.Кто-нибудь может сказать мне, как?

1 Ответ

1 голос
/ 03 февраля 2012

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>

Вы можете найти больше в TomcatHibernate Wiki


Edit:

Если вы хотите получить прямой доступ к контексту, это способ сделать это проблематичным

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