Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/growingio/growingio-java-sdk


https://github.com/growingio/growingio-java-sdk

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# GrowingIO Java SDK

GrowingIO提供在Server端部署的SDK,从而可以方便的进行事件上报等操作。[帮助文档](https://docs.growingio.com/v3/developer-manual/sdkintegrated/server-sdk/java-sdk)

## Support Java Version

```java
java 6, 7, 8
```

## 依赖

我们推荐使用 Maven 管理Java 项目,请在 pom.xml 文件中,添加一下依赖信息,Maven将自动获取 Java SDK 并更新项目配置

pom.xml

```maven


io.growing.sdk.java
growingio-java-sdk
1.0.7

```

若出现依赖冲突的问题(例如运行时找不到类),可以选择使用 standalone

```maven

io.growing.sdk.java
growingio-java-sdk
1.0.7
standalone


org.xerial.snappy
snappy-java


org.json
json



```

## 示例程序

```java
//事件行为消息体
GIOEventMessage eventMessage = new GIOEventMessage.Builder()
.eventTime(System.currentTimeMillis()) // 默认为系统当前时间,选填
.eventKey("3") // 事件标识 (必填)
.eventNumValue(1.0) // 打点事件数值 (选填)
.loginUserId("417abcabcabcbac") // 带用登陆用户ID的 (选填)
.addEventVariable("product_name", "苹果") // 事件级变量 (选填)
.addEventVariable("product_classify", "水果") // 事件级变量 (选填)
.addEventVariable("product_price", 14) // 事件级变量 (选填)
.build();

//上传事件行为消息到服务器
GrowingAPI.send(eventMessage);
```

## 配置文件信息

gio.properties

```properties
#项目采集端地址
api.host=https://api.growingio.com
#项目的AccountID
project.id=填写您项目的AccountID
#消息发送间隔时间,单位ms(默认 100)
send.msg.interval=100
#消息发送线程数量 (默认 3)
send.msg.thread=3
#消息队列大小 (默认 500)
msg.store.queue.size=500
#数据压缩 false:不压缩,true:压缩
#不压缩可节省cpu,压缩可省带宽
compress=true
#日志级别输出 (debug | error)
logger.level=debug
#自定义日志输出实现类
logger.implemention=io.growing.sdk.java.logger.GioLoggerImpl
#运行模式,test:仅输出消息体,不发送消息,production: 发送消息
run.mode=test
# 设置代理, 如果不设置,默认为不使用代理
proxy.host=127.0.0.1
proxy.port=3128
# 设置代理认证用户密码, 如果不设置,默认为不使用用户验证 [认证加密方式为 Basic base64]
proxy.user=demo
proxy.password=demo
#http 连接超时时间,默认2秒
#connection.timeout=2000
#http 连接读取时间,默认2秒
#read.timeout=2000
```

## 事件消息

* 默认采用阻塞队列,队列大小为500.
* 如果队列满了,新的消息会被丢弃(可通过 `msg.store.queue.size` 和 `send.msg.interval` 调节队列大小和消息发送间隔时间,避免丢消息)