net.wicp.tams.commons.connector.ConfigInstance Maven / Gradle / Ivy
package net.wicp.tams.commons.connector;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.wicp.tams.commons.Conf;
import net.wicp.tams.commons.apiext.StringUtil;
import net.wicp.tams.commons.connector.beans.CusDynaBean;
import net.wicp.tams.commons.connector.beans.CusDynaClass;
import net.wicp.tams.commons.connector.beans.property.AbstractDynaClassProperty;
import net.wicp.tams.commons.connector.config.AbstractConfigClass;
import net.wicp.tams.commons.connector.config.xmlParser.ConfigClassXml;
import net.wicp.tams.commons.connector.config.xmlParser.XMLNameSpace;
import net.wicp.tams.commons.constant.ColProperty;
import net.wicp.tams.commons.constant.param.conn.Request;
import net.wicp.tams.commons.constant.param.conn.Response;
import net.wicp.tams.commons.exception.IExcept;
import net.wicp.tams.commons.exception.ProjectException;
public class ConfigInstance {
private static Logger logger = LoggerFactory.getLogger(ConfigInstance.class);
private static volatile ConfigInstance INSTANCE;
public final static Integer OK = 1;
public final static Integer ERROR = 0;
private static Object lockobj = new Object();
// 配置属性
private CusDynaClass inputClass = null;// 协议用的输入Bean
private CusDynaClass outClass = null;// 协议用的返回Bean
private AbstractConfigClass confNull = null;// 空的动态Bean
public static final ConfigInstance getInstance() {
if (INSTANCE == null) {
synchronized (lockobj) {
if (INSTANCE == null) {
ConfigInstance tempobj = new ConfigInstance();
InputStream clientInputStream = ConfigInstance.class.getResourceAsStream("/conf/ClientInfo.xml");
InputStream nullInputStream = ConfigInstance.class.getResourceAsStream("/conf/null.xml");
try {
AbstractConfigClass conf = ConfigClassXml.createConfigClassXml("default.client",
clientInputStream);
tempobj.inputClass = conf.parserInputNoCI();
tempobj.outClass = conf.parserOutNoCI();
String cusconf = Conf.get("connector.dynabean.client.cus.conf");// 有配置客户自定义的模板
if (tempobj.inputClass != null && StringUtils.isNotBlank(cusconf)) {
try {
IClientCus clientCus = (IClientCus) Class.forName(cusconf).newInstance();
List © 2015 - 2025 Weber Informatics LLC | Privacy Policy