Java Tomcat警告集群上下文管理器没有';不存在

Java Tomcat警告集群上下文管理器没有';不存在,java,tomcat,cluster-computing,replication,server.xml,Java,Tomcat,Cluster Computing,Replication,Server.xml,我在集群中有两台服务器运行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.H

我在集群中有两台服务器运行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:
...
在运行Tomcat5.5的旧环境中也会发生这种情况。警告消息一直持续到Tomcat java进程被终止。在我所做的研究中,所有的例子在“context manager不存在:”之后都有一个context manager的名称,但我的没有。此外,我还看到一些人说将日志记录级别更改为严重级别以抑制这些消息。首先,如果java进程继续运行,除非我手动终止它,那么抑制警告不会有任何帮助。其次,我想知道为什么我会收到这些警告以及它们的含义。。。我还没有找到答案

我有3个问题:
  • 这些警告意味着什么
  • 为什么在“上下文管理器不存在:”之后为空
  • Tomcat在等待什么来停止java进程?(即,为什么不停止而不终止流程?)
  • conf/context.xml:

    <Context path="" docBase="ROOT" debug="0" reloadable="true">
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
    </Context>
    
    <?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>
    
    
    WEB-INF/WEB.xml
    
    conf/server.xml:

    <Context path="" docBase="ROOT" debug="0" reloadable="true">
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
    </Context>
    
    <?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>
    

    我找到了你问题的答案