这一篇说说一个简单的写入实现,首先创建对应的KDB Server Connection,这里给出一个类似singleton的实现,加入了connection挂掉了重连的功能,没有考虑短时间重连太多被封的可能性,原因是因为我们的系统中由单一线程每五秒钟往kdb写数一次,ip在kdb的白名单中,所以没可能会被封。
/**
*
*/
package kx;
import java.io.IOException;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import kx.C.KException;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.log4j.Log4j2;
/**
* @author cloudlu
*
*/
@Log4j2
@Getter
@Setter
public class KDBConnectionManager {
@NotNull
@Size(min = 2, max = 30)
private String host;
@NotNull
private int port;
@NotNull
@Size(min = 2, max = 30)
private String username;
@NotNull
@Size(min = 2, max = 30)
private String password;
private C c;
private boolean isValid(final C conn) {
if (null == conn)
return false;
if (null == conn.s || conn.s.isClosed() || !conn.s.isConnected())
return false;

本文介绍了如何将KDB时间序列数据库与Java相结合,特别是实现数据写入的功能。通过创建一个带有重连机制的KDB Server Connection singleton,确保在连接断开时能自动恢复。由于系统设计为每5秒单线程写入一次,并且IP在KDB白名单内,因此不会引发频繁重连导致的封禁问题。
最低0.47元/天 解锁文章
1855

被折叠的 条评论
为什么被折叠?



