Пример книжного магазина javaee 5 для работы с jboss 4.0 и hibernate - PullRequest
0 голосов
/ 03 июля 2011

, когда я пытаюсь развернуть веб-приложение bookstore1 из Netbeans (образец JavaEE5), я изменил файл persistence.xml, чтобы использовать hibernate:

<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <persistence-unit name="book" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>java:/jdbc/BookDB</jta-data-source>
    <class>com.sun.bookstore.database.Book</class>
 </persistence-unit>
</persistence>

, а мой mysql-ds.xml файл:

<?xml version="1.0" encoding="UTF-8"?>
<datasources> 
    <local-tx-datasource> 
        <jndi-name>jdbc/BookDB</jndi-name> 
        <connection-url>jdbc:mysql://localhost:3306/bookdb</connection-url> 
        <driver-class>com.mysql.jdbc.Driver</driver-class> 
        <user-name>root</user-name> 
        <password>1234</password> 
        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
            <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
    </local-tx-datasource> 
</datasources>

Я получаю сообщение об ошибке ниже:

[STDOUT] Couldn't create bookstore database bean: null
19:16:53,846 INFO  [[/bookstore1]] Marking servlet ShowCartServlet as unavailable
19:16:53,846 ERROR [[ShowCartServlet]] Allocate exception for servlet ShowCartServlet
javax.servlet.UnavailableException: Couldn't get database.
        at com.sun.bookstore1.servlets.ShowCartServlet.init(ShowCartServlet.java:39)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
19:17:17,534 INFO  [[ShowCartServlet]] Servlet ShowCartServlet is currently unavailable

Подскажите, пожалуйста, где я ошибаюсь ...

1 Ответ

1 голос
/ 03 июля 2011

JBoss 4.0.x не является сервером приложений JavaEE5, он слишком старый - он поддерживает только J2EE 1.4

Это может не быть проблемой (невозможно узнать по информации, которую вы нам дали),но нет смысла продолжать работу с примером JavaEE5 и JBoss 4.0.x, он просто не будет работать.

Вам нужно либо использовать пример приложения J2EE 1.4, либо обновить JBoss (до версии 5 или 6).

...