01: package biz.hammurapi.config;
02:
03: /**
04: * Service is marker interface. It indicates component
05: * which start() method can be invoked multiple times.
06: * Component maintains internal isStarted flag to make sure that
07: * initialization sequence is executed only once. If one thread
08: * is executing start() method and another thread enters
09: * start() method, then the second thread shall be blocked until the
10: * first thread finishes initialization. The first thread shall awaken
11: * the second thread or threads once component is initialized.
12: * If the same thread enters start() method recursively the component shall
13: * throw ConfigurationException with a message "Circular dependency ...".
14: *
15: * The naming bus invokes start() method of service instances before returning
16: * them from get() method.
17: *
18: * @author Pavel
19: *
20: */
21: public interface Service extends Component {
22:
23: }
|