【问题标题】:JBoss Developer Studio integration problem with MySQLJBoss Developer Studio 与 MySQL 的集成问题
【发布时间】:2011-06-21 11:20:29
【问题描述】:

我之前曾研究过 .NET Web 技术。现在我开始在 JBoss Developer Studio 4 GA 上工作。我需要创建一个接缝应用程序。我已经下载了 seam,在创建应用程序的过程中我被 MySQL JDBC Driver 连接卡住了。

我安装了 MySQL 5.5,JBoss Dev 4 提供了最高 5.1 的 MySQL 模板。可以通过网络找到特定模板并且手动修改现有模板不起作用:Ping 失败。这个问题可能很简单,但请帮我解释一下。

问候,

杰伊什

【问题讨论】:

    标签: java mysql jdbc jboss seam


    【解决方案1】:

    我假设这个问题与使用开发工作室和为 MySQL 设置一样多。

    这就是我们所做的。原谅任何不正确的术语。我已经完成了这项工作,但并不完全理解所有部分。

    确保在您的 buildpatch 中安装 JBDC 驱动程序。我们将我们的安装在默认的服务器 lib 目录中。

    您还需要部署目录中的数据源文件。接缝生成器将创建一个,它看起来像 project-ds.xml。默认情况下,它会显示在资源文件夹中的 ear 项目中。

    默认情况下并不总是部署它。确保它位于服务器的部署文件夹中。如果您不知道如何在 JBDS 中部署它,只需手动将其复制到那里即可。

    您可能会发现在安装该文件夹时跟踪 server.log 文件很有用。您将看到数据源绑定到一个 jndi 名称。

    这是一个示例数据源(在 ds.xml 中)

        <datasources>
          <local-tx-datasource>
          <jndi-name>contactsDatasource</jndi-name>
          <use-java-context>true</use-java-context>
          <connection-url>jdbc:mysql://nmstdb-test.ba.ssa.gov:3306/contacts</connection-url>
          <driver-class>com.mysql.jdbc.Driver</driver-class>
          <user-name>xxxxxx</user-name>
          <password>xxxxxxx</password>
        </local-tx-datasource>
    

    ejb 项目将有一个 ejbModule/META-INF 文件夹,其中包含一个 persistence.xml 文件。确保 project-ds.xml 中定义的 jndi-name 与 persistence.xml 中定义的 jta-data-source 匹配。

    确保 hibernate.show_sql(在 persistence.xml 中)设置为 true,以便您可以在日志中看到查询输出。

    这是一个示例 persistence.xml 文件

        <persistence-unit name="contacts">
          <provider>org.hibernate.ejb.HibernatePersistence</provider>
          <jta-data-source>java:/contactsDatasource</jta-data-source>
          <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.default_catalog" value="contacts"/>
            <property name="hibernate.default_schema" value="contacts"/>
            <property name="jboss.entity.manager.factory.jndi.name" value="java:/contactsEntityManagerFactory"/>
          </properties>
        </persistence-unit>
    

    确保您使用的是正确的方言。如果您没有使用 InnoDB 引擎,请在 Google 上搜索正确的方言。

    确保在 persistence.xml 中定义的 jboss.entity.manager.factory.jndi.name 的值与在 WebContent/WEB-INF/components.xml 中定义的 persistence-unit-jndi-name 匹配。

           <persistence:managed-persistence-context name="entityManager" auto-create="true"
                      persistence-unit-jndi-name="java:/contactsEntityManagerFactory"/>
    

    不要忘记检查问题视图以帮助您发现/修复任何编译/语法类型问题。

    这些或多或少是你需要考虑的事情。

    【讨论】:

    • 没用。我已经降级到 MySQL 5.1,现在连接正常。不过还是谢谢你的解释!!赞成票:)
    • 我希望它能帮助其他人,即使它对你来说有点过分了。 :-)
    【解决方案2】:

    您需要为 MySQL 下载 Java JDBC 驱动程序 - 您可以得到一个 here

    【讨论】:

    • @TrueDub 我需要 MySQL 5.5 的驱动程序,链接中没有。
    • 我已经为 MYSQL 4 和 MySQL 5 使用了该版本的驱动程序,所以我怀疑它可以在 5.5 上正常工作。
    • 如果它有效,我不会问这个问题。您认为我可能缺少的任何步骤?我正在使用this guide
    • 当你说“MySQL 模板”时,你到底是什么意思?我猜(因为您没有说)您在执行该教程第 45 页的步骤时遇到问题 - 如果是这样,您的机器上是否有列出的 JAR 文件?
    • 我没有使用教程中给出的 Hypersonic 连接配置文件。我正在使用与 JBoss Developer Studio 4 集成的欢迎/帮助指南中给出的 MySQL 5 连接配置文件。该工作室为 5.1 之前的版本内置了 MySQL JDBC 模板,而 5.5 没有模板。所以当我在 MySQL JDBC 5.1 模板的现有模板中选择 MySQL 5.5 的 JAR 文件时,连接不成功:Ping Failed。我现在不想回滚到旧版本的 MySQL .....
    猜你喜欢
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多