Java源码示例:org.apache.hadoop.service.AbstractService
示例1
@Override
public void startServices() {
writeLock.lock();
try {
if (!servicesInited.get()) {
initServices();
}
for (AbstractService srvc : services) {
if (LOG.isDebugEnabled()) {
LOG.debug("starting service : " + srvc.getName()
+ ", for vertex: " + getName());
}
srvc.start();
}
} finally {
writeLock.unlock();
}
}
示例2
@Override
public void serviceStop() {
synchronized(this) {
this.stopEventHandling = true;
if (eventHandlingThread != null)
eventHandlingThread.interrupt();
}
if (taskScheduler != null) {
((AbstractService)taskScheduler).stop();
}
}
示例3
@Override
public void serviceStart() {
TaskSchedulerService taskSchedulerReal = createTaskScheduler("host", 0, "",
appContext);
// Init the service so that reuse configuration is picked up.
((AbstractService)taskSchedulerReal).init(getConfig());
((AbstractService)taskSchedulerReal).start();
taskScheduler = spy(taskSchedulerReal);
}
示例4
@Override
public void initServices() {
if (servicesInited.get()) {
if (LOG.isDebugEnabled()) {
LOG.debug("Skipping Initing services for vertex because already"
+ " Initialized, name=" + this.vertexName);
}
return;
}
writeLock.lock();
try {
List<AbstractService> servicesToAdd = new ArrayList<>();
if (isSpeculationEnabled()) {
// Initialize the speculator
if (LOG.isDebugEnabled()) {
LOG.debug(
"Initing service vertex speculator, name=" + this.vertexName);
}
speculator = new LegacySpeculator(vertexConf, getAppContext(), this);
speculator.init(vertexConf);
servicesToAdd.add(speculator);
}
services = Collections.synchronizedList(servicesToAdd);
servicesInited.set(true);
} finally {
writeLock.unlock();
}
if (LOG.isDebugEnabled()) {
LOG.debug("Initing service vertex, name=" + this.vertexName);
}
}
示例5
protected AbstractService createStagingDirCleaningService() {
return new StagingDirCleaningService();
}
示例6
private void register(ServiceStateChangeListener l) {
AbstractService.registerGlobalListener(l);
}
示例7
private boolean unregister(ServiceStateChangeListener l) {
return AbstractService.unregisterGlobalListener(l);
}
示例8
/**
* After every test case reset the list of global listeners.
*/
@After
public void cleanup() {
AbstractService.resetGlobalListeners();
}
示例9
protected AbstractService createStagingDirCleaningService() {
return new StagingDirCleaningService();
}
示例10
private void register(ServiceStateChangeListener l) {
AbstractService.registerGlobalListener(l);
}
示例11
private boolean unregister(ServiceStateChangeListener l) {
return AbstractService.unregisterGlobalListener(l);
}
示例12
/**
* After every test case reset the list of global listeners.
*/
@After
public void cleanup() {
AbstractService.resetGlobalListeners();
}
示例13
@Override
public AbstractService getSpeculator() { return speculator; }
示例14
AbstractService getSpeculator();