Как остановить tomcat от неудачных попыток подключения к локальным серверам memcached? - PullRequest
4 голосов
/ 13 ноября 2011

Я развернул свое веб-приложение в контейнере Tomcat, но из-за возможной утечки соединения веб-приложение постоянно предпринимает неудачные попытки подключения к локальному серверу memcached, прослушивающему порты 11211 и 11212. Я использую spy-memcached клиент.

У меня определен ContextListener, который в основном закрывает все активные клиентские подключения memcached.

Однако когда я развертываю свое веб-приложение, мне кажется, что tomcat все еще пытается продолжить неудачные попытки подключиться к серверу memcached, чего не следует делать. Я проверил активные соединения tcp на сервере memcached, используя netstat но я не смог найти ни одной записи.

Я также перезапустил сервер Tomcat, но безрезультатно.

Как мне запретить tomcat устанавливать эти соединения?

2011-11-13 21:21:34.575 INFO net.spy.memcached.MemcachedConnection:  Reconnecting due to failure to connect to {QA sa=localhost/127.0.0.1:11212, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)
    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:407)
    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:275)
    at net.spy.memcached.MemcachedClient.run(MemcachedClient.java:2030)
2011-11-13 21:21:34.576 WARN net.spy.memcached.MemcachedConnection:  Closing, and reopening {QA sa=localhost/127.0.0.1:11212, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}, attempt 32.

1 Ответ

0 голосов
/ 06 ноября 2012

Я столкнулся с той же проблемой. Установка истинного демона работает для меня.Я использую spymecached-2.8.4. Я получаю Memcached Client через net.spy.memcached.spring.MemcachedClientFactoryBean , хотя Spring (spring - 3.1.1), вот моя весенняя конфигурация, которую я использую в своей сетиприменение:

<bean id="memcachedClient" class="net.spy.memcached.spring.MemcachedClientFactoryBean">
        <property name="servers" value="localhost:11211"/>
        <property name="protocol" value="BINARY"/>

        <property name="transcoder">
            <bean class="net.spy.memcached.transcoders.SerializingTranscoder">
                <property name="compressionThreshold" value="1024"/>
            </bean>
        </property>

        <property name="opTimeout" value="1000"/>
        <property name="timeoutExceptionThreshold" value="1998"/>
        <property name="hashAlg">
            <value type="net.spy.memcached.DefaultHashAlgorithm">KETAMA_HASH</value>
        </property>
        <property name="locatorType" value="CONSISTENT"/>
        <property name="failureMode" value="Redistribute"/>
        <property name="useNagleAlgorithm" value="false"/>
        <property name="daemon" value="true"/>

    </bean>
...