org.apache.activemq.artemis.spi.core.protocol

## Interface SessionCallback

-     public interface SessionCallback

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `afterDelivery()` This can be used to complete certain operations outside of the lock, like acks or other operations.
    `void` | `browserFinished(org.apache.activemq.artemis.core.server.ServerConsumer consumer)` Some protocols (Openwire) needs a special message with the browser is finished.
    `void` | `closed()`
    `void` | `disconnect(org.apache.activemq.artemis.core.server.ServerConsumer consumerId, String queueName)`
    `boolean` | `hasCredits(org.apache.activemq.artemis.core.server.ServerConsumer consumerID)` This one gives a chance for Proton to have its own flow control.
    `boolean` | `isWritable(ReadyListener callback)`
    `int` | `sendLargeMessage(org.apache.activemq.artemis.core.server.MessageReference reference, org.apache.activemq.artemis.core.server.ServerMessage message, org.apache.activemq.artemis.core.server.ServerConsumer consumerID, long bodySize, int deliveryCount)`
    `int` | `sendLargeMessageContinuation(org.apache.activemq.artemis.core.server.ServerConsumer consumerID, byte[] body, boolean continues, boolean requiresResponse)`
    `int` | `sendMessage(org.apache.activemq.artemis.core.server.MessageReference ref, org.apache.activemq.artemis.core.server.ServerMessage message, org.apache.activemq.artemis.core.server.ServerConsumer consumerID, int deliveryCount)`
    `void` | `sendProducerCreditsFailMessage(int credits, SimpleString address)`
    `void` | `sendProducerCreditsMessage(int credits, SimpleString address)`
    `boolean` | `updateDeliveryCountAfterCancel(org.apache.activemq.artemis.core.server.ServerConsumer consumer, org.apache.activemq.artemis.core.server.MessageReference ref, boolean failed)` Use this to updates specifics on the message after a redelivery happened.

- - ### Method Detail

    - #### hasCredits

          boolean hasCredits(org.apache.activemq.artemis.core.server.ServerConsumer consumerID)

      This one gives a chance for Proton to have its own flow control.

    - #### afterDelivery

          void afterDelivery()
                      throws Exception

      This can be used to complete certain operations outside of the lock, like acks or other operations.
      Throws:
        `Exception`

    - #### updateDeliveryCountAfterCancel

          boolean updateDeliveryCountAfterCancel(org.apache.activemq.artemis.core.server.ServerConsumer consumer,
                                                 org.apache.activemq.artemis.core.server.MessageReference ref,
                                                 boolean failed)

      Use this to updates specifics on the message after a redelivery happened. Return true if there was specific logic applied on the protocol, so the ServerConsumer won't make any adjustments.
      Parameters:
        `consumer` -
        `ref` -
        `failed` -

    - #### sendProducerCreditsMessage

          void sendProducerCreditsMessage(int credits,
                                          SimpleString address)

    - #### sendProducerCreditsFailMessage

          void sendProducerCreditsFailMessage(int credits,
                                              SimpleString address)

    - #### sendMessage

          int sendMessage(org.apache.activemq.artemis.core.server.MessageReference ref,
                          org.apache.activemq.artemis.core.server.ServerMessage message,
                          org.apache.activemq.artemis.core.server.ServerConsumer consumerID,
                          int deliveryCount)

    - #### sendLargeMessage

          int sendLargeMessage(org.apache.activemq.artemis.core.server.MessageReference reference,
                               org.apache.activemq.artemis.core.server.ServerMessage message,
                               org.apache.activemq.artemis.core.server.ServerConsumer consumerID,
                               long bodySize,
                               int deliveryCount)

    - #### sendLargeMessageContinuation

          int sendLargeMessageContinuation(org.apache.activemq.artemis.core.server.ServerConsumer consumerID,
                                           byte[] body,
                                           boolean continues,
                                           boolean requiresResponse)

    - #### closed

          void closed()

    - #### disconnect

          void disconnect(org.apache.activemq.artemis.core.server.ServerConsumer consumerId,
                          String queueName)

    - #### isWritable

          boolean isWritable(ReadyListener callback)

    - #### browserFinished

          void browserFinished(org.apache.activemq.artemis.core.server.ServerConsumer consumer)

      Some protocols (Openwire) needs a special message with the browser is finished.

Copyright © 2017 The Apache Software Foundation. All rights reserved.