2011-06-21 48 views
0

我曾经在.NET Web技术上工作过。现在我开始在JBoss Developer Studio 4 GA上工作了。我需要创建一个接缝应用程序。我已经下载缝和创建应用程序,我用MySQL JDBC驱动程序连接Stucked。JBoss Developer Studio与MySQL的集成问题

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

问候,

Jayesh

回答

0

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

+0

@TrueDub我需要驱动程序的MySQL 5.5,这是不可用的链接。 – Jayesh

+0

我已经使用MYSQL 4和MySQL 5的驱动程序的版本,所以我怀疑它在5.5中可以正常工作。 – TrueDub

+0

我不会问这个问题是否有效。你认为我可能会错过的任何步骤?我正在使用[本指南](http://docs.redhat.com/docs/en-US/JBoss_Developer_Studio/4.0/pdf/Getting_Started_Guide/JBoss_Developer_Studio-4.0-Getting_Started_Guide-en-US.pdf)。 – Jayesh

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项目将有一个包含persistence.xml文件所涉及的的ejbModule/META-INF文件夹中。确保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引擎,请使用正确的方言。

确保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"/> 

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

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

+0

没有工作。我已降级到MySQL 5.1,现在连接正常。感谢您的解释,虽然! UpVote :) – Jayesh

+0

我希望它能帮助别人,即使它对你来说太过分了。 :-) – april26

+0

[chk it](http://stackoverflow.com/questions/6453362/jsf-project-error-in-jboss-developer-studio) – Jayesh