2017-02-13 3 views
2

Serverのバージョンを停止に失敗しました:Apache Tomcatの/ 8.0.26
サーバーが構築された:2015年8月18日の11時38分37秒UTC
サーバーの数: 8.0.26.0
OS名:Linuxの
OSバージョン:2.6.32-642.3.1.el6.x86_64
アーキテクチャ:AMD64
JVMのバージョン:1.8.0_60-B27
JVMベンダー:オラクル・コーポレーション
は[コモンズ・プールが-EvictionTimer]それに

私はjedisバージョンを使用しています:2.8.2(commons-pool2:2.4.2) Tomcatを終了すると、警告メッセージが表示されます。

13-Feb-2017 08:12:14.006 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [commons-pool-EvictionTimer] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: 
java.lang.Object.wait(Native Method) 
java.util.TimerThread.mainLoop(Timer.java:552) 
java.util.TimerThread.run(Timer.java:505) 

これはjedisの一部です。


... 
@Bean(name = "jedisConnectionFactory", destroyMethod = "destroy") 

public JedisConnectionFactory jedisConnectionFactory() throws IOException { 
    final Properties redisConfig = PropertiesLoaderUtils.loadProperties(
       new PathMatchingResourcePatternResolver().getResource("classpath:redis.properties")); 

    final JedisConnectionFactory result = new JedisConnectionFactory(); 
    result.setHostName(redisConfig.getProperty("redis.hostName")); 
    result.setPort(Integer.parseInt(redisConfig.getProperty("redis.port"))); 
    result.setUsePool(Boolean.parseBoolean(redisConfig.getProperty("redis.pool.use"))); 
    result.setTimeout(Integer.parseInt(redisConfig.getProperty("redis.timeout"))); 
    result.setPoolConfig(createJedisPoolConfig(redisConfig)); 
    result.afterPropertiesSet(); 
    return result; 
    } 
... 

これはどのように修正できますか?

+0

私はこれまで同様の問題に直面していました。当時の問題は、リソースが正しくクリーンアップされていないことでした。これを解決するには、 'ServletContextListener'を登録します。 –

+0

ありがとうございます。私はjedisConnectionFactory.destroy()を呼び出してServletContextListenerをクリーンアップしようとします。クリーンアップまたは登録する方法はありますか? – cmk1105

答えて

0

既知の問題のように見えます。https://github.com/xetorthio/jedis/issues/936を参照してください。

明らかに、JedisConnectionFactory自体をクリーンアップする必要はありませんが、工場の助けを借りて作成された接続プールです。

関連する問題