国产化适配之东方通

概述 

      产品国产化是目前的趋势,我们紧跟社会步伐,将部门多条产品线做了国产化的适配。今天咱们就来了一了国产化改造心得。今天以tomcat替换方案东方通为例。

应用适配

Spring Boot应用适配

第一步 屏蔽内嵌的tomcat 

dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <exclusions>
    <exclusion>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <groupId>org.springframework.boot</groupId>
    </exclusion>
    <exclusion>
      <artifactId>spring-boot-starter-validation</artifactId>
      <groupId>org.springframework.boot</groupId>
    </exclusion>
  </exclusions>
</dependency>

第二步引入javaee-api

<dependency>
  <groupId>javax</groupId>
  <artifactId>javaee-api</artifactId>
  <version>8.0.1</version>
</dependency>

第三步更改打包类型为war包,并加入war包打包插件

<packaging>war</packaging>
 
 
。。。。
 
 
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>2.6</version>
  <configuration>
    <failOnMissingWebXml>false</failOnMissingWebXml>
  </configuration>
</plugin>

第四步 修改启动类集成SpringBootServletInitializer

@SpringBootApplication
public class App   extends SpringBootServletInitializer {
 
    public static void main( String[] args ) {
 
        SpringApplication.run(App.class,args);
    }
 
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
 
        return builder.sources(App.class);
    }
}

注意:如果项目中采用了 spring-boot-starter-validation能力运行时会报   

javax.validation.spi.ConfigurationState.getValueExtractors()Ljava/util/Set;

  解决办法:

            1   找到 /TongWeb安装目录/lib (网上也有说在 安装目录的 /lib/endorsed/ 文件夹下面 ,反正找到它就好) 下的validation-api.jar 并删除,然后将自己工程下的validation-api.jar 放到该目录下,重启完成。

            2   项目放弃 spring-boot-starter-validation能力,并在pom中排除引用。

东方通安装

上传安装包 Install_TW7.0.4.6_Enterprise_Linux.bin 到服务器指定目录下,赋775权限确保服务器有java环境,执行sh  Install_TW7.0.4.6_Enterprise_Linux.bin  按照提示一步一步傻瓜式操作即可。

安装完成后目录结构式这样的:

将license文件放置该目录下,进入bin执行startservernohup.sh 即可后台启动,此时即可通过浏览器访问对应的http://xxx:9060/console/rest地址了。默认账号thanos  默认密码(thanos123.com

tongweb 页面部署服务步骤

1, 打开单机部署页面:http://xxx:9060/console/rest  默认用户:thanos / 112312   默认密码(thanos123.com) 登录后如下图:

     2,点击应用管理页面,既可以部署项目入下图,也可以对项目进行启停操作,此处部署的时候选择虚机部署(本次选择的是server对外暴露端口为8088)

虚拟主机可以在web容器配置页面进行编辑,如图:

踩坑

如果你认为上述操作已经完事,那就大错特错,我们发现如果在这一个实例上面部署多个应用特别是超过5个以后,直接导致后续进程启动失败。

但是整个产品线有40-50个服务包,不能都一人一台主机吧,上官网一顿查找后找到解决方案,通过创建域的方式。

何为域呢?以下截图是官方解释

那如何创建域呢?

至此我们终于可以部署多个服务了。大家一顿操作,发现启动以后发现各种报错,原因是一个东方通实例占用4个端口(管理平台、http通道、jmi、ejb)。创建域的时候默认是在这些端口上累加操作,但是不知为何创建时将近5分钟耗时。

初步怀疑是大家创建的时候并发了,导致部分端口冲突了。于是又一通改配置,心想这下可以了吧,但是新的坑又来了。

东方通默认每个实例(域)启动时采用2G堆内存由于是提测阶段完全没必要这么多内存,一台虚机32G内存起了不到14个就再也拉不动了。

于是又一通改,逐个改域的jvm参数,至此目前告一段落。

结语

希望可以供大家参考,尽量避免踩坑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值