1

我有一个网络应用程序试图连接到 MySQL 5.5.11。但是,当我尝试将 .ear 文件分解为 Geronimo 2.2.1 时,会引发以下异常:

org.apache.geronimo.common.DeploymentException:无法解析资源引用“jdbc/MyDataSource”(无法自动映射到资源。尝试将资源引用映射添加到您的 Geronimo 部署计划。

这是我所做的:

  • 我使用 Geronimo 控制台创建了一个名为 jdbc/MySQL 的数据库池(使用 Geronimo 数据库池向导)。在向导中,我选择 MySQL Connector/J 3.0.17。我确认 jar 已下载到 {GERONIMO_HOME}/repository。我验证了我可以在 Geronimo 控制台中使用该数据库池创建一个表并插入数据。
  • 我将以下内容添加到我的 WEB-INF/web.xml 文件中:
  <resource-ref>
    <res-ref-name>jdbc/MyDataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
  </resource-ref>
  • 我将以下内容添加到我的 WEB-INF/geronimo-web.xml:
<dep:environment>
    ...

    <dep:dependencies>
        <dep:dependency>
            <dep:groupId>console.dbpool</dep:groupId>
            <dep:artifactId>jdbc_MySQL</dep:artifactId>
        </dep:dependency>
    </dep:dependencies>
</dep:environment>

<name:resource-ref>
    <name:ref-name>jdbc/MyDataSource</name:ref-name>
    <name:resource-link>jdbc/MySQL</name:resource-link>
</name:resource-ref>

我做错了什么?如何正确地将我的 Web 应用程序连接到 MySQL 并部署到 Geronimo?

这是我正在使用的:

  • 带有 Tomcat 6 的 Geronimo 2.2.1
  • MySQL 5.5.11
  • Eclipse Indigo 发布
  • Mac OS X 10.6.7

谢谢

4

0 回答 0