code: private Connection getConnection() {
  
          if (!connectionOption.isPresent()) {
              final Connection connection = connectionSupplier.get();
  
              if (connection instanceof ActiveMQConnection) {
                  ((ActiveMQConnection) connection).addTransportListener(new TransportListener() {
                      @Override
                      public void onCommand(Object command) {
  
                      }
  
                      @Override
                      public void onException(IOException error) {
                      }
  
                      @Override
                      public void transportInterupted() {
                          connected.set(false);
                      }
  
                      @Override
                      public void transportResumed() {
                          connected.set(true);
                      }
                  });
              }
  
  
              connected.set(true);
  
              if (startConnection) {
                  try {
                      connection.start();
                  } catch (JMSException e) {
                      throw new JmsException("Unable to start JMS connection", e);
                  }
              }
              connectionOption = Optional.of(connection);
          }
          return connectionOption.get();
      }
docs: Get the current connection or create one using the connectionSupplier.
  
  @return JMS Connection