*/
package jalview.httpserver;
-import jalview.bin.ApplicationSingletonProvider;
-import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
import jalview.rest.RestHandler;
import java.net.BindException;
* @author gmcarstairs
* @see http://eclipse.org/jetty/documentation/current/embedding-jetty.html
*/
-public class HttpServer implements ApplicationSingletonI
+public class HttpServer
{
/*
* 'context root' - actually just prefixed to the path for each handler for
private static final String JALVIEW_PATH = "jalview";
/*
+ * Singleton instance of this server
+ */
+ private static HttpServer instance;
+
+ /*
* The Http server
*/
private Server server;
/*
* Lookup of ContextHandler by its wrapped handler
*/
- Map<Handler, ContextHandler> myHandlers = new HashMap<>();
+ Map<Handler, ContextHandler> myHandlers = new HashMap<Handler, ContextHandler>();
/*
* The context root for the server
{
synchronized (HttpServer.class)
{
- return (HttpServer) ApplicationSingletonProvider.getInstance(HttpServer.class);
+ if (instance == null)
+ {
+ instance = new HttpServer();
+ }
+ return instance;
}
}
/**
- * Private constructor to enforce use of singleton; use getInstance().
+ * Private constructor to enforce use of singleton
*
* @throws BindException
* if no free port can be assigned
*/
private HttpServer() throws BindException
{
- // use getInstance()
-
startServer();
/*