Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/growingio/growingio-java-sdk
https://github.com/growingio/growingio-java-sdk
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/growingio/growingio-java-sdk
- Owner: growingio
- License: apache-2.0
- Created: 2016-11-28T04:15:25.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-01-29T07:05:17.000Z (11 months ago)
- Last Synced: 2024-04-16T05:12:54.468Z (8 months ago)
- Language: Java
- Size: 306 KB
- Stars: 3
- Watchers: 30
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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` 调节队列大小和消息发送间隔时间,避免丢消息)