Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

  • #31
    as a side note, is it available a recent version of Messaging_QuickRef.pdf ? Mine is pretty old, version 6.5.

    Comment


    • #32
      Originally posted by Isomorphic View Post
      Regarding the question [cut]
      Thanks for your comments and explanations.

      Now I'm trying to define my application channels on the broker, to avoid the creation of a topic for every 'subscribe' operation on the same channel (which is normal if I've understood correctly).

      So, using the rabbitMQ management application I've defined a queue updateOrdineChannel of type durable, with a binding to the jms.durable.topic exchange.

      I've changed the resource definition like this:
      Code:
      <Resource
                  name="jms/updateOrdineChannel"
                  type="javax.jms.Topic"
                  factory="com.rabbitmq.jms.admin.RMQObjectFactory"
                  destinationName="updateOrdineChannel"
      
                  amqp="true"
                  amqpExchangeName="jms.durable.topic"
                  amqpRoutingKey="updateOrdineChannel"
                  amqpQueueName="updateOrdineChannel"
          />
              <ResourceLink global="jms/updateOrdineChannel" name="jms/updateOrdineChannel"/>
      because without those amqp attributes it seems that the queue has always zero consumers, and those others topics mentioned above are still created.

      Instead, with those attributes, the queue has the expected number of consumers, but the messaging fails with this error:
      Code:
      2017-11-08 16:53:27,382 DEBUG [claudio.bosticco@juventus.com 798] MessagingConnectionHandler Delivering data: [
          {
              TIPO_EVENTO:"SERIE A TIM",
      .....
              HA_RICHIESTO_POSTI_CENTRALI:false
          }
      ] to: com.isomorphic.messaging.JMSMessageDispatcher, channels: [
          "jms/updateOrdineChannel"
      ] 
      2017-11-08 16:53:27,402 DEBUG [claudio.bosticco@juventus.com 798] RPCDMI Invocation threw exception 
      com.rabbitmq.jms.util.RMQJMSException: Unsupported message type for AMQP destination
          at com.rabbitmq.jms.client.RMQMessageProducer.sendAMQPMessage(RMQMessageProducer.java:303)
          at com.rabbitmq.jms.client.RMQMessageProducer.internalSend(RMQMessageProducer.java:274)
          at com.rabbitmq.jms.client.RMQMessageProducer.access$200(RMQMessageProducer.java:32)
          at com.rabbitmq.jms.client.RMQMessageProducer$PreferMessageProducerPropertySendingStategy.send(RMQMessageProducer.java:429)
          at com.rabbitmq.jms.client.RMQMessageProducer.send(RMQMessageProducer.java:206)
          at com.isomorphic.messaging.JMSMessageDispatcher.deliver(JMSMessageDispatcher.java:194)
          at com.isomorphic.messaging.MessagingConnectionHandler.send(MessagingConnectionHandler.java:85)
          at com.isomorphic.rpc.BuiltinRPC.messagingSend(BuiltinRPC.java:1297)
          .....
      Caused by: java.lang.UnsupportedOperationException: MessageProducer.send to AMQP resource: Message not Text or Bytes
          ... 94 more
      2017-11-08 16:53:27,407 WARN  [claudio.bosticco@juventus.com 798] RequestContext rpcRequest.execute() failed:  
      com.rabbitmq.jms.util.RMQJMSException: Unsupported message type for AMQP destination
          at com.rabbitmq.jms.client.RMQMessageProducer.sendAMQPMessage(RMQMessageProducer.java:303)
          at com.rabbitmq.jms.client.RMQMessageProducer.internalSend(RMQMessageProducer.java:274)
          at com.rabbitmq.jms.client.RMQMessageProducer.access$200(RMQMessageProducer.java:32)
          at com.rabbitmq.jms.client.RMQMessageProducer$PreferMessageProducerPropertySendingStategy.send(RMQMessageProducer.java:429)
          at com.rabbitmq.jms.client.RMQMessageProducer.send(RMQMessageProducer.java:206)
          at com.isomorphic.messaging.JMSMessageDispatcher.deliver(JMSMessageDispatcher.java:194)
          at com.isomorphic.messaging.MessagingConnectionHandler.send(MessagingConnectionHandler.java:85)
      I've tried to add the
      Code:
      x-opt-jms-msg-type: TextMessage
      argument to the queue, but the error remains the same.

      Does it has something to do with the realtime messaging module? Or am I missing/misusing something? Any hints?

      Comment


      • #33
        The contents of that PDF have been subsumed into the reference docs here: https://www.smartclient.com/smartcli...oup..messaging. This will be updated in the next couple of days with some typical configuration options for ActiveMQ and RabbitMQ and Tomcat - basically the context.xml configuration and server.properties settings to use those <Resource> blocks, but you've already sorted this out on your own so while I don't think there will be new content for you there, those who are just starting out will find it helpful.

        Comment


        • #34
          Thanks, I'll wait for the documentation update to see if that's something different from my setup.

          About post #32, did you notice the same behaviour of the queues on the rabbitMQ broker?

          I mean the fact that if I don't add these attributes:
          Code:
          amqp="true"
          amqpExchangeName="jms.durable.topic"
          amqpRoutingKey="updateOrdineChannel"
          amqpQueueName="updateOrdineChannel"
          it creates a new queue with a single consumer for every subscribe operation and for every re-connection (after the TTL expires).

          But with those attributes I've got the error "Message not Text or Bytes".

          BTW I've got the same error with the realtime messaging if I define a isc_DebugTarget queue.
          Last edited by claudiobosticco; 9th Nov 2017, 01:48.

          Comment


          • #35
            The growth of RMQ Queues without limit has been bothering me as well. I've posted a question about this to the RabbitMQ community - check it out here: https://groups.google.com/forum/#!to...rs/0zXgBh-nX28. Let's see where this goes. We can definitely fix this by cycling Connections but this is sub-optimal given my reading of the JMS spec. FYI the current logic does work properly with ActiveMQ - not that I'm suggesting you go back to it :)

            In terms of the amqp thing: I think the issue is we're relying on Java serialization because we send our messages as type ObjectMessage. What we'll do is provide a config flag that switches to the TextMessage type which is consumable by things other than Java - which is often the whole point of using a broker. We'll probably just encode the payload via JSON to the String datatype that TextMessage requires and doc that. What do you think?

            Comment


            • #36
              Just to clarify on the JSON encoding: if the consumer on the other side of the SmartClient/SGWT send is also a SmartClient/SGWT server, then the JSON encoding will be totally transparent - you won't need to do any deserialization yourself. But if you're writing to a topic/queue that e.g. gets read by some arbitrary C++ client, then it'll need to parse the JSON, but these days there's a drop-in library for that in just about every language.

              Comment


              • #37
                Originally posted by Isomorphic View Post
                I've posted a question about this to the RabbitMQ community - check it out here: https://groups.google.com/forum/#!to...rs/0zXgBh-nX28. Let's see where this goes.
                ok, thanks, I've subscribed to receive notifications.
                Originally posted by Isomorphic View Post
                In terms of the amqp thing: I think the issue is we're relying on Java serialization because we send our messages as type ObjectMessage. What we'll do is provide a config flag that switches to the TextMessage type which is consumable by things other than Java - which is often the whole point of using a broker. We'll probably just encode the payload via JSON to the String datatype that TextMessage requires and doc that. What do you think?
                Sounds great! Thank you very much.

                Comment


                • #38
                  Originally posted by claudiobosticco View Post
                  ok, thanks, I've subscribed to receive notifications.
                  and they've just replied!

                  Comment


                  • #39
                    Patch submitted. It may have to go through a few rounds before it's accepted, but ultimately it looks like this should be resolved in the jms connector code so we won't have to provide a sub-optimal workaround like cycling connections.

                    Comment


                    • #40
                      Ok, looks like our patch is in to the RabbitMQ JMS broker. Tomorrow's (Nov 16) build of SC/SGWT will have the json encoding option. It may not be doc'd yet, but you can enable it by setting this server.properties value:

                      Code:
                      messaging.jms.encoding: json
                      On server startup, you should see a message like the following:

                      Code:
                      === 2017-11-15 10:56:10,388 [ec-1] INFO  JMSMessageDispatcher - JMS Connection started. Using json encoding

                      Comment


                      • #41
                        Hello, I'm trying today (Nov 16) build, with
                        messaging.jms.encoding: json
                        setting.
                        Did you change something in the jndi lookup?
                        I've got this exception:
                        Code:
                        2017-11-16 14:51:01,761 ERROR [claudio.bosticco@juventus.com ] MessagingServlet com.isomorphic.messaging.MessagingServlet top-level exception
                        java.lang.Exception: Failed to lookup JNDI object javax.jms.ConnectionFactory - tried: /ConnectionFactory, and: ConnectionFactory
                            at com.isomorphic.naming.JNDI.lookup(JNDI.java:299)
                            at com.isomorphic.messaging.JMSMessageDispatcher.connect(JMSMessageDispatcher.java:117)
                            at com.isomorphic.messaging.JMSMessageDispatcher.<init>(JMSMessageDispatcher.java:80)
                            at sun.reflect.GeneratedConstructorAccessor100.newInstance(Unknown Source)
                            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                            at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
                            at java.lang.Class.newInstance(Class.java:383)
                            at com.isomorphic.base.Reflection.newInstance(Reflection.java:213)
                            at com.isomorphic.base.Reflection.instantiateClass(Reflection.java:185)
                            at com.isomorphic.base.Reflection.instantiateClass(Reflection.java:161)
                            at com.isomorphic.messaging.ISCMessageDispatcher.instance(ISCMessageDispatcher.java:58)
                            at com.isomorphic.messaging.ISCMessageDispatcher.instance(ISCMessageDispatcher.java:72)
                            at com.isomorphic.messaging.MessagingConnectionHandler.process(MessagingConnectionHandler.java:132)
                            at com.isomorphic.messaging.MessagingServlet.doPost(MessagingServlet.java:115)
                            at com.isomorphic.messaging.MessagingServlet.doGet(MessagingServlet.java:131)
                        -------------------------------------------------
                        Edit: I managed to get it working using:
                        messaging.jms.jndiPrefix: jms
                        messaging.jms.topicConnectionFactory: ConnectionFactory
                        instead of:
                        messaging.jms.jndiPrefix:
                        messaging.jms.topicConnectionFactory:jms/ConnectionFactory
                        nevertheless I'm interested in understanding what has changed.

                        Note: I've found another problem, I'll write a new post.
                        Last edited by claudiobosticco; 16th Nov 2017, 07:40.

                        Comment


                        • #42
                          SmartClient Version: v11.1p_2017-11-16/Enterprise Deployment (built 2017-11-16)

                          Chrome on OSX

                          Hello, I'm trying the
                          messaging.jms.encoding: json
                          setting, but I've found a problem.
                          In the messaging callback, I see that every data field is a string, ie:
                          - booleans are "true" and "false" (as a string)
                          - numbers (as ids or others) are also strings, so 2979574 became "2979574"
                          - dates are rendered as "$$DATESTAMP$$:1511725500000"

                          Obviously strings are correct.

                          Comment


                          • #43
                            Hey - yes, the JNDI lookup code has been modified. The purpose was to provide some resiliency and consistency for lookups, so the intent was to have the ConnectionFactory (and other) lookups work with or without the jndiPrefix so that people arrive at a working configuration faster even if they don't read all the docs super closely.

                            We'll patch the behavior where having the jndiPrefix set to an empty string creates a problem - previously this was treated as null and that behavior will be restored in tomorrow's build.

                            Will take a look at the JSON encoding issue. The boolean issue is not immediately explicable, but the dates look like they're using our internal format - which works client to client, but obviously wouldn't work cross-platform with some arbitrary JSON parser consuming what we send. Will get this taken care of asap.

                            Comment


                            • #44
                              Still working on the JSON issue. But wanted to make sure you saw the update on https://github.com/rabbitmq/rabbitmq-jms-client/pull/35 wherein the next stable release of the RMQ JMS client will require a special flag to auto-delete temporary broker queues. The context.xml that ships with our SDK includes a commented out RMQ factory JNDI block with this flag - here's a copy for reference:

                              Code:
                                <Resource name="jms/ConnectionFactory"
                                          type="javax.jms.ConnectionFactory"
                                          factory="com.rabbitmq.jms.admin.RMQObjectFactory"
                                          username="guest"
                                          password="guest"
                                          virtualHost="/"
                                          host="localhost"
                                          cleanUpServerNamedQueuesForNonDurableTopicsOnSessionClose="true"            
                                />

                              Comment


                              • #45
                                Hello, thanks for the update.

                                I've just tried the rabbitmq-jms-1.8.0.RC1.jar, using the cleanUpServerNamedQueuesForNonDurableTopicsOnSessionClose="true" as you suggested.

                                I'm using this build of SmartClient:
                                SmartClient Version: v11.1p_2017-11-16/Enterprise Deployment (built 2017-11-16)

                                and Chrome browser on High Sierra.

                                But I'm still seeing the queues growing.
                                I'm accessing my application with ?isc_remoteDebug=true, so I see immediately two queues created on the broker, and then two more queues every 2 minutes.
                                In the tomcat logs I see the cleanup call
                                MessagingConnectionHandler calling cleanup()
                                Code:
                                2017-11-23 10:53:17,394 DEBUG MessagingConnectionHandler Sending connectCallback 
                                2017-11-23 10:53:17,395 DEBUG MessagingConnectionHandler Entering event loop with ttl: 120000 
                                2017-11-23 10:53:17,912 DEBUG MessagingConnectionHandler inClientReconnectWindow - breaking out of event processing loop 
                                2017-11-23 10:53:17,912 DEBUG MessagingConnectionHandler calling cleanup() 
                                2017-11-23 10:53:17,912 DEBUG JMSMessageDispatcher closing session 
                                2017-11-23 10:53:17,917 DEBUG MessagingConnectionHandler clientReconnectWindow expired 
                                2017-11-23 10:53:17,917 DEBUG MessagingConnectionHandler calling cleanup() 
                                2017-11-23 10:53:17,917 DEBUG ExceptionTranslationFilter Chain processed normally 
                                2017-11-23 10:53:17,917 DEBUG SecurityContextPersistenceFilter SecurityContextHolder now cleared, as request processing completed 
                                2017-11-23 10:53:20,396 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:23,396 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:26,397 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:29,398 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:32,398 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:35,399 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:38,400 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:41,400 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:44,401 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:47,401 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:50,402 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:53,402 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:56,403 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:53:59,404 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:02,404 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:05,405 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:08,406 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:11,407 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:14,408 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:17,408 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:20,409 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:23,409 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:26,410 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:29,411 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:32,412 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:35,412 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:38,416 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:41,417 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:44,417 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:47,418 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:50,418 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:53,419 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:56,420 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:54:59,420 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:02,421 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:05,422 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:08,422 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:11,423 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:14,424 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:17,415 DEBUG MessagingConnectionHandler terminating connection 
                                2017-11-23 10:55:18,245 INFO  RequestContext URL: '/Legend/isomorphic/messaging', User-Agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36': Safari with Accept-Encoding header 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy Converted URL to lowercase, from: '/isomorphic/messaging'; to: '/isomorphic/messaging' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy Candidate is: '/isomorphic/messaging'; pattern is /images/*; matched=false 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy Converted URL to lowercase, from: '/isomorphic/messaging'; to: '/isomorphic/messaging' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy Candidate is: '/isomorphic/messaging'; pattern is /isomorphic/resthandler*; matched=false 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy Converted URL to lowercase, from: '/isomorphic/messaging'; to: '/isomorphic/messaging' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy Candidate is: '/isomorphic/messaging'; pattern is /**; matched=true 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 1 of 10 in additional filter chain; firing Filter: 'ChannelProcessingFilter' 
                                2017-11-23 10:55:18,246 DEBUG DefaultFilterInvocationSecurityMetadataSource Converted URL to lowercase, from: '/isomorphic/messaging'; to: '/isomorphic/messaging' 
                                2017-11-23 10:55:18,246 DEBUG DefaultFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/messaging'; pattern is /*.jsp; matched=false 
                                2017-11-23 10:55:18,246 DEBUG DefaultFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/messaging'; pattern is /monitoring*; matched=false 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 2 of 10 in additional filter chain; firing Filter: 'ConcurrentSessionFilter' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 3 of 10 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter' 
                                2017-11-23 10:55:18,246 DEBUG HttpSessionSecurityContextRepository Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT: 'org.springframework.security.core.context.SecurityContextImpl@15948c65: Authentication: org.springframework.security.cas.authentication.CasAuthenticationToken@15948c65: Principal: org.springframework.security.ldap.userdetails.InetOrgPerson@f74a983f: Dn: mail=claudio.bosticco@juventus.com,o=JUVENTUSFC; Username: claudio.bosticco@juventus.com; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; CredentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_ADMIN, ROLE_SALES, ROLE_CONTROLLO_GEST; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@0: RemoteIpAddress: 172.16.2.26; SessionId: 0591E6629107CB5799E503F99D35F504.srvubuntu6; Granted Authorities: ROLE_ADMIN, ROLE_SALES, ROLE_CONTROLLO_GEST Assertion: org.jasig.cas.client.validation.AssertionImpl@493a4f44 Credentials (Service/Proxy Ticket): ST-28-iCYBXNgO2zdueDCAnNiK-cas' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 4 of 10 in additional filter chain; firing Filter: 'LogoutFilter' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 5 of 10 in additional filter chain; firing Filter: 'CasAuthenticationFilter' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 6 of 10 in additional filter chain; firing Filter: 'RequestCacheAwareFilter' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 7 of 10 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 8 of 10 in additional filter chain; firing Filter: 'SessionManagementFilter' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 9 of 10 in additional filter chain; firing Filter: 'ExceptionTranslationFilter' 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true at position 10 of 10 in additional filter chain; firing Filter: 'FilterSecurityInterceptor' 
                                2017-11-23 10:55:18,246 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Converted URL to lowercase, from: '/isomorphic/messaging'; to: '/isomorphic/messaging' 
                                2017-11-23 10:55:18,246 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/messaging'; pattern is /*.jsp; matched=false 
                                2017-11-23 10:55:18,246 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/messaging'; pattern is /isomorphic/idacall*; matched=false 
                                2017-11-23 10:55:18,246 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/messaging'; pattern is /tools/*.jsp; matched=false 
                                2017-11-23 10:55:18,246 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/messaging'; pattern is /tools/visualbuilder/*.jsp; matched=false 
                                2017-11-23 10:55:18,246 DEBUG ExpressionBasedFilterInvocationSecurityMetadataSource Candidate is: '/isomorphic/messaging'; pattern is /monitoring*; matched=false 
                                2017-11-23 10:55:18,246 DEBUG FilterSecurityInterceptor Public object - authentication not attempted 
                                2017-11-23 10:55:18,246 DEBUG FilterChainProxy /isomorphic/messaging?ts=1511430918240&type=connect&connectionID=conn_3&subscribedChannels=%7B%0A%20%20%20%20%22F347BB79-C374-421C-B047-6B7F3C65D8F3%22%3A%7B%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20isc_DebugTarget%3A%7B%0A%20%20%20%20%7D%0A%7D&eventStream=true reached end of additional filter chain; proceeding with original chain 
                                2017-11-23 10:55:18,267 DEBUG MessagingConnectionHandler Sending connectCallback 
                                2017-11-23 10:55:18,267 DEBUG MessagingConnectionHandler Entering event loop with ttl: 120000 
                                2017-11-23 10:55:19,416 DEBUG MessagingConnectionHandler inClientReconnectWindow - breaking out of event processing loop 
                                2017-11-23 10:55:19,416 DEBUG MessagingConnectionHandler calling cleanup() 
                                2017-11-23 10:55:19,416 DEBUG JMSMessageDispatcher closing session 
                                2017-11-23 10:55:19,418 DEBUG MessagingConnectionHandler clientReconnectWindow expired 
                                2017-11-23 10:55:19,418 DEBUG MessagingConnectionHandler calling cleanup() 
                                2017-11-23 10:55:19,419 DEBUG ExceptionTranslationFilter Chain processed normally 
                                2017-11-23 10:55:19,419 DEBUG SecurityContextPersistenceFilter SecurityContextHolder now cleared, as request processing completed 
                                2017-11-23 10:55:21,268 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:24,268 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:27,269 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:30,270 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:33,270 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:36,271 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:39,271 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:42,272 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:45,273 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:48,273 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:51,274 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:54,284 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:55:57,285 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:56:00,285 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:56:03,286 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:56:06,287 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:56:09,287 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:56:12,288 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:56:15,289 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:56:18,289 DEBUG MessagingConnectionHandler Sending keepalive 
                                2017-11-23 10:56:21,290 DEBUG MessagingConnectionHandler Sending keepalive
                                But immediately after every call I see two more queues.

                                The client logs are like this:
                                Code:
                                10:52:57.939:DEBUG:Messaging:keepalive on conn: conn_1
                                10:53:00.939:DEBUG:Messaging:keepalive on conn: conn_1
                                10:53:03.940:DEBUG:Messaging:keepalive on conn: conn_1
                                10:53:06.940:DEBUG:Messaging:keepalive on conn: conn_1
                                10:53:09.941:DEBUG:Messaging:keepalive on conn: conn_1
                                10:53:12.941:DEBUG:Messaging:keepalive on conn: conn_1
                                10:53:17.366:TMR0:DEBUG:Messaging:proceeding to connect
                                10:53:17.367:TMR0:DEBUG:Messaging:Using EventSource for comm
                                10:53:17.422:DEBUG:Messaging:connection conn_2 established
                                10:53:17.422:DEBUG:Messaging:Destroying connection: conn_1
                                10:53:17.424:DEBUG:Messaging:persistent server connection open - ttl: 120000ms, keepaliveDelay: 4000ms, connectTimeout: 4000ms.
                                10:53:20.422:DEBUG:Messaging:keepalive on conn: conn_2
                                10:53:23.422:DEBUG:Messaging:keepalive on conn: conn_2
                                10:53:26.423:DEBUG:Messaging:keepalive on conn: conn_2
                                10:53:29.424:DEBUG:Messaging:keepalive on conn: conn_2
                                10:53:32.424:DEBUG:Messaging:keepalive on conn: conn_2
                                10:53:35.424:DEBUG:Messaging:keepalive on conn: conn_2
                                Am I missing something?

                                Comment

                                Working...
                                X