Refreshing service components

Service components are not refreshed when you refresh the package or server in which the component implementation is installed. You must explicitly refresh the service component entity. To refresh a service component in the Management Console, right-click the icon for the service component entity and choose Refresh.

EAServer refreshes a service component as follows:

  1. The server calls the stop() method. Your implementation must communicate the stoppage so that the run() method returns in each thread running the service.

  2. The server waits for the run() method to return in all instances that are running as services. The wait time can be configured with the service component Stop Wait Time property.

  3. The server creates a new instance and calls the start() and run() methods, in that order. If the multiple instances are specified for the service, the server loads the additional instances that are required and calls run() on each instance.

After refresh, a new instance is guaranteed not to start before previous instances have ceased running. Consequently, a service component can not be refreshed unless the run() method returns. See “Implement GenericService interface methods” for code examples that show how to coordinate the logic in the stop() and run() methods.