Package net.dona.doip.server
Class DoipServer
- java.lang.Object
-
- net.dona.doip.server.DoipServer
-
public class DoipServer extends java.lang.Object
A DOIP server. It is constructed via aDoipServerConfig
and aDoipProcessor
which determines request-handling logic. The DoipProcessor can be automatically instantiated and managed if not provided to the server on construction in which case the DoipServerConfig must specify the class name of the DoipProcessor. The DOIP server will set up a listener according to the DoipServerConfig, and when requests come in, will pass them to the DoipProcessor to populate the response.
-
-
Constructor Summary
Constructors Constructor Description DoipServer(DoipServerConfig config)
Constructs a DoipServer.DoipServer(DoipServerConfig config, DoipProcessor doipProcessor)
Constructs a DoipServer with a previously instantiatedDoipProcessor
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getPort()
void
init()
Initializes the server listener and thread pool and begins serving requests.void
shutdown()
Shuts down the server listener and thread pool.
-
-
-
Constructor Detail
-
DoipServer
public DoipServer(DoipServerConfig config)
Constructs a DoipServer. The provided configuration must specify aDoipProcessor
class name viaDoipServerConfig.processorClass
which will be used to instantiate a DoipProcessor when the server'sinit()
method is called. The DoipProcessor will be initialized usingDoipServerConfig.processorConfig
and will be shut down along with the server when the server'sshutdown()
method is called.- Parameters:
config
- the server configuration object
-
DoipServer
public DoipServer(DoipServerConfig config, DoipProcessor doipProcessor)
Constructs a DoipServer with a previously instantiatedDoipProcessor
. TheDoipServerConfig
is used only to determine the properties of the listener. The DoipServer does not call theDoipProcessor.init(JsonObject)
orDoipProcessor.shutdown()
methods.- Parameters:
config
- the server configuration object (used for listener properties only)doipProcessor
- a DoipProcessor instance used to handle requests
-
-
Method Detail
-
init
public void init() throws java.lang.Exception
Initializes the server listener and thread pool and begins serving requests. If theDoipProcessor
was not provided at construction, it will be instantiated and initialized.- Throws:
java.lang.Exception
-
getPort
public int getPort()
-
shutdown
public void shutdown()
Shuts down the server listener and thread pool. If theDoipProcessor
was not provided at construction but was instead instantiated byinit()
, it will be shut down here.- Throws:
java.lang.Exception
-
-