weblogic12c 部署etrading 3.0/4.0 api3.0 /4.0,前置机,openapi 问题记录

记录用weblogic12部署应用遇到的一些问题和配置,仅供参考。

一:ETS40部署weblogic12c 启动报错及访问无法加载资源文件:

1、依赖:wm-bus-service-4.2.6.27.jar

weblogic.management.DeploymentException: java.lang.ClassNotFoundException: com.hundsun.wm.service.capital.CapitalIn

2、依赖:wm-bus-support-202101-18-000.jar

com.hundsun.wm.support.open.trust.crm.support.HttpOpenAPI

3、weblogic12c版本不兼容resources,需要调整其他目录

涉及修改:application.properties文件 +升级程序+资源文件(可参考)

4、weblogic12c无法加载部分资源文件,导致页面加载异常(resources目录)

经过与weblogic厂商沟通,他们将此目录resources 设置为黑名单,目前无法通过文件配置正常访问,

临时解决方案:修改程序目录名字 改掉resources目录为其他目录。

二:weblogic12c部署API3.0注意点

1、一般使用weblogic10.3版本,该版本支持wtc和jolt两种方式连接直销。

2、如升级到weblogic12c,则只支持jolt连接直销。(直销中可以支持配置同时开放wtc和jolt 可参考文中最后温馨提示)。

      同时注意,api版本不能在V202000.43.000到V202000.45.000(含)之间。或者观察如果存在以下3个jar(freemarker-2.3.15.jar ,quartz-1.6.5.jar,spring-orm-2.5.6.jar),可以先删除验证启动正常。

3、wtc或jolt配置说明

方案一:在api数据库中,可以通过系统参数"CALLSERVICEMODE"及"10225"字典项配置连接方式以及jolt连接地址(统一开关。这样所有前端都使用统一连接方式,不支持wtc jolt共存)

方案二:为了能支持多路api独立部署,在ETS3.0-SERVICE.V202000.11.000版本及以上,支持优先读取etc/EtradeConfig.properties中的配置用,如无配置,再读数据库中的配置。(同时支持wtc,jolt协议共存,即a路通过wtc调用后台,b路可以通过jolt调用后台,不冲突,如果系统有多路部署的情况,推荐此方案。)

前端系统 文件配置项参考如下(api or ets):

属性文件

#########通过配置文件开通jolt协议参数###############

CALLSERVICEMODE=Jolt

##开发环境

JOLTCHANNEL=//10.20.99.222:10007

JOLTCHECKTIME=600000

JOLTHEARTBEATTIME=600000

JOLTIDLETIMEOUT=0

JOLTPOOLSIZE=10

直销ubb开通jolt协议-参考配置

直销ubb文件开启jolt协议:

JSLGRP          LMID="directserver"     GRPNO=11
JREPGRP         LMID="directserver"     GRPNO=12

JSL               SRVGRP=JSLGRP SRVID=1 RESTART=Y MAXGEN=2 CLOPT="-A -- -n //10.1.77.77:10005 -p 9990 -P 10100 -m 1"
JREPSVR         SRVGRP=JREPGRP  SRVID=1 RESTART=Y MAXGEN=2 GRACE=0 CLOPT="-A -- -W -P /app/hssale/bin/jrepository"

最后,如果之前系统是用wtc调用后台的,改成jolt之后,配置weblogic的时候仅仅需要配置jdbc EJB和war,无需配置wtc+导入导出配置。

三:weblogic12c部署网上交易3.0注意点

1.          修改网上交易数据库

1.修改字典项10225(可选)

SELECT T.*, T.ROWID FROM TDICTIONARY T WHERE T.L_KEYNO = '10225';

2.修改系统参数CALLSERVICEMODE(可选)

select t.*,t.rowid from tsysparameter t where t.c_item='CALLSERVICEMODE';

2.          修改启动文件

1.    将所有log4j.jar替换为log4j-1.2.14.jar

2.    设置关闭主机名验证(根据实际情况选择是否关闭)

@rem set JAVA_OPTIONS=%JAVA_DEBUG% %JAVA_OPTIONS% -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dhsfund.configs=%ETS_ETC%\

