我能够在standalone.xml 中配置MySQL DataSource 并且工作正常。但我想使用@DataSourceDefinition
注释配置 DataSource 。
如何在 JBoss AS7 中使用 @DataSourceDefinition 配置 MySQL 数据源?
我已经尝试过的是:
@DataSourceDefinition(
className = "com.mysql.jdbc.Driver",
name = "java:global/jdbc/MyDS",
serverName="localhost",
portNumber=3306,
user = "root",
password = "admin",
databaseName = "test"
)
@Startup
public class DBConfig {
}
连同这个persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.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_2_0.xsd">
<persistence-unit name="javaee6-app" transaction-type="JTA">
<jta-data-source>java:global/jdbc/MyDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
我有 mysql 连接器 jar 文件WEB-INF/lib
。
但是当我部署应用程序时,我收到了这个错误:
(DeploymentScanner-threads - 2){“JBAS014653:复合操作失败并回滚。失败的步骤:”=> {“操作步骤 2”=> {“JBAS014771:缺少/不可用依赖项的服务”=> [” jboss.persistenceunit.\"javaee6-app.war#javaee6-app\"jboss.naming.context.java.global.jdbc.MyDSMissing[jboss.persistenceunit.\"javaee6-app.war#javaee6-app\"jboss.命名.context.java.global.jdbc.MyDS]"]}}}