Interface BatchRequestService


public interface BatchRequestService
Usage request batch processing service. Individual usage requests are submitted for processing.
  • Method Details

    • submitUsage

      void submitUsage(UsageRequest request, SingleResponseConsumer<UsageResponse> responseConsumer, boolean resubmit) throws UserNotFoundException, SystemHealthException
      Submit a UsageRequest for processing. The processing of the UsageRequest happens asynchronously.
      Parameters:
      request - the request to send
      responseConsumer - responseConsumer that will receive the response
      resubmit - indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request.
      Throws:
      UserNotFoundException - if user could not be located at the time of envelope creation
      SystemHealthException
    • submitUsage

      void submitUsage(List<UsageRequest> requests, MultiResponseConsumer<UsageResponse> responseConsumer, boolean resubmit) throws MessagesException, SystemHealthException, UserNotFoundException
      Submit a batch of UsageRequests for processing. The processing of the UsageRequests happens asynchronously.
      Parameters:
      requests - the request to send
      responseConsumer - responseConsumer that will receive the response
      resubmit - indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request.
      Throws:
      MessagesException - if envelope creation goes wrong
      UserNotFoundException - if user could not be located at the time of envelope creation
      SystemHealthException
    • submitUpdateBatch

      List<oracle.communication.brm.charging.messages.update.UpdateResponse> submitUpdateBatch(List<oracle.communication.brm.charging.messages.update.UpdateRequest> requests, boolean resubmit) throws MessagesException, ExecutionException, InterruptedException, TimeoutException, UserNotFoundException
      Synchronously submit a batch of update requests using Entry Processor
      Parameters:
      requests - List of update requests
      resubmit - indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request
      requests - List of update requests
      resubmit - indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request
      Returns:
      List of update responses
      Throws:
      MessagesException - if envelope creation goes wrong
      ExecutionException
      InterruptedException
      TimeoutException
      UserNotFoundException
    • submitMSCCUpdateBatch

      List<oracle.communication.brm.charging.messages.framework.MultiResponseEnvelope<oracle.communication.brm.charging.messages.update.UpdateResponse>> submitMSCCUpdateBatch(List<oracle.communication.brm.charging.messages.update.UpdateRequest> requests, boolean resubmit, int updateResponseTimeout, long updateRequestServerTimeout) throws MessagesException, ExecutionException, InterruptedException, TimeoutException, BRSOverloadException
      Synchronously submit a batch of requests to be processed as MSCC
      Parameters:
      requests - List of update requests
      resubmit - indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request
      updateResponseTimeout - response Maxtimeout for MSCC request
      updateRequestServerTimeout -
      Returns:
      List of MSCC responses one per customer id
      Throws:
      MessagesException
      ExecutionException
      InterruptedException
      TimeoutException
      BRSOverloadException
    • submitUpdate

      oracle.communication.brm.charging.messages.update.UpdateResponse submitUpdate(oracle.communication.brm.charging.messages.update.UpdateRequest request, boolean resubmit) throws MessagesException, ExecutionException, InterruptedException, TimeoutException, UserNotFoundException
      Synchronously submit the update request
      Parameters:
      request - update request
      resubmit - indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request
      Returns:
      update response
      Throws:
      MessagesException - if envelope creation goes wrong
      ExecutionException
      InterruptedException
      TimeoutException
      UserNotFoundException
    • submitQuery

      void submitQuery(QueryRequest request, SingleResponseConsumer<QueryResponse> responseConsumer) throws UserNotFoundException, SystemHealthException
      Submit a QueryRequest for processing. The processing of the QueryRequest happens asynchronously.
      Parameters:
      request - the request to send
      responseConsumer - responseConsumer that will receive the response
      Throws:
      UserNotFoundException - if user could not be located at the time of envelope creation
      SystemHealthException
    • submitQuery

      void submitQuery(QueryRequest request, SingleResponseConsumer<QueryResponse> responseConsumer, long responseTimeoutEpoch) throws UserNotFoundException, SystemHealthException
      Submit a QueryRequest for processing. The processing of the QueryRequest happens asynchronously.
      Parameters:
      request - the request to send
      responseConsumer - responseConsumer that will receive the response
      responseTimeoutEpoch - the time the response should timeout
      Throws:
      UserNotFoundException - if user could not be located at the time of envelope creation
      SystemHealthException
    • submitQuery

      Submit a batch of QueryRequests for processing. The processing of the QueryRequests happens asynchronously.
      Parameters:
      requests - the request to send
      responseConsumer - responseConsumer that will receive the response
      Throws:
      MessagesException - if envelope creation goes wrong
      UserNotFoundException - if user could not be located at the time of envelope creation
      SystemHealthException
    • submitManagement

      void submitManagement(ManagementRequest request, SingleResponseConsumer<ManagementResponse> responseConsumer, boolean resubmit) throws MessagesException
      Submit a ManagementRequest for processing. The processing of the ManagementRequest happens asynchronously.
      Parameters:
      request - the request to send
      responseConsumer - responseConsumer that will receive the response
      resubmit - indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request.
      Throws:
      MessagesException - if envelope creation goes wrong
    • submit

      @Deprecated void submit(oracle.communication.brm.charging.messages.framework.RequestEnvelope envelope) throws SystemHealthException
      Deprecated.
      Submit an Envelope for processing. The processing of the Envelope happens asynchronously.
      Parameters:
      envelope - The Incoming Envelope
      Throws:
      SystemHealthException
    • submitManagementRequest

      @Deprecated void submitManagementRequest(oracle.communication.brm.charging.messages.framework.SingleRequestEnvelope<ManagementRequest> envelope)
      Deprecated.
      Submit an Envelope for management flow processing. The processing of the Envelope happens asynchronously.
      Parameters:
      envelope - The Incoming Envelope
    • submitPolicy

      void submitPolicy(PolicyRequest request, SingleResponseConsumer<PolicyResponse> responseConsumer, boolean resubmit) throws UserNotFoundException, SystemHealthException
      Submit a PolicyRequest for processing. The processing of the PolicyRequest happens asynchronously.
      Parameters:
      request - the request to send
      responseConsumer - responseConsumer that will receive the response
      resubmit - indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request
      Throws:
      SystemHealthException - ECE system is not in a healthy state for processing the submitted request
      UserNotFoundException - if user could not be located at the time of envelope creation
    • shutdown

      void shutdown()
      Method will gracefully shutdown the BatchRequestService. All awaiting requests will be processed before shutdown.
    • getBRSMBean

      BRSStatMXBean getBRSMBean()
      Returns the MBean exposing the statistical attributes of Batch Request Service.
    • setIngressRequestTimeoutMs

      void setIngressRequestTimeoutMs(int ingressRequestTimeoutMs)
      Set the value for the amount of time the BRS will wait for item in the queue. Items in the queue longer than this amount are targets for abort or eviction.
      Parameters:
      ingressRequestTimeoutMs - the amount of time that must pass before an item is considered timed out
    • getIngressRequestTimeoutMs

      int getIngressRequestTimeoutMs()
      Get the value for the amount of time the BRS will wait for item in the queue. Items in the queue longer than this amount are targets for abort or eviction.
      Returns:
      The amount of time that must pass before an item is considered timed out