2009-03-11 14 views
2

Nous sommes confrontés à des déconnexions sur notre pile Tomcat/BlazeDS/ActiveMQ. Bien que notre BlazeDS StreamingAMFChannel soit configuré avec les minutes d'inactivité-minutes par défaut de 0, il semble expirer après environ 30 minutes de temps d'inactivité (voir journal). Le client ne fait aucune demande pendant ce temps et nous ne poussons pas les messages de la rubrique ActiveMQ.Problème de déconnexion Tomcat/BlazeDS/ActiveMQ

Nous avons activé la journalisation de débogage sur activeMQ et BlazeDS et nous voyons que BlazeDS supprime le consommateur. Malheureusement, il n'y a pas de message de journal avant le message de déconnexion, donc nous ne pouvons pas vraiment retracer quand cela est appelé dans BlazeDS.

Est-ce que quelqu'un d'autre a connu cela ou quelqu'un peut-il fournir une solution?

* ActiveMQ journal *

11 Mar 2009 16:25:47,405 [ActiveMQ Transport: tcp:///127.0.0.1:49971] DEBUG activemq.broker.region.AbstractRegion - Removing consumer: ID:TMSNEC02.traficon.int-52586-1236783284912-2:3:1:1 
11 Mar 2009 16:25:47,406 [ActiveMQ Transport: tcp:///127.0.0.1:49971] DEBUG activemq.broker.region.AbstractRegion - Removing consumer: ID:TMSNEC02.traficon.int-52586-1236783284912-2:3:-1:1 
11 Mar 2009 16:25:47,407 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] DEBUG activemq.transport.tcp.TcpTransport - Stopping transport tcp://localhost/127.0.0.1:61616 
11 Mar 2009 16:25:47,408 [ActiveMQ Transport Stopper: /127.0.0.1:49971] DEBUG apache.activemq.broker.TransportConnection - Stopping connection: /127.0.0.1:49971 
11 Mar 2009 16:25:47,409 [ActiveMQ Transport Stopper: /127.0.0.1:49971] DEBUG activemq.transport.tcp.TcpTransport - Stopping transport tcp:///127.0.0.1:49971 
11 Mar 2009 16:25:47,413 [ActiveMQ Transport Stopper: /127.0.0.1:49971] DEBUG apache.activemq.broker.TransportConnection - Stopped connection: /127.0.0.1:49971 
11 Mar 2009 16:25:47,417 [ActiveMQ Transport Stopper: /127.0.0.1:49971] DEBUG apache.activemq.broker.TransportConnection - Connection Stopped: /127.0.0.1:49971 
11 Mar 2009 16:25:47,427 [ActiveMQ Transport: tcp:///127.0.0.1:50680] DEBUG activemq.broker.region.AbstractRegion - Removing consumer: ID:TMSNEC02.traficon.int-52586-1236783284912-2:4:1:1 
11 Mar 2009 16:25:47,430 [ActiveMQ Transport: tcp:///127.0.0.1:50680] DEBUG activemq.broker.region.AbstractRegion - Removing consumer: ID:TMSNEC02.traficon.int-52586-1236783284912-2:4:-1:1 
11 Mar 2009 16:25:47,431 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] DEBUG activemq.transport.tcp.TcpTransport - Stopping transport tcp://localhost/127.0.0.1:61616 
11 Mar 2009 16:25:47,431 [ActiveMQ Transport Stopper: /127.0.0.1:50680] DEBUG apache.activemq.broker.TransportConnection - Stopping connection: /127.0.0.1:50680 
11 Mar 2009 16:25:47,431 [ActiveMQ Transport Stopper: /127.0.0.1:50680] DEBUG activemq.transport.tcp.TcpTransport - Stopping transport tcp:///127.0.0.1:50680 
11 Mar 2009 16:25:47,435 [ActiveMQ Transport Stopper: /127.0.0.1:50680] DEBUG apache.activemq.broker.TransportConnection - Stopped connection: /127.0.0.1:50680 
11 Mar 2009 16:25:47,438 [ActiveMQ Transport Stopper: /127.0.0.1:50680] DEBUG apache.activemq.broker.TransportConnection - Connection Stopped: /127.0.0.1:50680 
11 Mar 2009 16:25:47,439 [ActiveMQ Transport: tcp:///127.0.0.1:50681] DEBUG activemq.broker.region.AbstractRegion - Removing consumer: ID:TMSNEC02.traficon.int-52586-1236783284912-2:5:1:1 
11 Mar 2009 16:25:47,439 [ActiveMQ Transport: tcp:///127.0.0.1:50681] DEBUG activemq.broker.region.AbstractRegion - Removing consumer: ID:TMSNEC02.traficon.int-52586-1236783284912-2:5:-1:1 
11 Mar 2009 16:25:47,440 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] DEBUG activemq.transport.tcp.TcpTransport - Stopping transport tcp://localhost/127.0.0.1:61616 
11 Mar 2009 16:25:47,440 [ActiveMQ Transport Stopper: /127.0.0.1:50681] DEBUG apache.activemq.broker.TransportConnection - Stopping connection: /127.0.0.1:50681 
11 Mar 2009 16:25:47,441 [ActiveMQ Transport Stopper: /127.0.0.1:50681] DEBUG activemq.transport.tcp.TcpTransport - Stopping transport tcp:///127.0.0.1:50681 
11 Mar 2009 16:25:47,441 [ActiveMQ Transport Stopper: /127.0.0.1:50681] DEBUG apache.activemq.broker.TransportConnection - Stopped connection: /127.0.0.1:50681 
11 Mar 2009 16:25:47,441 [ActiveMQ Transport Stopper: /127.0.0.1:50681] DEBUG apache.activemq.broker.TransportConnection - Connection Stopped: /127.0.0.1:50681 

* BlazeDS log *

[BlazeDS]03/11/2009 15:55:39.776 [DEBUG] [Endpoint.AMF] Serializing AMF/HTTP response 
Version: 3 
    (Message #0 targetURI=/4/onResult, responseURI=) 
    (Externalizable Object #0 'DSK') 
     (Externalizable Object #1 'flex.messaging.io.ArrayCollection') 
     (Array #2) 
1.236783339776E12 
(Byte Array #3, Length 16) 
(Byte Array #4, Length 16) 
(Byte Array #5, Length 16) 

[BlazeDS]03/11/2009 16:25:47.391 [INFO] [Service.Message.JMS] JMS consumer for JMS destination 'java:comp/env/eventMessagesFlexTopic' is being removed from the JMS adapter 
[BlazeDS]03/11/2009 16:25:47.392 [INFO] [Service.Message.JMS] JMS consumer for JMS destination 'java:comp/env/eventMessagesFlexTopic' is stopping. 
[BlazeDS]03/11/2009 16:25:47.417 [DEBUG] [Client.MessageClient] MessageClient with clientId '7A98D7BC-F0B3-922C-A968-BE0BFB7D9080' for destination 'eventMessageFeed' has been invalidated. 
[BlazeDS]03/11/2009 16:25:47.419 [INFO] [Service.Message.JMS] JMS consumer for JMS destination 'java:comp/env/detectorsFlexTopic' is being removed from the JMS adapter 
[BlazeDS]03/11/2009 16:25:47.423 [INFO] [Service.Message.JMS] JMS consumer for JMS destination 'java:comp/env/detectorsFlexTopic' is stopping. 
[BlazeDS]03/11/2009 16:25:47.435 [DEBUG] [Client.MessageClient] MessageClient with clientId '7A9BC826-2199-C772-0A1B-FE6FAE9F7402' for destination 'detectorsFeed' has been invalidated. 
[BlazeDS]03/11/2009 16:25:47.438 [INFO] [Service.Message.JMS] JMS consumer for JMS destination 'java:comp/env/scenariosFlexTopic' is being removed from the JMS adapter 
[BlazeDS]03/11/2009 16:25:47.438 [INFO] [Service.Message.JMS] JMS consumer for JMS destination 'java:comp/env/scenariosFlexTopic' is stopping. 
[BlazeDS]03/11/2009 16:25:47.440 [DEBUG] [Client.MessageClient] MessageClient with clientId '7A9BCE40-A0DA-18D6-9FA1-6D6AA2088256' for destination 'scenarioMessageFeed' has been invalidated. 
[BlazeDS]03/11/2009 16:25:47.441 [DEBUG] [Client.FlexClient] FlexClient with id '7A95FDE9-0091-B1CD-3660-D8E9CD6CD3E6' has been invalidated. 
[BlazeDS]03/11/2009 16:25:47.441 [DEBUG] [Endpoint.StreamingAMF] Endpoint with id 'my-streaming-amf' is streaming message: Flex Message (flex.messaging.messages.CommandMessage) 
operation = disconnect 
clientId = null 
correlationId = null 
destination = null 
messageId = 7ED1C45A-10A7-BFBB-E24E-94B9C03047EE 
timestamp = 1236785147441 
timeToLive = 0 
body = null 
[BlazeDS]03/11/2009 16:25:47.441 [DEBUG] [Endpoint.FlexSession] FlexSession with id '71A76CA22AC435285736F6DB0E38AC11' for an Http-based client connection has been invalidated. 
[BlazeDS]03/11/2009 16:25:47.444 [DEBUG] [Client.FlexClient] FlexClient with id '7A941468-80E5-8343-A2AE-A3AFFA135734' has been invalidated. 
[BlazeDS]03/11/2009 16:25:47.444 [DEBUG] [Endpoint.FlexSession] FlexSession with id '1238AA40EF8B016F3942C6D6BDBA29B9' for an Http-based client connection has been invalidated. 
[BlazeDS]03/11/2009 16:25:47.444 [DEBUG] [Endpoint.StreamingAMF] Streaming thread 'http-8080-1' for endpoint with id 'my-streaming-amf' is releasing connection and returning to the request handler pool. 
[BlazeDS]03/11/2009 16:25:47.444 [INFO] [Endpoint.FlexSession] Number of streaming clients for FlexSession with id '71A76CA22AC435285736F6DB0E38AC11' is 0. 
[BlazeDS]03/11/2009 16:25:47.444 [DEBUG] [Endpoint.StreamingAMF] Number of streaming clients for endpoint with id 'my-streaming-amf' is 0. 
[BlazeDS]03/11/2009 16:25:47.489 [DEBUG] [Endpoint.FlexSession] FlexSession created with id 'E5BCC7617F3937139CCAD377EEB85D45' for an Http-based client connection. 
[BlazeDS]03/11/2009 16:25:47.489 [INFO] [Endpoint.General] Channel endpoint my-streaming-amf received request. 

Répondre

3

Nous avons résolu ce problème en envoyant un message persistant du client au serveur toutes les 30 secondes. Apparemment, c'était la FlexSession qui expirait car elle suit le délai d'expiration de la session par défaut de Tomcat. Étant donné que le message keep-alive est envoyé à un intervalle faible, nous définissons également le délai d'expiration de la session sur une valeur faible sur le serveur, ce qui entraîne une amélioration de la consommation de mémoire sur le serveur.

+0

Merci pour cela ... Il m'a juste aidé à résoudre mon propre problème d'expiration FlexSession! –

0

Vous pouvez répondre à un événement de déconnexion et reconnecter si vous avez besoin.

Questions connexes