/** * Starts service if not already started, calls service method marked with @OnInit. * Terminal call after which configuration should be complete and service started. * * @return instance of ServiceRef for this service * @see OnInit */ default ServiceRef start() { return ref().start(); }
@Override public void addAutoStart(ServiceRef serviceRef) { if (_lifecycle.isActive() && isAutoStart()) { serviceRef.start(); } else { _autoStart.add(serviceRef); } // _lazyStart.add(serviceRef); }
@Override public void start() { if (! _lifecycle.toStarting()) { return; } ArrayList<ServiceRef> startList = new ArrayList<>(_autoStart); _autoStart.clear(); _lifecycle.toActive(); _ensureDriver.init(this); for (ServiceRef service : startList) { service.start(); } // getModule().getSystem().start(); }
private Map<ServiceTestDescriptor,ServiceRef> deployServices(Services manager) { Map<ServiceTestDescriptor,ServiceRef> descriptors = new HashMap<>(); for (ServiceTest service : getServices()) { Class serviceClass = service.value(); serviceClass = resove(serviceClass); ServiceTestDescriptor descriptor = ServiceTestDescriptor.of(serviceClass); ServiceRef ref = manager.newService(serviceClass).auto().ref(); descriptors.put(descriptor, ref); } for (Map.Entry<ServiceTestDescriptor,ServiceRef> e : descriptors.entrySet()) { ServiceTestDescriptor desc = e.getKey(); if (desc.isStart()) { e.getValue().start(); } } return descriptors; }
@Override public void init(ServicesBuilder manager) { manager.service(new ComputeServiceImpl()) .address("compute:") .ref() .start(); }
@Override public void init(ServicesBuilder manager) { //ServicesAmp managerAmp = (ServicesAmp) manager; EventServiceRamp eventsScheme = new EventServiceRamp("event:"); ServiceRef eventsRef = manager.service(eventsScheme) .address("event:") .ref(); EventServerImpl eventsPod = eventsScheme.getEventServer(); ServiceRefAmp eventsPodRef = (ServiceRefAmp) eventsRef.pin(eventsPod); //eventsPodRef.bind("pod://" + EventsPodServerRamp.PATH); eventsPodRef.bind("local://" + EventServerImpl.PATH); eventsRef.start(); } }