koy*_*aga 1 mysql java-ee-6 cloudbees
我正在尝试在Cloudbees Paas上部署现有的Jboss 7 war应用程序,而我却陷入了数据源配置的困境.在这个专门的Cloudbees wiki条目和相关的线程之后,我最终在应用程序启动期间出现以下错误(线程中的其他人已经提到过):
javax.resource.ResourceException: Wrong driver class [class com.mysql.jdbc.Driver] for this connection URL [jdbc:cloudbees://cbdebate--1]
Run Code Online (Sandbox Code Playgroud)
我的配置文件如下:
CloudBees的-web.xml中
<?xml version="1.0" encoding="UTF-8"?>
<cloudbees-web-app xmlns="http://www.cloudbees.com/xml/webapp/1">
<!-- Application ID (formatted CB_ACCOUNT/APPNAME) -->
<appid>hck/debate</appid>
<!-- DataSources (use names refererenced via <resource-ref> in WEB-INF/web.xml) -->
<resource name="jdbc/debate" auth="Container" type="javax.sql.DataSource">
<param name="username" value="myuser" />
<param name="password" value="mypassword" />
<param name="url" value="jdbc:cloudbees://cbdebate--1" />
<!-- Connection Pool settings -->
<param name="maxActive" value="20" />
<param name="maxIdle" value="2" />
<param name="maxWait" value="10000" />
<param name="validationQuery" value="SELECT 1" />
</resource>
</cloudbees-web-app>
Run Code Online (Sandbox Code Playgroud)
web.xml(相关部分)
(...)
<resource-ref>
<res-ref-name>jdbc/debate</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
(...)
Run Code Online (Sandbox Code Playgroud)
persistence.xml(相关部分)
<persistence-unit name="debate" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/jdbc/debate</jta-data-source>
(... entity classes declaration ...)
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
<property name="hibernate.max_fetch_depth" value="5"/>
<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform" />
<property name="org.hibernate.worker.batch_size" value="1000" />
</properties>
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)
预先感谢您的任何帮助
环境:Jboss 7,JPA 2.0
感谢Nicolas的回答和一些进一步的谷歌搜索,我设法让它工作.据我所知,您不能com.cloudbees.jdbc.Driver
在Jboss应用程序中使用cloudbees驱动程序(特别是在我们的Cloudbees Java EE 6服务器上)并且必须使用mysql驱动程序com.mysql.jdbc.Driver
.
正如Nicolas所说,jdbc:cloudbees://[databaseName]
数据库url按惯例使用了cloudbees驱动程序.您需要使用引用实际数据库的URL(您可以在cloudbees数据库配置页面中找到它),形式如下:
jdbc:mysql://ec2-AAA-BBB-CCC-DDD.compute-1.amazonaws.com:3306/[databaseName]
Run Code Online (Sandbox Code Playgroud)
这里重点是jdbc:mysql:// ...
使用上面的表单在cloudbees-web.xml中更改数据库的URL,它可以正常工作!
也许cloudbees人们可以在这个特定点上使文档更清晰一些
归档时间: |
|
查看次数: |
2195 次 |
最近记录: |