Interface BRSOverloadProtectionMXBean

All Superinterfaces:
BRSStatMXBean

public interface BRSOverloadProtectionMXBean extends BRSStatMXBean
Interface exposes the attributes to configure the Threshold for BRS before BRS starts rejecting the submitted requests.
  • Method Details

    • setOverloadProtection

      void setOverloadProtection(boolean overloadProtection)
      To enable overload protection.
      Parameters:
      overloadProtection - boolean
    • getOverloadProtection

      boolean getOverloadProtection()
      Returns if the BRS instance is protected against any overload scenarios.
      Returns:
      boolean true if brs is protected
    • setSkipActiveActivePreferredSiteRouting

      void setSkipActiveActivePreferredSiteRouting(boolean skipActiveActivePreferredSiteRouting)
      To skip preferred Site routing
      Parameters:
      skipActiveActivePreferredSiteRouting -
    • getSkipActiveActivePreferredSiteRouting

      boolean getSkipActiveActivePreferredSiteRouting()
      Returns if routing to be skipped
      Returns:
      boolean true if routing to be skipped
    • getThreadPendingCount

      int getThreadPendingCount()
      Returns the number of Requests that are accepted by BRS but still pending in its queue to be submitted for processing.
      Returns:
      int The number of Tasks waiting to be submitted for processing.
    • getRejectedTaskCount

      long getRejectedTaskCount()
      Returns the total number of requests that have been rejected by BRS.
      Returns:
      long The total rejected requests count since this instance of BRS was started.
    • getTimeoutCount

      long getTimeoutCount()
      Returns the total number of requests that have been timeouted by BRS after retries.
      Returns:
      long The total timeouted requests count after retries since this instance of BRS was started.
    • getAcceptedTaskCount

      long getAcceptedTaskCount()
      Returns the total number of requests that have been accepted by BRS for processing. This number includes the requests that have been accepted but waiting to be send for processing.
      Returns:
      long The total number of requests accepted since this instance of BRS was started.
    • getAcceptedTaskResponseCount

      long getAcceptedTaskResponseCount()
      Returns the total number of request event responses received by BRS.
      Returns:
      long The total number of request event responses.
    • setAcceptablePendingCount

      void setAcceptablePendingCount(int acceptablePendingCount)
      Sets the percentage of the thread pool size before BRS starts rejecting the requests. The acceptable threshold is calculated as: (threadPoolSize * percentThresholdPendingCount)/100;
      Parameters:
      acceptablePendingCount - int Number of tasks that can be acceptable pending at any given time
    • getAcceptablePendingCount

      int getAcceptablePendingCount()
      Returns the current value of the percent threshold pending count.
      Returns:
      int Returns the number of acceptable tasks that can be pending at a given time
    • getMaxPendingRequestsCustomer

      String getMaxPendingRequestsCustomer()
      At this time, the customer has the max pending count
      Returns:
    • getMaxPendingRequests

      long getMaxPendingRequests()
      At this time, the max pending count for a customer
      Returns:
      max pending count for a customer
    • getPendingRequests

      long getPendingRequests()
      At this time, the total pending count for all customers
      Returns:
      total pending count for all customers
    • getUniqueCustomersInProcessing

      long getUniqueCustomersInProcessing()
      At this time, the total unique customers are in processing (by the BRS thread pool)
      Returns:
      total unique customers are in processing (by the BRS thread pool)
    • getBulkCustomersInProcessing

      long getBulkCustomersInProcessing()
      At this time, the total bulk customers with pending requests in processing (by the BRS thread pool)
      Returns:
      total bulk customers are in processing (by the BRS thread pool)
    • getMessageReceiveCount

      long getMessageReceiveCount()
      At this time, the total of BRS event requests sent to BRS thread pool
      Returns:
      total of BRS event requests sent to BRS thread pool
    • getMessageSendCount

      long getMessageSendCount()
      At this time, the total of BRS events responses received by BRS thread pool
      Returns:
      total of BRS event requests received by BRS thread pool
    • setThrottleProcessingPerCustomer

      void setThrottleProcessingPerCustomer(boolean throttleProcessingPerCustomer)
      Throttle processing per customer or not for usage request(s). When enabled by setting the parameter to true, for a given account/subscriber there is only 1 transaction processing can be submitted to ECE servers for processing at any time. And the following usage requests for the account/subscriber will be queued. Once the 1 on-going transaction response is received, the queued usage requests for the associated account/subscriber will be submitted to start a new transaction in a batch 50 or less. This continues to complete any queued usage requests. Default is true.
      Parameters:
      throttleProcessingPerCustomer - true to throttle usage processing per customer, otherwise false
    • getThrottleProcessingPerCustomer

      boolean getThrottleProcessingPerCustomer()
      Throttle processing per customer or not for usage request(s). When enabled by setting the parameter to true, for a given account/subscriber there is only 1 transaction processing can be submitted to ECE servers for processing at any time. And the following usage requests for the account/subscriber will be queued. Once the 1 on-going transaction response is received, the queued usage requests for the associated account/subscriber will be submitted to start a new transaction in a batch 50 or less. This continues to complete any queued usage requests. Default is true.
      Returns:
      throttleProcessingPerCustomer true to throttle usage processing per customer, otherwise false
    • getPendingRequestHeapUsageThresholdPercentage

      int getPendingRequestHeapUsageThresholdPercentage()
      Get the allowed heap usage threshold percentage for the pending usage requests based on throttling per customer mode. It should be an integer between 0 and 100 inclusively. If it is 0 or 100, then no threshold is defined and the pending usage requests can use heap memory to up available from the configured Java maximum heap size. If it is defined as non-0/non-100, for example 50, then it can use only up to the 50% of the configured Java maximum heap size. Upon crossing the 50% threshold, the ECE API will not accept any more usage requests. Default is 30, 30% of the configured Java maximum heap size.
      Returns:
      allowed heap usage threshold percentage for the pending usage requests based on throttling per customer mode.
    • setPendingRequestHeapUsageThresholdPercentage

      void setPendingRequestHeapUsageThresholdPercentage(int pendingRequestHeapUsageThresholdPercentage)
      Get the allowed heap usage threshold percentage for the pending usage requests based on throttling per customer mode. It should be an integer between 0 and 100 inclusively. If it is 0 or 100, then no threshold is defined and the pending usage requests can use heap memory to up available from the configured Java maximum heap size. If it is defined as non-0/non-100, for example 50, then it can use only up to the 50% of the configured Java maximum heap size. Upon crossing the 50% threshold, the ECE API will not accept any more usage requests. Default is 30, 30% of the configured Java maximum heap size.
      Parameters:
      pendingRequestHeapUsageThresholdPercentage - heap usage threshold percentage for the pending usage requests based on throttling per customer mode.