Spring集成ES客户端(7.5.2)

由于新版的ES逐渐放弃了对于Java TCP客户端的支持和维护,而是更推荐使用REST Client进行集群的操作,Springboot项目可以使用starter方便的集成使用,但是单纯的Spring项目并不能很优雅的直接使用RestHighLevelClient进行操作,因此需要手动封装一个FactoryBean进行集成。

1、封装Spring的FactoryBean

@Setter
@Slf4j
public class EsClientFactoryBean implements FactoryBean<RestHighLevelClient> {
   
   

    /**
     * ES鉴权header
     */
    private static final String ES_AUTH_HEADER = "Authorization";
    /**
     * keep-alive时间默认30分钟
     */
    private static final long KEEP_ALIVE_TIME = 1000 * 60 * 30;
    /**
     * 集群配置 host:port;host:port
     */
    private String clusters;
    /**
     * ES鉴权用户名
     */
    private String securityUser;
    /**
     * ES鉴权密码
     */
    private String securityPassword;

    /**
     * 基础的base64生成
     *
     * @param username 用户名
     * @param passwd   密码
     */
    private static String basicAuthHeaderValue(String username, String passwd) {
   
   
        CharBuffer chars = CharBuffer.allocate(username.length() + passwd.length() + 1);
        byte[] charBytes = null;
        try {
   
   
            chars.put(username).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值