Class ServerBuilder
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddProductExtension
(String name, Properties props) Add a product extension.build()
Get a newServer
instance.setInstallDir
(File install) Sets the path of the Liberty install.Set the path of the log directory.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 (.).setOutputDir
(File outputDir) Set the path of the user output directory.setServerEventListener
(ServerEventListener listener) Set the listener that will receiveServerEventListener.ServerEvent
notifications.setUserDir
(File userDir) Set the path of the user directory.
-
Constructor Details
-
ServerBuilder
public ServerBuilder()
-
-
Method Details
-
setName
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 (.). A server name cannot begin with a dash (-) or period (.).- Parameters:
serverName
- The name for the server instance.- Returns:
- a reference to this object.
-
setUserDir
Set the path of the user directory. The server must have read access to this directory. This is the equivalent of setting theWLP_USER_DIR
environment variable when launching the server from the command line.This is optional. By default, the user directory will be
wlp/usr
, wherewlp
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
.- Parameters:
userDir
- The path to the user directory.- Returns:
- a reference to this object.
-
setOutputDir
Set the path of the user output directory. The server must have read/write access to this directory. This is the equivalent of setting theWLP_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 tooutputDir/serverName
. Otherwise,${server.output.dir}
will be the same as${server.config.dir}
.- Parameters:
outputDir
- The path to the user output directory.- Returns:
- a reference to this object.
- See Also:
-
setLogDir
Set the path of the log directory. The server must have read/write access to this directory. This is the equivalent of setting theLOG_DIR
environment variable when launching the server from the command line.- Parameters:
logDir
- The path to the log directory.- Returns:
- a reference to this object.
-
setInstallDir
Sets the path of the Liberty 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.
- Parameters:
install
- The path to the Liberty install.- Returns:
- a reference to this object.
-
setServerEventListener
Set the listener that will receiveServerEventListener.ServerEvent
notifications.Using a
ServerEventListener
is optional.- Parameters:
listener
- TheServerEventListener
to notify.
-
build
Get a newServer
instance. This will fail if the server does not already exist (${server.config.dir}
must exist, and must contain aserver.xml
file).- Returns:
- a Server instance using any attributes set on the builder.
- Throws:
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.
-
addProductExtension
Add a product extension.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.- Parameters:
name
- The name of the product extension.props
- A properties file containing com.ibm.websphere.productId and com.ibm.websphere.productInstall.- Returns:
- a reference to this object.
-