tomcat转WAS遇到的若干问题

1、加载hibernate映射文件问题

      在tomcat中可以通过以下形式来加载:

     

    但在WAS中是加载不了的,启动WAS时在WAS的错误日志中会记录映射文件找不到,可以把以上内容修改如下。

   <property name="mappingDirectoryLocations">

     <list>

<value>classpath:/com/thunisoft/cms/model/</value>

    <value>classpath:/com/thunisoft/core/model/customGroup/ </value>

       <value>classpath:/com/thunisoft/core/model/duban/</value>

       <value>classpath:/com/thunisoft/core/model/im/</value>

       <value>classpath:/com/thunisoft/core/model/jbpm/</value>

       <value>classpath:/com/thunisoft/core/model/log/</value>

       <value>classpath:/com/thunisoft/core/model/notify/</value>

    </list>

   </property>

   以上配置的是hibernate映射文件所在的目录。这里需要注意的是当父文件夹和子文件夹都有*.hbm.xml映射文件的情况,如果父文件夹已经配置了,子文件夹就不需要配置了,要不子文件夹里的配置文件会被加载两次,这样就会报错:

    Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.thunisoft.dynamicform.model.ex.process.NodeLayoutVO

 

2、加载queryConfig文件夹下的*.xml

   在tomcat中可以通过以下方式加载:

           String queryFile = context.getInitParameter("queryConfig");

 

                  if ((queryFile == null) || (queryFile.trim().length() == 0)) {

                           queryFile = "/WEB-INF/queryConfig/*.xml";

        }

但在WAS中就不能正常加载了。正因为不能正常加载,所有当进入系统时左边树和右边工作区间的列表全都是空的。为了解决此问题,本人改用File类来循环读取queryConfig的所有*.xml文件。如下:

String queryFile = context.getInitParameter("queryConfig");

        String appPath = context.getRealPath("/");

        String realPath = appPath + "/WEB-INF/queryConfig/";

        String realPath2 = realPath.replace("//", "/");

      

        File file = new File(realPath2);

        File[] files = file.listFiles();

      

        if(files != null || files.length>0){

        for(int i=0; i<files.length; i++){

            QueryFactory qf = QueryFactory.getInstance();

            try {

                  qf.parseXML(files[i]);

              } catch (Exception e) {

                  e.printStackTrace();

              }

        }

        }else{

        log.warn("系统找不到查询语句的配置文件***");

        }

 

 此时加载问题得到解决。

 

3、配置文件中的注释问题:

                queryConfig文件夹下的*.xml文件如果文件中的注释出现乱码也会出现解释异常,把所有的注释去掉就好了!其实就算是文件中的中文没出现乱码现象,也还是把中文注释去掉更好。至于其中的英文注释是否会出现解释错误现象,这请读者自己去验证。

 

4、IBM websphere6.1 不支持泛型、for_each 、int-Integer类型的自动装箱和拆箱问题

 

     Websphere6.1默认的JSP编译器为JDK1.3,所以必须手动更改为1.5,否则不能识别JDK1.5的语法。解决办法如下:

      1、找到 D:/Program Files/IBM/WebSphere/AppServer/profiles/AppSrv01  /config/cells/201012221903Node01Cell

        /applications/baseApp_war.ear/deployments/baseApp_war/baseApp.war/WEB-INF/ibm-web-ext.xmi

        在最后面的 </webappext:WebAppExtension> 前添加下面一行:
        <jspAttributes xmi:id="JSPAttribute_113" name="jdkSourceLevel" value="15"/>

      2、找到D:/Program Files/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/20101222-1903Node01Cell/baseApp_war.ear

         /baseApp.war/WEB-INF/ibm-web-ext.xmi

         在最后面的 </webappext:WebAppExtension> 前添加下面一行:
        <jspAttributes xmi:id="JSPAttribute_113" name="jdkSourceLevel" value="15"/>

 

5、卸载一个应用程序后重新安装,提示“配置库中已存在应用程序”。

         解决办法:D:/Program Files/IBM/WebSphere/AppServer/profiles/AppSrv01/temp/20101222-1903Node01/server1     

                  把该目录下对应的文件删掉即可,本应用删除baseApp_war文件夹里的所有内容。

 

6、websphere 端口修改

部署到websphere上的项目默认的端口号9080,要改为其他的端口号的话只要修改以下两个文件即可:

 

文件一:

WebSphere/AppServer/profiles/AppSrv01/config/cells/sunNode01Cell/nodes/sunNode01/serverindex.xml

<specialEndpoints xmi:id="NamedEndPoint_1213602610369" endPointName="WC_defaulthost">

<endPoint xmi:id="EndPoint_1213602610369" host="*" port="9080"/>

</specialEndpoints>

把9080改成8080

 

文件二:

 

WebSphere/AppServer/profiles/AppSrv01/config/cells/sunNode01Cell/virtualhosts.xml

<aliases xmi:id="HostAlias_1" hostname="*" port="9080"/>

<aliases xmi:id="HostAlias_2" hostname="*" port="80"/>

<aliases xmi:id="HostAlias_3" hostname="*" port="9443"/>

<aliases xmi:id="HostAlias_6" hostname="*" port="5060"/>

<aliases xmi:id="HostAlias_7" hostname="*" port="5061"/>

<aliases xmi:id="HostAlias_8" hostname="*" port="443"/>

把9080改成8080

 

端口修改应该可以在控制台修改的,好像就在“websphere的变量”中,请读者自己去试验

 

 

 

待续。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值