Менеджер контекста кластера предупреждений Tomcat не существует

У меня есть 2 сервера с Tomcat 7.0.54 в кластере, и иногда я вижу эти предупреждения диспетчера контекста при выключении или перезапуске JVM на одном из серверов:

2016-03-01 10:14:53,414 [Thread-8] INFO  org.apache.coyote.ajp.AjpProtocol- Pausing ProtocolHandler ["ajp-bio-8106"]
2016-03-01 10:14:53,471 [Thread-8] INFO  org.apache.coyote.http11.Http11Protocol- Pausing ProtocolHandler ["http-bio-8206"]
2016-03-01 10:14:53,521 [Thread-8] INFO  org.apache.catalina.core.StandardService- Stopping service MyService
2016-03-01 10:14:53,678 [Catalina-startStop-2] INFO  org.apache.catalina.ha.session.JvmRouteBinderValve- JvmRouteBinderValve stopped
2016-03-01 10:14:53,757 [localhost-startStop-2] INFO org.apache.catalina.ha.session.DeltaManager- Manager [] expiring sessions upon shutdown
2016-03-01 10:14:53,921 [Tribes-Task-Receiver-5] WARN  org.apache.catalina.ha.session.ClusterSessionListener- Context manager doesn't exist:
2016-03-01 10:14:53,936 [Tribes-Task-Receiver-5] WARN  org.apache.catalina.ha.session.ClusterSessionListener- Context manager doesn't exist:
2016-03-01 10:14:53,936 [Tribes-Task-Receiver-5] WARN  org.apache.catalina.ha.session.ClusterSessionListener- Context manager doesn't exist:
2016-03-01 10:14:53,994 [Tribes-Task-Receiver-5] WARN  org.apache.catalina.ha.session.ClusterSessionListener- Context manager doesn't exist:
2016-03-01 10:14:54,018 [Tribes-Task-Receiver-1] WARN  org.apache.catalina.ha.session.ClusterSessionListener- Context manager doesn't exist:
...

Это случалось и в старой среде, когда работал Tomcat 5.5. Сообщения WARN продолжают появляться до тех пор, пока Java-процесс Tomcat не будет уничтожен. В проведенном мной исследовании все примеры имеют имя контекстного менеджера после «Контекстный менеджер не существует:», но в моем случае его нет. Кроме того, я видел, как некоторые люди говорили, что нужно изменить уровень ведения журнала на СЕРЬЕЗНЫЙ, чтобы подавить эти сообщения. Прежде всего, если процесс java продолжает работать, пока я не убью его вручную, подавление предупреждений ничем не поможет. Во-вторых, я хотел бы знать, почему я получаю эти предупреждения и что они означают... Я не нашел ответа на этот вопрос.

У меня есть 3 вопроса:

  1. Что означают эти предупреждения?
  2. Почему после «Диспетчер контекста не существует:» он пуст?
  3. Чего ждет Tomcat, чтобы остановить процесс Java? (т.е. почему он не остановится, не убивая процесс?)

conf/context.xml:

<Context path="" docBase="ROOT" debug="0" reloadable="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

conf/server.xml:

<?xml version='1.0' encoding='utf-8'?>
<Server port="8006" shutdown="SHUTDOWN">
    <GlobalNamingResources>
        <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
        <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />
    </GlobalNamingResources>

    <Service name="MyService">
        <Connector port="8106" maxThreads="300" acceptCount="200" keepAliveTimeout="5" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
        <Connector port="8206" enableLookups="false" redirectPort="8443" protocol="HTTP/1.1" />

        <Engine name="Catalina" defaultHost="localhost">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>

            <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

                <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
                    <Manager className="org.apache.catalina.ha.session.DeltaManager"
                        expireSessionsOnShutdown="false"
                        notifyListenersOnReplication="true"/>

                    <Channel className="org.apache.catalina.tribes.group.GroupChannel">
                        <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                            address="<ip address of server 1>"
                            port="4006"
                            autoBind="100"
                            selectorTimeout="5000"
                            maxThreads="6"/>
                        <Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor">
                            <Member className="org.apache.catalina.tribes.membership.StaticMember"
                                port="4006" securePort="-1"
                                host="<ip address of server 2>"
                                domain="tomcat-server-cluster"
                                uniqueId="{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0}" />
                        </Interceptor>

                        <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                            <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
                        </Sender>
                        <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
                        <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
                    </Channel>

                    <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;.*Monitor\.jsp;"/>
                    <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

                    <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
                    <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
                </Cluster>
            </Host>
        </Engine>
    </Service>
</Server>

person Matt    schedule 02.03.2016    source источник
comment
Я нашел ответ на ваши вопросы stackoverflow.com/a/19391515/1821373   -  person andree    schedule 19.05.2016