1 package com.ubermq.kernel; 2 3 import java.nio.channels.*; 4 import java.net.*; 5 import java.util.*; 6 7 12 public abstract class KernelBasedServer 13 implements Runnable 14 { 15 private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(KernelBasedServer.class); 16 private java.net.URI url; 17 18 25 public KernelBasedServer(String propsFile) 26 { 27 try 28 { 29 Configurator.setup(new java.io.FileInputStream (propsFile != null ? propsFile : ConfigConstants.DEFAULT_PROPS_FILE)); 30 } 31 catch (java.io.IOException e) 32 { 33 log.error("", e); 34 } 35 finally 36 { 37 init(); 38 } 39 } 40 41 46 public KernelBasedServer(Properties props) 47 { 48 Configurator.setup(props); 49 init(); 50 } 51 52 58 protected void init() 59 { 60 } 61 62 66 protected void recover() 67 { 68 } 69 70 73 public void run() 74 { 75 recover(); 77 url = exec(); 78 } 79 80 public static final String DEFAULT_SCHEME = "ubermq"; 81 82 88 public String getServiceUrl() 89 { 90 return url.toString(); 91 } 92 93 public URI getServiceURI() 94 { 95 return url; 96 } 97 98 104 protected abstract URI exec(); 105 } 106 | Popular Tags |