Starting an Instance
This section details the very basics of starting a Payara Micro Enterprise instance.
Starting an Instance from the Command Line
To start an instance of Payara Micro from the command line, you simply run the JAR:
java -jar payara-micro.jar
This single command is all you need to run Payara Micro Enterprise instances; additional configuration options are all part of this command.
Starting an Instance from Persistent Configuration Directory
When using persistent root configuration directory, it is possible to generate a launcher bound to that directory using the command:
java -jar payara-micro.jar --outputlauncher --rootdir $rootDirectory
This will create file $rootDirectory/launch-micro.jar
and exit immediately.
After that, it is possible to launch Payara Micro with plain
java -jar $rootDirectory/launch-micro.jar
This makes configuration directory self-sufficient and the distribution file (payara-micro.jar
) is no longer needed.
Starting an Instance Programmatically
You need to import two classes from the fish.payara.micro
package (contained
in the Payara Micro JAR, see section
Maven Support for
instructions on importing this JAR with Maven):
import fish.payara.micro.BootstrapException;
import fish.payara.micro.PayaraMicro;
You can then start an instance with default settings by calling the bootstrap()
method from the PayaraMicro
class. This initialization will throw a
BootstrapException
exception, so you will need to surround it with a try-catch,
or have the parent method throw the exception.
A simple example is as follows:
import fish.payara.micro.BootstrapException;
import fish.payara.micro.PayaraMicro;
public class EmbeddedPayara{
public static void main(String[] args) throws BootstrapException{
PayaraMicro.bootstrap();
}
}
To start an instance with non-default settings (configuration changes or deploying
applications upon startup), you have to call the getInstance()
method before
using bootstrap()
. More details on this can be found in the
Configuring an Instance Programmatically
section. The use of the getInstance()
method does not exclude you from using
the default settings however; calling the bootstrap()
method on its own (as
shown in the example above) is functionally equivalent to calling the
bootstrap()
method directly after the getInstance()
method, such as in the
example below:
import fish.payara.micro.BootstrapException;
import fish.payara.micro.PayaraMicro;
public class EmbeddedPayara{
public static void main(String[] args) throws BootstrapException{
PayaraMicro.getInstance().bootStrap();
}
}
The bootStrap()
method returns a PayaraMicroRuntime
object instance, which
is comes with various methods that afford you control over the instance and its
cluster after you have bootstrapped it. To take advantage of this, you have to
initialize a PayaraMicroRuntime
object from the bootStrap
method, like so:
import fish.payara.micro.BootstrapException;
import fish.payara.micro.PayaraMicro;
import fish.payara.micro.PayaraMicroRuntime;
public class EmbeddedPayara{
public static void main(String[] args) throws BootstrapException{
PayaraMicroRuntime instance = PayaraMicro.bootStrap();
}
}