code: def _subscribe(self, sub_id, channel, callback, **kwargs):
          
          headers = {}
          if kwargs.get("exclusive"):
              headers["activemq.exclusive"] = "true"
          if kwargs.get("ignore_namespace"):
              destination = "/queue/" + channel
          else:
              destination = "/queue/" + self._namespace + channel
          if kwargs.get("priority"):
              headers["activemq.priority"] = kwargs["priority"]
          if kwargs.get("retroactive"):
              headers["activemq.retroactive"] = "true"
          if kwargs.get("selector"):
              headers["selector"] = kwargs["selector"]
          if kwargs.get("transformation"):
              if kwargs["transformation"] == True:
                  headers["transformation"] = "jms-object-json"
              else:
                  headers["transformation"] = kwargs["transformation"]
          if kwargs.get("acknowledgement"):
              ack = "client-individual"
          else:
              ack = "auto"
  
          self._conn.subscribe(destination, sub_id, headers=headers, ack=ack)
docs: Listen to a queue, notify via callback function.
          :param sub_id: ID for this subscription in the transport layer
          :param channel: Queue name to subscribe to
          :param callback: Function to be called when messages are received
          :param **kwargs: Further parameters for the transport layer. For example
            acknowledgement:  If true receipt of each message needs to be
                              acknowledged.
            exclusive:        Attempt to become exclusive subscriber to the queue.
            ignore_namespace: Do not apply namespace to the destination name
            priority:         Consumer priority, messages are sent to higher
                              priority consumers whenever possible.
            selector:         Only receive messages filtered by a selector. See
                              https://activemq.apache.org/activemq-message-properties.html
                              for potential filter criteria. Uses SQL 92 syntax.
            transformation:   Transform messages into different format. If set
                              to True, will use 'jms-object-json' formatting.