IMFLogin.java 1.6 KB
package com.air.agent.imf;

import org.apache.log4j.Logger;

import com.caac.imf.api.IMFClient;
import com.jfinal.kit.PropKit;

/**
 * Depiction:
 * <p>
 * Modify:
 * <p>
 * Author: William Lynn
 * <p>
 * Create Date:2018年6月10日 下午5:35:52
 * 
 */
public class IMFLogin {
	private static final Logger logger = Logger.getLogger(IMFLogin.class);
	private static boolean isLoginOk;

	public IMFLogin() {
	}

	public static boolean login(IMFClient client, String userName, String password, String confFileName) {
		logger.info("初始化img配置文件");
		logger.info("img配置文件路径:"+confFileName);
		if (client.initial(confFileName)) {
			String message = client.login(userName, password);
			logger.info("message=" + message);
			if (message.indexOf("<CODE>1</CODE>") > 0) {
				logger.info("login success");
				isLoginOk = true;
				return true;
			} else {
				int times = 0;

				while (times < PropKit.getInt("retry_times")) {
					logger.info("try connection...");
					++times;
					logger.info("message.=" + message);
					if (message.indexOf("<CODE>1</CODE>") > 0) {
						logger.info("login success");
						isLoginOk = true;
						return true;
					}

					logger.info("login failure");
					message = client.login(userName, password);

					try {
						Thread.sleep(4000L);
					} catch (InterruptedException var7) {
						var7.printStackTrace();
					}
				}

				if (!isLoginOk) {
					logger.info("login fail too many times,will exit.");
					client.disconnect();
					// System.exit(-1);
				}
			}
		}else {
			logger.info("img配置文件初始化失败");
		}

		return false;

	}

}