Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-3484

Stomp 1.1 - add a testcase for sending messages after expired heartbeat

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 5.x
    • 5.6.0
    • Connector

    Description

      The testcase below waits for five seconds after connecting and then tries to write a SEND frame. The test fails if a frame can be sent to the broker after missing heartbeat signals.

      public void testSendAfterMissingHeartbeat() throws Exception {

      String connectFrame = "STOMP\n" +
      "login: system\n" +
      "passcode: manager\n" +
      "accept-version:1.1\n" +
      "heart-beat:1000,0\n" +
      "host:localhost\n" +
      "\n" + Stomp.NULL;

      stompConnection.sendFrame(connectFrame);
      String f = stompConnection.receiveFrame();
      assertTrue(f.startsWith("CONNECTED"));
      assertTrue(f.indexOf("version:1.1") >= 0);
      assertTrue(f.indexOf("heart-beat:") >= 0);
      assertTrue(f.indexOf("session:") >= 0);
      LOG.debug("Broker sent: " + f);

      Thread.sleep(5000);

      try

      { String message = "SEND\n" + "destination:/queue/" + getQueueName() + "\n\n" + "Hello World" + Stomp.NULL; stompConnection.sendFrame(message); fail("SEND frame has been accepted after missing heart beat"); }

      catch (Exception ex)

      { System.out.println(ex.getMessage()); }

      }

      Attachments

        Activity

          People

            Unassigned Unassigned
            mjustin Michael Justin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: