public class ServerBuilder
extends java.lang.Object
Server
.
Use this Builder to set immutable server attributes, then call
the build()
method to build and return a Server
instance.
As an example, to build a new Server
instance, this snippet would suffice:
Server defaultServer = new ServerBuilder().setName("embeddedServer").build();
Constructor and Description |
---|
ServerBuilder() |
Modifier and Type | Method and Description |
---|---|
ServerBuilder |
addProductExtension(java.lang.String name,
java.util.Properties props)
Add a product extension.
|
Server |
build()
Get a new
Server instance. |
ServerBuilder |
setInstallDir(java.io.File install)
Sets the path of the Liberty install.
|
ServerBuilder |
setLogDir(java.io.File logDir)
Set the path of the log directory.
|
ServerBuilder |
setName(java.lang.String serverName)
Set the locally unique name for the server; the name can be constructed
using Unicode alphanumeric characters (for example, A-Za-z0-9), the underscore (_),
dash (-), plus (+) and period (.).
|
ServerBuilder |
setOutputDir(java.io.File outputDir)
Set the path of the user output directory.
|
ServerBuilder |
setServerEventListener(ServerEventListener listener)
Set the listener that will receive
ServerEventListener.ServerEvent notifications. |
ServerBuilder |
setUserDir(java.io.File userDir)
Set the path of the user directory.
|
public ServerBuilder setName(java.lang.String serverName)
serverName
- The name for the server instance.public ServerBuilder setUserDir(java.io.File userDir)
WLP_USER_DIR
environment
variable when launching the server from the command line.
This is optional. By default, the user directory will be wlp/usr
, where
wlp
is the root of the Liberty installation as determined by the
location of the jar providing the server implementation.
This path is referred to by the ${wlp.user.dir}
variable.
The server configuration directory, ${server.config.dir}
,
is equivalent to ${wlp.user.dir}/servers/serverName
.
userDir
- The path to the user directory.public ServerBuilder setOutputDir(java.io.File outputDir)
WLP_OUTPUT_DIR
environment
variable when launching the server from the command line.
This is optional. By default, the user output directory will be ${wlp.user.dir}/servers
.
If this is specified, ${server.output.dir}
will be set to outputDir/serverName
.
Otherwise, ${server.output.dir}
will be the same as ${server.config.dir}
.
outputDir
- The path to the user output directory.setUserDir(File)
public ServerBuilder setLogDir(java.io.File logDir)
LOG_DIR
environment
variable when launching the server from the command line.logDir
- The path to the log directory.public ServerBuilder setInstallDir(java.io.File install)
This is optional. If the Liberty ws-server.jar is on the classpath of the caller this method has no effect. If it is not this allows the Liberty install to be chosen.
install
- The path to the Liberty install.public ServerBuilder setServerEventListener(ServerEventListener listener)
ServerEventListener.ServerEvent
notifications.
Using a ServerEventListener
is optional.
listener
- The ServerEventListener
to notify.public Server build() throws ServerException
Server
instance. This will fail if the server does not
already exist (${server.config.dir}
must exist, and must contain
a server.xml
file).ServerException
- if the named server does not exist, or if the attributes
set using the set methods fail validation, e.g. the server name
contains invalid characters, or the provided Files point to existing
files in the file system instead of directories.public ServerBuilder addProductExtension(java.lang.String name, java.util.Properties props)
The addProductExtension method can be called multiple times to add multiple extensions.
When the server is started, any product extension files added by this method
will be combined with the product extension files found in other source locations.
Any duplicate product names will invoke the following override logic: product extensions
defined through this SPI will override product extensions defined by the Environment
variable WLP_PRODUCT_EXT_DIR
which in turn would override product extensions
found in
$WLP_INSTALL_DIR/etc/extensions
to constitute the full set of product
extensions for this instance of the running server.
name
- The name of the product extension.props
- A properties file containing com.ibm.websphere.productId and com.ibm.websphere.productInstall.