Java 数据上报API调用说明

  • 如果您对API使用安全性有更高要求,可以在本SDK的基础上额外增加数据加密或签名验证等处理流程。

SDK引用

<!-- 使用MvnRepository中的最新版本即可,请使用2.2.8或以上版本 -->
<dependency>
    <groupId>com.dtstep.lighthouse</groupId>
    <artifactId>lighthouse-shaded-client</artifactId>
    <version>2.2.8</version>
</dependency>

调用示例


范例代码请参考单元测试:com.dtstep.lighthouse.core.test.api.RpcStatTest中的单元测试方法, 修改相应参数(xl-lighthouse注册中心服务地址,统计项id、统计组秘钥、查询维度、时间参数等)即可直接运行!


对外RPC接口说明

Lighthouse.init(String locators)

参数:locators,lighthouse远程RPC服务注册中心配置信息

作用:用于RPC服务初始化。

LightHouse.stat(String token,final String secretKey,Map paramMap,long timestamp)

参数: token,统计组标识;secretKey,统计组秘钥;paramMap,原始消息参数信息;timestamp,消息事件13位时间戳;

作用:用于上报统计原始消息信息。

LightHouse.stat(String token,final String secretKey,Map paramMap,int repeat, long timestamp)

参数: token,统计组标识;secretKey,统计组秘钥;paramMap,原始消息参数信息;repeat,统计消息重复上报次数,默认为1,timestamp,消息事件13位时间戳;

作用:用于上报统计原始消息信息。

package com.dtstep.lighthouse.core.test.api;

import com.dtstep.lighthouse.client.LightHouse;
import com.dtstep.lighthouse.common.random.RandomID;
import org.junit.Test;

import java.util.HashMap;
import java.util.concurrent.ThreadLocalRandom;

public class RpcStatTest {

    static {
        try{
            //修改rpc服务注册中心地址,集群模式为一主一从,默认为部署集群的前两个节点IP,使用逗号分割,单机模式为当前节点IP
            //LightHouse.init("10.206.6.11:4061,10.206.6.12:4061");//集群模式初始化
            LightHouse.init("10.206.6.31:4061");//单机模式初始化
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }

    @Test
    public void orderStat() throws Exception {
        long t = System.currentTimeMillis();
        for(int i=0;i<6657;i++){
            HashMap<String,Object> paramMap = new HashMap<>();
            paramMap.put("order_id", RandomID.id(6));
            paramMap.put("biz", RandomID.id(2));
            paramMap.put("user_id", RandomID.id(6));
            Double d = ThreadLocalRandom.current().nextDouble(1000);
            paramMap.put("amount",String.format("%.3f", d));//防止上面随机数出现科学计数法
            LightHouse.stat("N4C:order_stat","YEWU3tGjNQL1AevvC9FjNj9SCuvzpYPmLY5akKYz",paramMap,t);
        }
        System.out.println("send ok!");
        Thread.sleep(300000);//client为异步发送,防止进程结束时内存中部分消息没有发送出去
    }
}

results matching ""

    No results matching ""