二、配置JNDI
1. 右击EJB项目,新建-其他,然后选择持久性单元
2. 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="poolUtil" transaction-type="JTA">
<jta-data-source>myconn</jta-data-source>
<provider>oracle.toplink.essentials.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
</persistence-unit>
</persistence>
persistence-unit节点可以有一个或多个,每个persistence-unit节点定义了持久化内容名称、使用的数据源及持久化产品专有属性。name 属性定义持久化名称。jta-data-source 节点指定实体Bean使用的数据源JNDI 名称,如果应用发布在jboss下数据源名称必须带有java:/前缀,数据源名称大小写敏感。properties节点用作指定持久化产品的各项属性,各个应用服务器使用的持久化产品都不一样如Jboss使用Hibernate,weblogic10使用Kodo,glassfish/sun application server/Oralce使用Toplink。
3. 把mysql的jdbc驱动jar包拷贝到glassfish安装目录下的lib文件夹内,然后启动glassfish后打开glassfish控制台:http://localhost:4848,默认端口是4848,默认帐号admin/adminadmin
登录以后再左边选择资源->JDBC->连接池,然后在右边选择新建
名字随意取,类型选择javax.sql.DataSource,数据库MySQL,点击下一步,完成
然后在左边点击你新建的jdbc后在右边选择其他属性,配置三个属性如下:
完成后点击保存,再选择常规,ping一下,测试一下是否连接成功
4. 然后在左边选择资源->JDBC->JDBC资源,在右边点击新建
JNDI名称就是persistence.xml里配的<jta-data-source>myconn</jta-data-source>
池名称就是刚刚配置的连接池名称
点击确定完成
好了,这样就配好了一个JNDI
以后在Enterprise Bean中可以如下定义:
@PersistenceContext(unitName = "poolUtil")
private EntityManager em;
unitName就是persistence.xml中配置的
<persistence-unit name="poolUtil" transaction-type="JTA">