原来技术概要:
JEE:SpringFramewor1.2 + Hibernate3.0 + JavaServer Faces1.01 运行在 Tomcat 或 Geronimo上
Database: MS SQL server 2000
实验技术概要:
1.SUSE Linux Server 9.0.
2.JEE: JavaEE SDK 5 update1(JPA 使用Hibernate的实现同时把JavaServer Faces更新到1.20) for Linux.
3.Database: DB2 v9 Express for Linux.
实验步骤:
1.安装JavaEE SDK 5 update1 for SUSE Linux Server 9.0
(1)执行控制台输出安装。
./jeesdk5_distribution -console
(2)设定管理员名称及口令。
(3)设定端口号(如使用缺省值,直接键入Enter)
2.拷贝Hibernate JPA实现jar文件到jeesdk5安装目录下的lib目录.
文件列表:
antlr-2.7.6.jar
asm.jar
asm-attrs.jar
c3p0-0.9.0.jar
cglib-2.1.3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
concurrent-1.3.2.jar
dom4j-1.6.1.jar
ehcahe-1.2.jar
log4j-1.2.11.jar
hibernate3.jar
hibernate-annotations.jar
hibernate-entitymanager.jar
javassist.jar
jboss-archive-browsing.jar
3.拷贝DB2 JDBC 驱动到jeesdk5安装目录下的lib目录.
文件列表:
db2jcc.jar
db2jcc_licence_cu.jar
4.SJSAS 控制台数据库连接池配置
(1)确定DB2已运行.
(2)登录SJSAS控制台.
(3)新建 Connection Pool
Name: Emir3Pool
ReourceType: javax.sql.DataSource
Database Vendor: DB2
(4)在New Connection Pool (Step 2 of 2)中设定以下内容:
设定Datasource Classname为com.ibm.db2.jcc.DB2DataSource
设定属性列表:
user: user 为 DB2 用户名,当前是db2inst
password: password 用户dbsinst的password
port: 属性名 port 改为 portNumber 并设定端口号,当前为50001
driverType: 4(须要加入这个新属性)
databaseName: sample
serverName: localhost
(5)点击配置页面上面的 Ping 按键,验证连接情况.
5.SJSAS 控制台 JDBC 资源配置
(1)确定数据库连接池已经 Ping succeeded
(2)新建 JDBC 资源 (New JDBC Resource)
JNDI Name: jdbc/Emir3DS
Pool Name: 下拉选取上面所配置的连接池(Emir3Pool)
6.原来环境下的配置修改
(1)将原来 Spring 下的 DataSource 配置修改并写入 persistence.xml 中
<persistence-unit name="unitEmir3" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/Emir3DS</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.query.factory_class" value="org.hibernate.hql.ast.ASTQueryTranslatorFactory" />
<property name="hibernate.cglib.use_reflection_optimizer" value="true" />
</properties>
</persistence-unit>
7.重写业务组件
(1)将原来 Spring 中的业务 Bean 组件重新以 Session Bean (Stateless)进行编写
(2)将 EntityManager 通过批注(annotation)注射到业务 Session Bean 中
@PersistenceContext(unitName = "unitEmir3")
protected EntityManager em;
(3)将原来的事务配置改为通过批注(annotation)实现
(4)将原来一些AOP改为 Interceptors 实现
(5)将原来JSF BackBean 通过 JSF 配置中 variable-resolver 连接 Spring 中的业务 Bean 组件改为通批注(annotation)注射到BackBean中
@EJB
private PartySessionBean partySessionBean;
8.打包EAR并布署到SJSAS上.