Java JBoss7&;EJB3 |我应该在哪里定义数据源
我是Jboss新手,不知道应该在哪里定义数据库连接数据,比如url、用户名、密码等 以下是我的多模块项目:Java JBoss7&;EJB3 |我应该在哪里定义数据源,java,jboss,datasource,Java,Jboss,Datasource,我是Jboss新手,不知道应该在哪里定义数据库连接数据,比如url、用户名、密码等 以下是我的多模块项目: app-root app-api - src - pom.xml app-ear - src - pom.xml app-ejb - src - pom.xml pom.xml My perinstance.xml位于unterapp root/app ejb/src/main/
app-root
app-api
- src
- pom.xml
app-ear
- src
- pom.xml
app-ejb
- src
- pom.xml
pom.xml
My perinstance.xml位于unterapp root/app ejb/src/main/config/default/META-INF/persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
<persistence-unit name="ejb3_jpa_myapp_pu" transaction-type="JTA">
<description>Jboss Test application</description>
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jdbc/MyApp</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="none" />
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>
</persistence>
我知道我必须定义数据库连接属性,但在哪里可以这样做?您需要在JBoss实例正在使用的独立XML文件中定义数据源。JBoss不附带数据库驱动程序,因此有两个步骤: 1) 为数据库驱动程序(如MySQL、Oracle、Postgres等)创建JBoss模块 2) 创建数据源定义 步骤1)只需执行一次,即许多MySQL数据源可以使用相同的MySQL JBoss模块 步骤2)MySQL的数据源配置示例如下:
<datasources>
<datasource jndi-name="java:jboss/datasources/MySqlDS" pool-name="MySqlDS">
<connection-url>jdbc:mysql://localhost:3306/EJB3</connection-url>
<driver>com.mysql</driver>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>100</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>test</user-name>
<password>test</password>
</security>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<share-prepared-statements/>
</statement>
</datasource>
<drivers>
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
jdbc:mysql://localhost:3306/EJB3
com.mysql
事务读取已提交
10
100
真的
测试
测试
32
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
可以使用JBoss CLI自动执行上述操作。此外,还可以自动创建JBoss模块,例如使用smartics JBoss模块maven插件,请参阅以获取更多信息
<datasources>
<datasource jndi-name="java:jboss/datasources/MySqlDS" pool-name="MySqlDS">
<connection-url>jdbc:mysql://localhost:3306/EJB3</connection-url>
<driver>com.mysql</driver>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>100</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>test</user-name>
<password>test</password>
</security>
<statement>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<share-prepared-statements/>
</statement>
</datasource>
<drivers>
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>