X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fserver%2FAbsServiceStarter.java;h=90f4158fe1088247a8299aa8e0f6385d30dfca97;hb=3d1706fcbe7f95830ff6fd23cf679ee55c6d0595;hp=fe610e57a9a0c78b503688ddd32f692033ebad60;hpb=2b5103e038a7727734097a671d331db9aaab77ba;p=aaf%2Fauthz.git diff --git a/auth/auth-core/src/main/java/org/onap/aaf/auth/server/AbsServiceStarter.java b/auth/auth-core/src/main/java/org/onap/aaf/auth/server/AbsServiceStarter.java index fe610e57..90f4158f 100644 --- a/auth/auth-core/src/main/java/org/onap/aaf/auth/server/AbsServiceStarter.java +++ b/auth/auth-core/src/main/java/org/onap/aaf/auth/server/AbsServiceStarter.java @@ -19,7 +19,10 @@ * */ package org.onap.aaf.auth.server; +import java.io.File; import java.io.IOException; +import java.net.Inet4Address; +import java.net.UnknownHostException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -29,6 +32,7 @@ import org.onap.aaf.auth.org.OrganizationFactory; import org.onap.aaf.auth.rserv.RServlet; import org.onap.aaf.cadi.Access; import org.onap.aaf.cadi.Access.Level; +import org.onap.aaf.cadi.config.Config; import org.onap.aaf.cadi.register.Registrant; import org.onap.aaf.cadi.register.Registrar; import org.onap.aaf.misc.env.Trans; @@ -38,24 +42,36 @@ public abstract class AbsServiceStarter registrar; private boolean do_register; protected AbsService service; + protected String hostname; + protected final boolean secure; - public AbsServiceStarter(final AbsService service) { + public AbsServiceStarter(final AbsService service, boolean secure) { + this.secure = secure; this.service = service; try { OrganizationFactory.init(service.env); } catch (OrganizationException e) { service.access.log(e, "Missing defined Organization Plugins"); - System.exit(3); + System.exit(3); } // do_register - this is used for specialty Debug Situations. Developer can create an Instance for a remote system // for Debugging purposes without fear that real clients will start to call your debug instance do_register = !"TRUE".equalsIgnoreCase(access().getProperty("aaf_locate_no_register",null)); + hostname = access().getProperty(Config.HOSTNAME, null); + if (hostname==null) { + try { + hostname = Inet4Address.getLocalHost().getHostName(); + } catch (UnknownHostException e) { + hostname= "cannotBeDetermined"; + } + } _propertyAdjustment(); } - public abstract void _start(RServlet rserv) throws Exception; - public abstract void _propertyAdjustment(); + + protected abstract void _start(RServlet rserv) throws Exception; + protected abstract void _propertyAdjustment(); public ENV env() { return service.env; @@ -67,31 +83,33 @@ public abstract class AbsServiceStarter app = es.submit(this); + ExecutorService es = Executors.newSingleThreadExecutor(); + Future app = es.submit(this); final AbsServiceStarter absSS = this; - Runtime.getRuntime().addShutdownHook(new Thread() { - @Override + // Docker/K8 may separately create startup Status in this dir for startup + // sequencing. If so, delete ON EXIT + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override public void run() { - absSS.access().printf(Level.INIT, "Shutting down %s:%s\n",absSS.service.app_name, absSS.service.app_version); - absSS.shutdown(); - app.cancel(true); - } - }); - if(System.getProperty("ECLIPSE", null)!=null) { - Thread.sleep(2000); - System.out.println("Service Started in Eclipse: "); - System.out.print(" Hit to end:"); - try { - System.in.read(); - System.exit(0); - } catch (IOException e) { - } - } - + absSS.access().printf(Level.INIT, "Shutting down %s:%s\n",absSS.service.app_name, absSS.service.app_version); + absSS.shutdown(); + app.cancel(true); + } + }); + if(System.getProperty("ECLIPSE", null)!=null) { + Thread.sleep(2000); + if(!app.isCancelled()) { + System.out.println("Service Started in Eclipse: "); + System.out.print(" Hit to end:\n"); + try { + System.in.read(); + System.exit(0); + } catch (IOException e) { + } + } + } } - @SafeVarargs public final synchronized void register(final Registrant ... registrants) { if (do_register) { @@ -105,21 +123,43 @@ public abstract class AbsServiceStarter