使用JEECG框架项目在linux 系统下启动及运行缓慢的问题追踪和解决办法

    最近很多政府项目都在提倡国产化,因此需要将原有的项目移植到linux话环境中,我的一个项目在移植过程中就遇到了问题,该项目在windows环境中运行正常,启动速度一般在25-30秒内,但是移植到linux环境中启动就需要200-250秒,运行效率下降了10倍,而且在保存数据时也出现了这种问题,保存一条数据需要60-80秒。系统运行又不报任何错误。后面经过仔细追踪发现JEECG框架中我们会对所有的数据操作保存一条日志,而保存日志时会获取本机IP地址。所有的运行缓慢的问题就在于获取本机IP上。

问题的原因:

在JEECG中有一个获取本机IP的方法代码如下:

public static String getIp() {
	String ip = null;
	try {
		InetAddress address = InetAddress.getLocalHost();
		ip = address.getHostAddress();

	} catch (UnknownHostException e) {
		e.printStackTrace();
	}
	return ip;
}

而在linux中如果没有配置本机指向的IP地址时,程序就会卡在下面这句代码上,这就时整个项目运行缓慢的问题所在。

InetAddress address = InetAddress.getLocalHost();

找到问题所在,解决起来就简单多了。

解决办法:

在linux中先用 hostname 命令查看本机的机器名,如下图

[root@taas--1585213607486-z00488725-0 vission]# hostname
taas--1585213607486-z00488725-0.novalocal

然后用 vi 命令修改/etc/hosts 文件给本机绑定一个IP地址,如下样例中的

172.27.104.179 taas--1585213607486-z00488725-0.novalocal

这样问题就得到了完美的解决了

[root@taas--1585213607486-z00488725-0 tomcat8.5]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.27.104.179 taas--1585213607486-z00488725-0.novalocal

重启tomcat 速度恢复到跟windows环境中一样了。

你可能感兴趣的:(java)