织梦CMS - 轻松建站从此开始!

猿梦网

当前位置: 主页 > 问答 >

tomcat转WAS遇到的若干问题

时间:2020-05-04 19:41来源:猿梦网 作者:猿梦网 点击:
tomcat转WAS遇到的若干问题
广告位API接口通信错误,查看德得广告获取帮助
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的变量”中,请读者自己去试验
 
 
 
 
(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
广告位API接口通信错误,查看德得广告获取帮助
推荐内容
广告位API接口通信错误,查看德得广告获取帮助
广告位API接口通信错误,查看德得广告获取帮助