### *** This class provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.events.broker

# Class EventBrokerService

java.lang.Object
com.sas.services.AbstractRemoteService
com.sas.services.events.broker.EventBrokerService

All Implemented Interfaces:
  `com.sas.entities.EntityKeyInterface`, `EventBrokerServiceInterface`, `ListenerRegisterInterface`, `ServiceNotificationBroadcasterInterface`, `RemoteServiceInterface`, `Runnable`, `Remote`

@SASScope("ALL") @BinaryCompatibilityOnly public class EventBrokerService extends AbstractRemoteService implements EventBrokerServiceInterface, Runnable
Deprecated.
As of release 9.3, replaced by SAS Midtier Eventing Architecture.
The EventBroker Service, which is part of the SAS Foundation Services, is used to process incoming events by instantiating process flows that have been configured and/or forwarding the events to registered listening applications. An overview of the EventBroker Service is provided in the package documentation.

## Usage

An EventBroker service, just like any SAS Foundation service, is deployed via Foundation Service deployment utilities. Once an EventBroker service has been deployed, you can use the Discovery Service to locate it. Depending on how an EventBroker service is deployed, a Discovery service may be able to locate it even when it has been deployed in a different JVM. See Deployment Models for more details. In any case once an EventBroker service has been located it can be used to send events by casting it to an `EventBrokerServiceInterface`. It can also be used by remote listener applications that implement `ListenerInterface` to register interest in certain events by casting it to a `ListenerRegisterInterface`.

Events can also be sent to an EventBroker service over one or more transports that have been configured to monitor for incoming events.

As a convenience this class contains a ``main`` method that displays a Swing UI that can be used to deploy SAS Foundation services based on a designated metadata source configuration. The deployed foundation services must include an EventBroker service; otherwise, an error will be displayed. Once the services have been deployed, an EventBroker service will be ready to process incoming events that are received on the configured transports.

Since:
  1.0

- ## Field Summary

  ### Fields inherited from interface com.sas.services.events.broker.EventBrokerServiceInterface

  `EVENT_TYPE_BROADCAST, EVENT_TYPE_REQUEST_RESPONSE`

  ### Fields inherited from interface com.sas.services.RemoteServiceInterface

  `CLASS_IDENTIFIER, CLASS_IDENTIFIER_1_1, CLASS_IDENTIFIER_1_2, CLASS_IDENTIFIER_SERVICE_TYPE, CLASS_IDENTIFIER_SERVICE_TYPE_1_1, CLASS_IDENTIFIER_SERVICE_TYPE_1_2`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `EventBrokerService(ServiceConfigurationInterface serviceConfiguration)`
  Deprecated.
  Constructs an event broker service based upon the specified service configuration.
  `EventBrokerService(ServiceConfigurationInterface serviceConfiguration, DiscoveryServiceInterface discoveryService)`
  Deprecated.
  Constructs an event broker service based upon the specified service configuration.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `main(String[] args)`
  Deprecated.
  Main Swing application.
  `void`
  `reconfigure()`
  Deprecated.
  Re-configures this service using the current service configuration associated with this service.
  `void`
  `reconfigure(ServiceConfigurationInterface serviceConfiguration)`
  Deprecated.
  Re-configures this service.

  ### Methods inherited from class com.sas.services.AbstractRemoteService

  `addServiceObserver, bindToDiscoveryService, getCreationTime, getDetails, getDiscoveryService, getEntityKey, getEnvironment, getServiceConfiguration, getServiceConfiguration, getServiceState, handleJVMShutdown, isAccessibleToRemoteClients, isExported, isHandlingJVMShutdown, notifyServiceObservers, removeAllServiceObservers, removeServiceObserver, sameEntity, setDiscoveryService, setEntityKey, setRemoteableExporter, setServiceState, toString, unbindFromDiscoveryService`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface com.sas.entities.EntityKeyInterface

  `getEntityKey, sameEntity, setEntityKey`

  ### Methods inherited from interface com.sas.services.RemoteServiceInterface

  `getCreationTime, getServiceConfiguration, getServiceConfiguration, getServiceState, isAccessibleToRemoteClients, isExported, setServiceState`

  ### Methods inherited from interface com.sas.services.mgmt.ServiceNotificationBroadcasterInterface

  `addServiceObserver, notifyServiceObservers, removeAllServiceObservers, removeServiceObserver`

- ## Constructor Details

  - ### EventBrokerService

    @SASScope("ALL") @NeedsAPIReview public EventBrokerService(ServiceConfigurationInterface serviceConfiguration) throws RemoteException, ServiceException
    Deprecated.
    Constructs an event broker service based upon the specified service configuration.
    Parameters:
      `serviceConfiguration` - Service configuration.
    Throws:
      `RemoteException` - if a network anomaly occurs.
      `ServiceException` - if unable to configure the service using the specified service configuration.

  - ### EventBrokerService

    public EventBrokerService(ServiceConfigurationInterface serviceConfiguration, DiscoveryServiceInterface discoveryService) throws RemoteException, ServiceException
    Deprecated.
    Constructs an event broker service based upon the specified service configuration.
    Parameters:
      `serviceConfiguration` - Service configuration.
    Throws:
      `RemoteException` - if a network anomaly occurs.
      `ServiceException` - if unable to configure the service using the specified service configuration.

- ## Method Details

  - ### reconfigure

    public void reconfigure(ServiceConfigurationInterface serviceConfiguration) throws ServiceException, RemoteException
    Deprecated.
    Re-configures this service.
    Specified by:
      `reconfigure` in interface `RemoteServiceInterface`
    Overrides:
      `reconfigure` in class `AbstractRemoteService`
    Parameters:
      `serviceConfiguration` - An object containing configuration data necessary to re-configure a service. Note that the service provider must verify that the object type is supported. A `ServiceException` should be thrown if the re-initialization was not completed successfully.
    Throws:
      `ServiceException` - if unable to reconfigure the service using the specified service configuration.
      `RemoteException` - if a network anomaly occurs.

  - ### reconfigure

    public void reconfigure() throws ServiceException, RemoteException
    Deprecated.
    Re-configures this service using the current service configuration associated with this service.
    Throws:
      `ServiceException` - if unable to reconfigure the service using the specified service configuration.
      `RemoteException` - if a network anomaly occurs.

  - ### main

    @SASScope("ALL") @NeedsAPIReview public static void main(String[] args)
    Deprecated.
    Main Swing application.

    Invoke a UI to deploy the SAS Foundation Services.

    Parameters:
      `args` - optional metadata source configuration file.