0

Netbeans (JavaEE5 サンプル) から bookstore1 Web アプリケーションをデプロイしようとしているときに、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] 書店データベース Bean を作成できませんでした: null
19:16:53,846 情報 [[/bookstore1]] サーブレット ShowCartServlet を使用不可としてマークしています
19:16:53,846 エラー [[ShowCartServlet]] サーブレット ShowCartServlet の割り当て例外
javax.servlet.UnavailableException: データベースを取得できませんでした。
        com.sun.bookstore1.servlets.ShowCartServlet.init(ShowCartServlet.java:39) で
        javax.servlet.GenericServlet.init(GenericServlet.java:212) で
        org.apache.catalina.core.StandardWrapper.loadServlet (StandardWrapper.java:1161) で
        org.apache.catalina.core.StandardWrapper.allocate (StandardWrapper.java:806) で
        org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:129) で
        org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:175) で
        org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) で
        org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) で
        org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:128) で
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) で
        org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) で
        org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) で
        org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:241) で
        org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) で
        org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) で
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) で
        java.lang.Thread.run(Thread.java:619) で
19:17:17,534 INFO [[ShowCartServlet]] サーブレット ShowCartServlet は現在利用できません

どこが間違っているのか教えてください...

4

1 に答える 1

1

JBoss 4.0.x は JavaEE5 アプリケーションサーバーではなく、古すぎます - J2EE 1.4 のみをサポートします

これは問題ではないかもしれません (提供された情報からは判断できません) が、JavaEE5 サンプルと JBoss 4.0.x を使い続ける意味はありません。動作しないだけです。

J2EE 1.4 サンプル アプリを使用するか、JBoss を (バージョン 5 または 6 に) アップグレードする必要があります。

于 2011-07-03T14:13:40.060 に答える