2

春には、このような jedisConnFactory と jedisPoolConfig Bean があります。

    <bean id="jedisConnFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:host-name="127.0.0.1" p:port="6379" p:poolConfig-ref="jedisPoolConfig" />

    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal" value="${redis.pool.maxTotal}" />
        <property name="maxIdle" value="${redis.pool.maxIdle}" />
        <property name="maxWaitMillis" value="${redis.pool.maxWaitMillis}" />
    </bean>

サーバーへのデータ送信はOKです。しかし、JedisPoll が機能しているかどうかを確認する方法がわかりません。

Active、Idle 接続の数を確認するにはどうすればよいですか?

4

2 に答える 2

2

Java リフレクションによってメトリックを取得できます。

      Field poolField = JedisConnectionFactory.class.getDeclaredField("pool");
  poolField.setAccessible(true);
  Pool<Jedis> jedisPool = (Pool<Jedis>)poolField.get(connectionFactory);
  int activeNum = jedisPool.getNumActive();
  int idleNum = jedisPool.getNumIdle();
  int waitNum = jedisPool.getNumWaiters();
  long maxBorrowWaitMs = jedisPool.getMaxBorrowWaitTimeMillis();
  long meanBorrowWaitMs = jedisPool.getMeanBorrowWaitTimeMillis();

出力:

pool monitor - activeNum=0,idleNum=1,waitNum=0, maxBorrowWaitMs=7, meanBorrowWaitMs=0
于 2018-10-12T07:19:47.827 に答える
0

プール構成で JMX が有効になっていることを確認してください。GenericObjectPoolConfig も渡すことができることに注意してください。これにより、オブジェクト プールを完全に制御できます。次に、jconsole を使用して JMX を介してアプリケーションに接続し、接続プールの実際の状態を追跡できます。

于 2016-05-11T12:19:54.090 に答える