Class ServerBuilder
- java.lang.Object
-
- com.ibm.wsspi.kernel.embeddable.ServerBuilder
-
public class ServerBuilder extends java.lang.Object
Builder for constructing an embeddedServer
.Use this Builder to set immutable server attributes, then call the
build()
method to build and return aServer
instance.As an example, to build a new
Server
instance, this snippet would suffice:Server defaultServer = new ServerBuilder().setName("embeddedServer").build();
-
-
Constructor Summary
Constructors Constructor Description ServerBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ServerBuilder
addProductExtension(java.lang.String name, java.util.Properties props)
Add a product extension.Server
build()
Get a newServer
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 receiveServerEventListener.ServerEvent
notifications.ServerBuilder
setUserDir(java.io.File userDir)
Set the path of the user directory.
-
-
-
Method Detail
-
setName
public 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 (.). 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
public ServerBuilder setUserDir(java.io.File userDir)
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
public ServerBuilder setOutputDir(java.io.File outputDir)
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:
setUserDir(File)
-
setLogDir
public ServerBuilder setLogDir(java.io.File logDir)
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
public ServerBuilder setInstallDir(java.io.File install)
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
public ServerBuilder setServerEventListener(ServerEventListener listener)
Set the listener that will receiveServerEventListener.ServerEvent
notifications.Using a
ServerEventListener
is optional.- Parameters:
listener
- TheServerEventListener
to notify.
-
build
public Server build() throws ServerException
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
public ServerBuilder addProductExtension(java.lang.String name, java.util.Properties props)
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.
-
-