在WebSphere7中配置Seam2的配置文件

本文介绍如何在WebSphere7上配置和部署Seam2应用程序,包括修改components.xml、ejb-jar.xml、web.xml和persistence.xml等文件的具体步骤,以及所需类库清单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

WebSphere7应用服务器,由于对EJB JNDI命名查找方法的不同,需要修改components.xml文件中的配置内容,首先需要去掉jndi-pattern属性值中的“/local”字符串,例如原的配置内容为:

< core:init jndi-pattern="java:comp/env/3mis/#{ejbName}/local " debug="true"/>

现在需要修改为:

<core:init jndi-pattern="java:comp/env/3mis/#{ejbName}" debug="true"/>

这样,才能保证Seam2WebSphere7中能够正确运行。还需要修改EJB的实体Bean管理器,修改后的内容如下:

<transaction:entity-transaction entity-manager="#{entityManager}"/>

   <persistence:entity-manager-factory name="mis"/>               

 <persistence:managed-persistence-context name="entityManager" auto-create="true"

                           entity-manager-factory="#{mis}"/>

 

1.1   ejb-jar.xml文件的配置

如果在ejb-jar.xml配置文件中配置了ejb-ref-name属性的值,同样需样去掉属性值中的“/local”字符串,例如:

<session>

         <ejb-name>RoplanmgtAction</ejb-name>

         <ejb-local-ref>

            <ejb-ref-name>3mis/RepOrderServiceImpl/local</ejb-ref-name>

            <ejb-ref-type>Session</ejb-ref-type>

            <local>com.newidea.mis.apm.service.RepOrderService</local>

         </ejb-local-ref>

     </session>

现在需要修改为:

<session>

         <ejb-name>RoplanmgtAction</ejb-name>

         <ejb-local-ref>

            <ejb-ref-name>3mis/RepOrderServiceImpl</ejb-ref-name>

            <ejb-ref-type>Session</ejb-ref-type>

            <local>com.newidea.mis.apm.service.RepOrderService</local>

         </ejb-local-ref>

     </session>

这样,才能保证Seam2WebSphere7中能够正确运行。

1.2   web.xml文件的配置

WebSphere7中,需要在Web.xml配置文件中对Seam的会话Bean(包括Action)要在声明式配置,这样以便于Seam在运行期间能够找到用注解声明的EJB,这也是SeamWebSphere7中配置变化最大的一块,也是配置极为不便的配置内容,因为又配置大量的配置内容,在JBOSS中则不需要在Web.xml配置文件中配置EJB类。同样需样去掉ejb-local-refs属性值中的“/local”字符串,例如:

<ejb-local-ref>

              <ejb-ref-name>3mis/RoplanmgtAction/local</ejb-ref-name>

              <ejb-ref-type>Session</ejb-ref-type>

              <local>com.newidea.mis.apm.action.Roplanmgt</local>

</ejb-local-ref>

现在需要修改为:

<ejb-local-ref>

              <ejb-ref-name>3mis/RoplanmgtAction </ejb-ref-name>

              <ejb-ref-type>Session</ejb-ref-type>

              <local>com.newidea.mis.apm.action.Roplanmgt</local>

</ejb-local-ref>

这样,才能保证Seam2WebSphere7中能够正确运行。

1.3   persistence.xml文件的配置

WebSphere7中运行Seam2中的事务是能过JPA来管理,所以需要对持久化配置文件作一些修改,首在需要在persistence.xml中添加或修改如下内容:

声明事务类型为JPA

 


声明事务类型为JPA

<persistence-unit name="mis" transaction-type="JTA">

<provider>org.hibernate.ejb.HibernatePersistence</provider>

   <!--<provider> org.apache.openjpa.persistence.PersistenceProviderImpl </provider>-->

      <!--<jta-data-source>java:/misDatasource</jta-data-source>-->

       <jta-data-source>misDatasource</jta-data-source>

      <properties>

       <property name="hibernate.cache.provider_class"

         value="org.hibernate.cache.HashtableCacheProvider"/>

         <property name="hibernate.transaction.flush_before_completion" value="true"/>

       <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9iDialect"/>

        <!-- <property name="hibernate.hbm2ddl.auto" value="update"/> -->

        <property name="hibernate.show_sql" value="true"/>

        <property name="hibernate.format_sql" value="false"/>

         <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/>

事件管理类

      </properties>

 </persistence-unit>

2.        WebSphere7中运行Seam2所需的类库

需要下载最新的Seam2.2版本的才能在WebSphere7中正常运行,下面分别介绍所需要的基本类库。但这些类库在JBOSS中运行则不需要添加。 

2.1   管理JPA所需要的类库

管理JPA所需要的Hibernate类库如下:

*       hibernate.jar

*       hibernate-annotations.jar

*       hibernate-commons-annotations.jar

*       hibernate-entitymanager.jar

*       hibernate-validator.jar

*       commons-collections.jar

jboss-common-core.jar

当然,还需要其他第三方类库,所需要最基本的类库列表如下:

antlr-runtime.jar

 drools-compiler.jar

 drools-core.jar

 jboss-el.jar

 jboss-seam.jar

 jboss-seam-ui.jar

 jboss-seam-pdf.jar

 jboss-seam-ioc.jar

 jboss-seam-mail.jar

 jbpm-jpdl.jar

 mvel14.jar

 richfaces-api.jar

 richfaces-ui.jar

 richfaces-impl.jar  jsf-facelets.jar 

 jxl.jar commons-collections.jar jboss-common-core.jar slf4j-log4j12.jar slf4j-api.jar log4j.jar drools-api.jar drools-decisiontables.jar

 quartz.jar  jasperreports-2.0.5.jar   commons-digester.jar javassist.jar   dom4j.jar   hibernate-core.jar  hibernate-annotations.jar   hibernate-commons-annotations.jar

  hibernate-entitymanager.jar   hibernate-validator.jar   commons-beanutils.jar   concurrent.jar cglib.jar asm.jar antlr.jar

最后,还需要注意就是,不能在DAO模式中直接在继承EntityHome来进行实体Bean的操作,而是需要能过Action来封装对DAO的访问。这一点与在JBOSS中不同。

3.          WebSphere7中部署Seam2应用程序

用开发工具Myeclipse打包Seam2应用程序后,现需要部署到WebSphere7中。

首先在浏览器地址栏中输入http://zhangf:9061/ibm/console,启动WebSphere7控制台,

输入管理员名和口令后, 进入控制台安装应用程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值