Interface Conversation


public interface Conversation

Allows the application to manage the conversation context by marking the current conversation as transient or long-running, specifying a conversation identifier, or setting the conversation timeout.

An instance may be injected:

 @Inject
 Conversation conversation;
 

The conversation timeout is a hint to the container that a conversation should not be destroyed if it has been active within the last given interval in milliseconds.

CDI Lite implementations are not required to provide support for conversations.

Author:
Pete Muir, Gavin King
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Mark the current transient conversation long-running.
    void
    Mark the current transient conversation long-running, with a specified identifier.
    void
    end()
    Marks the current long-running conversation transient.
    Get the identifier of the current long-running conversation.
    long
    Get the timeout of the current conversation.
    boolean
    Determine if the conversation is marked transient or long-running.
    void
    setTimeout(long milliseconds)
    Set the timeout of the current conversation.
  • Method Details

    • begin

      void begin()

      Mark the current transient conversation long-running. A conversation identifier is generated by the container.

      Throws:
      IllegalStateException - if the current conversation is already marked long-running.
    • begin

      void begin(String id)

      Mark the current transient conversation long-running, with a specified identifier.

      Parameters:
      id - conversation id
      Throws:
      IllegalStateException - if the current conversation is already marked long-running.
      IllegalArgumentException - if a conversation with the specified identifier already exists.
    • end

      void end()

      Marks the current long-running conversation transient.

      Throws:
      IllegalStateException - if the current conversation is already marked transient.
    • getId

      String getId()

      Get the identifier of the current long-running conversation.

      Returns:
      the identifier of the current long-running conversation, or a null value if the current conversation is transient.
    • getTimeout

      long getTimeout()

      Get the timeout of the current conversation.

      Returns:
      the current timeout in milliseconds.
    • setTimeout

      void setTimeout(long milliseconds)

      Set the timeout of the current conversation.

      Parameters:
      milliseconds - the new timeout in milliseconds.
    • isTransient

      boolean isTransient()

      Determine if the conversation is marked transient or long-running.

      Returns:
      true if the conversation is marked transient, or falseif it is marked long-running.