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 {


Reply via email to