package com.java110.core.context;
|
|
import java.io.Serializable;
|
import java.net.UnknownHostException;
|
import java.util.Map;
|
|
/**
|
* 交互日志
|
*
|
* id 业务ID,每次接口交互时的唯一编码 如订单ID 业务ID等
|
* logContextId 上下文ID ,每次调用 每个系统只有一个contextId 每次不一样 生成规则为uuId
|
* ip 当前主机IP
|
* port 当前应用监听端口
|
* url 交互地址 调用端和服务提供端 必须一致
|
* serviceCode 服务编码
|
* serviceName 服务名称
|
* type S 调用端 C服务提供端
|
* timestamp 时间戳
|
* status 状态 S表示成功 F表示失败
|
* messageHeaders 消息头部信息 目前只有调用端保存日志
|
* message 消息 目前只有调用端保存
|
* Created by wuxw on 2018/6/7.
|
*/
|
public interface TransactionLog extends Serializable {
|
|
//业务ID
|
public String getTransactionId();
|
|
/**
|
* 日志上下文ID
|
* @return
|
*/
|
public String getDataFlowId();
|
|
//获取主机Ip
|
public String getHostIp();
|
|
//获取监听端口
|
public String getPort();
|
|
public String getAppId();
|
|
public String getUserId();
|
|
public void setAppId(String appId);
|
|
public void setUserId(String userId);
|
|
//业务编码,如果是批量受理就取第一个
|
public String getServiceCode();
|
|
//业务名称 如果是批量受理就取第一个
|
public String getServiceName();
|
|
//时间
|
public String getTimestamp();
|
|
//编码 S 表示成功 F其他表示失败
|
|
/**
|
* 当前状态 调用的时候和接受的时候统一写成S
|
* 返回时如果返回失败则写为F
|
* @return S 表示成功 F其他表示失败
|
*/
|
public String getLogStatus();
|
|
/**
|
* 耗时
|
* @return
|
*/
|
public long getCostTime();
|
|
/**
|
* 接口请求消息
|
* @return
|
*/
|
public String getRequestMessage();
|
|
|
public String getResponseMessage();
|
|
/**
|
* 重新构建 TransactionLog 对象 主要用于服务调用方
|
* @return
|
*/
|
public TransactionLog reBuilder(String appId,String userId,String requestMessage,String responseMessage,String logStatus,long costTime);
|
|
/**
|
* 重新构建 TransactionLog 对象 主要用于服务提供方
|
* @param requestMessage 请求数据
|
* @param responseMessage 返回数据
|
* @param logStatus 数据交互状态
|
* @return
|
*/
|
public TransactionLog reBuilder(String requestMessage,String responseMessage,String logStatus,long costTime);
|
|
/**
|
* 转换成json模式
|
* @return
|
*/
|
public String toString();
|
|
}
|