3.增加jar包

etrading\WEB-INF\lib,增加此文件

weblogic-1.0.0.jar、wm-bus-service-202002-14-000-SNAPSHOT.jar

因为从12c开始网上交易用到的类别已经过期,不再存在

修改20210719

增加quartz-all.1.6.1.jar

删除NetTran.jar

4.EtradeConfig.properties配置文件里面需是EJB模式

######APP调用模式:0-EJB;1-本地。

ets.app.callmode=0

5.修改配置文件weblogic.xml

添加如下配置:

<prefer-application-packages>

<package-name>net.sf.cglib.*</package-name>

</prefer-application-packages>

#########通过配置文件开通jolt协议参数###############

CALLSERVICEMODE=Jolt

##开发环境

JOLTCHANNEL=//10.20.99.222:10007

JOLTCHECKTIME=600000

JOLTHEARTBEATTIME=600000

JOLTIDLETIMEOUT=0

JOLTPOOLSIZE=10

部署3.0更新:

今天改动点:
1.增加freemarker.jar,
2.在WEBLOGIC.xml中增加
<prefer-application-packages>
     <package-name>net.sf.cglib.*</package-name>
</prefer-application-packages>
3.启动脚本的STARTMODE改为true,

2.在WEBLOGIC.xml中增加配置优先使用CGLIB这个包。否则会报如下异常;

org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/integrate/login' defined in ServletContext resource [/WEB-INF/classes/config/spring/applicationContext-struts-integrate.xml]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Unexpected AOP exception; nested exception is java.lang.RuntimeException: java.lang.ClassNotFoundException: com.hundsun.fund.fundets.common.exception.BusinessException
Caused by:
org.springframework.aop.framework.AopConfigException: Unexpected AOP exception; nested exception is java.lang.RuntimeException: java.lang.ClassNotFoundException: com.hundsun.fund.fundets.common.exception.BusinessException
Caused by:
java.lang.RuntimeException: java.lang.ClassNotFoundException: com.hundsun.fund.fundets.common.exception.BusinessException

部署前置机需注意两点

0、启动脚本中 支持jolt

1、注意当前版本需支持jolt协议

2、war里weblogic.xml 需更新为12c支持的内容(可参考)

<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.3/weblogic-web-app.xsd">

<context-root>/ecs</context-root>

<session-descriptor>

<timeout-secs>3600</timeout-secs>

<cookie-name>JSESSIONID</cookie-name>

</session-descriptor>

<container-descriptor>

<prefer-application-packages>

<package-name>net.sf.cglib</package-name>

</prefer-application-packages>

</container-descriptor>

</weblogic-web-app>

 3 、Unable to transform version 2.4 web application namespace to version 2.5 weblogic12c(12.1.3)部署应用报错

解决方案:修改war包里面的web.xml 为:

<web-app id="WebApp_ID" version="2.5"

         xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <display-name>Zyt App Server</display-name>

  <context-param>

4、前置机启动报错:Service is not available:HSULTRA_QUERY

[2022/01/24 10:19:16,287][ERROR] 后台服务调用异常 @ com.hundsun.framework.dao.t2.channel.BalanceJoltT2Channel  
bea.jolt.ServiceException: Service is not available:HSULTRA_QUERY
    at bea.jolt.JoltRemoteService.init(JoltRemoteService.java:146) ~[jolt-1.0.0.jar:?]
订单前置机需开通jolt协议,注意jrepository文件不能与直销公用,文件中功能号不同。需单独从订单版本或联系开发获取。

    

订单开通jolt协议:

JSLGRP          LMID="directserver"     GRPNO=11
JREPGRP         LMID="directserver"     GRPNO=12

JSL               SRVGRP=JSLGRP SRVID=1 RESTART=Y MAXGEN=2 CLOPT="-A -- -n //10.1.77.77:10005 -p 9990 -P 10100 -m 1"
JREPSVR         SRVGRP=JREPGRP  SRVID=1 RESTART=Y MAXGEN=2 GRACE=0 CLOPT="-A -- -W -P /app/hssale/bin/jrepository"

2、部署openapi

支持jolt协议,参考配置如下文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值