XML工具 Tools 03

private static TableName_Field setFieldValueMapping(
Map.Entry<String, List<EsbTableField>> entry,
Map<String, String> propertiesValue)
{
// 取出log_sn,主要是如果log_sn=0 时,消息不需要写入到ESB_BUSINESS_EX这表
String log_sn = propertiesValue.get("log_sn");
TableName_Field tableName_field = null;
//如果log_sn为0那么说明是系统级的日志
if (entry.getKey().equalsIgnoreCase("ESB_BUSINESS_EX")
&& (!"0".equals(log_sn)))
{
tableName_field = null;
}
else
{
List<EsbTableField> list = new ArrayList<EsbTableField>(entry
.getValue().size());
// 每个数据库字段的对象
EsbTableField putesbTableField = null;
tableName_field = new TableName_Field();
for (EsbTableField esbTableField : entry.getValue())
{
putesbTableField = new EsbTableField();
putesbTableField.setDatetype(esbTableField.getDatetype());
putesbTableField.setFieldName(esbTableField.getFieldName());
//根据xml的xpathfield的内容为key,在Map propertiesValues中找到value
putesbTableField.setFieldValue(propertiesValue
.get(esbTableField.getFieldMappinValue()));
list.add(putesbTableField);
}
tableName_field.setTableName(entry.getKey());
tableName_field.setList(list);
}
return tableName_field;
}

/**
* 获取当前系统的时间戳
*/
public static String getTimesTamp()
{
return dateFormatString(new Date());
}

public static String getEsb_Trancking_id()
{
StringBuffer sequenceid = new StringBuffer(30);
int snseqeunce = getSnSequence();
sequenceid.append(getNormalString())
.append(trancking_array[snseqeunce]);
return sequenceid.toString();
}

/**
* 防止多线程取到相同的读取序列号,000~999的数据, 2012-1-5,Xgw123485
*/
private static synchronized int getSnSequence()
{
int temp = sn++;
if (temp == 0)
{
trancking_array = OperateDB.getTrancking_id();
}
if (temp == 99)
{
sn = 0;
}
return temp;
}

/**
* 功能说明:用于获取cle_log_seq_id 2012-1-5,Xgw123485
*/
public static String getSeq_id_DFX()
{
int seq_index = getDfxSequence();
String seq_value = null;
if (seq_array != null)
{
seq_value = seq_array[seq_index];
}
if (seq_value == null)
{
seq_value = "";
}
return getDateString() + seq_value;
}

/**
* 需要使用同步读取序列号,防止多线程取到相同的读取序列号。获取数据的cle_log_seq_id, 从数据库里取到的是100个序列号过来
* 2012-1-5,Xgw123485
*/
private static synchronized int getDfxSequence()
{
int temp = seq_id++;
if (temp == 0)
{
seq_array = OperateDB.getSeq_id();
}
if (temp == 99)
{
seq_id = 0;
}
return temp;
}

public static Date stringFormatDate(String date)
{
DateFormat format = new SimpleDateFormat(df);
Date returnDate = null;
try
{
returnDate = format.parse(date);
}
catch (Exception e)
{
logger.error("Format date is fail date:" + date, e);
}
return returnDate;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值