Author: cwiklik Date: Fri Oct 5 17:32:10 2018 New Revision: 1842951 URL: http://svn.apache.org/viewvc?rev=1842951&view=rev Log: UIMA-5886 cleaned up PullService.start() and modified ServiceWrapper to catch Throwable
Modified: uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/PullService.java uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java Modified: uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/PullService.java URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/PullService.java?rev=1842951&r1=1842950&r2=1842951&view=diff ============================================================================== --- uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/PullService.java (original) +++ uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/PullService.java Fri Oct 5 17:32:10 2018 @@ -34,6 +34,7 @@ import java.util.concurrent.locks.Reentr import org.apache.uima.UIMAFramework; import org.apache.uima.ducc.ps.ServiceThreadFactory; import org.apache.uima.ducc.ps.service.IService; +import org.apache.uima.ducc.ps.service.builders.PullServiceStepBuilder.OptionalsStep; //import org.apache.uima.ducc.ps.service.ServiceConfiguration; import org.apache.uima.ducc.ps.service.errors.IServiceErrorHandler; import org.apache.uima.ducc.ps.service.errors.ServiceException; @@ -43,6 +44,7 @@ import org.apache.uima.ducc.ps.service.p import org.apache.uima.ducc.ps.service.protocol.IServiceProtocolHandler; import org.apache.uima.ducc.ps.service.protocol.builtin.DefaultNoTaskAvailableStrategy; import org.apache.uima.ducc.ps.service.protocol.builtin.DefaultServiceProtocolHandler; +import org.apache.uima.ducc.ps.service.protocol.builtin.NoWaitStrategy; import org.apache.uima.ducc.ps.service.registry.DefaultRegistryClient; import org.apache.uima.ducc.ps.service.registry.IRegistryClient; import org.apache.uima.ducc.ps.service.transport.IServiceTransport; @@ -210,20 +212,26 @@ public class PullService implements ISer } // wait until all process threads initialize threadsReady.await(); + if ( protocolHandler.initialized() ) { + logger.log(Level.INFO,"Service Initialized ..........."); + initializeMonitor(); + initializeTransport(); + initialized = true; - initializeMonitor(); - initializeTransport(); - - initialized = true; - + } else { + logger.log(Level.INFO, "Protocol Handler Failed Initialization ..........."); + throw new ServiceInitializationException("Service Protocol Handler Failed Initialization"); + } } catch( ServiceInitializationException e) { + System.out.println(">>>>>>>>>>>>>> ServiceInitializationException in Pullservice.initialize()"); throw e; } catch( InterruptedException e) { Thread.currentThread().interrupt(); threadPool.shutdownNow(); throw new ServiceInitializationException("Service interrupted during initialization - shutting down process threads"); } catch( Exception e) { + System.out.println(">>>>>>>>>>>>>> Error in Pullservice.initialize()"); throw new ServiceInitializationException("",e); } finally { @@ -233,7 +241,7 @@ public class PullService implements ISer } @Override - public void start() throws IllegalStateException, ExecutionException, ServiceException { + public void start() throws ExecutionException, ServiceException { if ( !initialized ) { throw new IllegalStateException("Application must call initialize() before calling start()"); } @@ -252,14 +260,8 @@ public class PullService implements ISer // thread has been interrupted, force executor shutdown threadPool.shutdownNow(); } - } catch( ExecutionException | ServiceException e) { - logger.log(Level.WARNING,"",e); - throw e; - } catch( Throwable t) { - logger.log(Level.WARNING,"",t); - logger.log(Level.WARNING,"","Service is terminating due to failure to start"); - stop(); - } + } + } @Override public void stop() { Modified: uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java?rev=1842951&r1=1842950&r2=1842951&view=diff ============================================================================== --- uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java (original) +++ uima/uima-ducc/trunk/uima-ducc-pullservice/src/main/java/org/apache/uima/ducc/ps/service/main/ServiceWrapper.java Fri Oct 5 17:32:10 2018 @@ -220,7 +220,7 @@ public class ServiceWrapper implements A public void stopJmx() { try { if ( Objects.nonNull(jmxAgent)) { - jmxAgent.stop(); + jmxAgent.stop(); } } catch( Exception e) { @@ -242,8 +242,8 @@ public class ServiceWrapper implements A service.quiesceAndStop(); logger.log(Level.INFO,"Stoppng JMX Agent"); + System.out.println("Stopping JMX Agent"); jmxAgent.stop(); - } catch( Exception e ) { logger.log(Level.WARNING,"",e); @@ -256,11 +256,12 @@ public class ServiceWrapper implements A wrapper = new ServiceWrapper(); wrapper.initialize(args); wrapper.start(); - } catch( Exception e) { + } catch( Throwable e) { UIMAFramework.getLogger().log(Level.WARNING, "", e); if ( wrapper != null ) { wrapper.stop(); } + System.exit(-1); } } static class ServiceShutdownHook extends Thread {