Server

Starts the H2 Console (web-) server, TCP, and PG server.

Methods
static Server createPgServer(String... args)
Create a new PG server, but does not start it yet.
static Server createPgServer(String... args) throws SQLException
Create a new PG server, but does not start it yet. Example:
 Server server =
     Server.createPgServer("-pgAllowOthers").start();
Supported options are: -pgPort, -pgAllowOthers, -pgDaemon, -trace, -ifExists, -baseDir, -key. See the main method for details.
Parameters:
args - the argument list
Returns:
the server
static Server createTcpServer(String... args)
Create a new TCP server, but does not start it yet.
static Server createTcpServer(String... args) throws SQLException
Create a new TCP server, but does not start it yet. Example:
 Server server = Server.createTcpServer(
     "-tcpPort", "9123", "-tcpAllowOthers").start();
Supported options are: -tcpPort, -tcpSSL, -tcpPassword, -tcpAllowOthers, -tcpDaemon, -trace, -ifExists, -baseDir, -key. See the main method for details.
Parameters:
args - the argument list
Returns:
the server
static Server createWebServer(String... args)
Create a new web server, but does not start it yet.
static Server createWebServer(String... args) throws SQLException
Create a new web server, but does not start it yet. Example:
 Server server = Server.createWebServer("-trace").start();
Supported options are: -webPort, -webSSL, -webAllowOthers, -webDaemon, -trace, -ifExists, -baseDir, -properties. See the main method for details.
Parameters:
args - the argument list
Returns:
the server
static void main(String... args)
When running without options, -tcp, -web, -browser and -pg are started.
static void main(String... args) throws SQLException
When running without options, -tcp, -web, -browser and -pg are started.
Options are case sensitive. Supported options are:
[-help] or [-?] Print the list of options
[-web] Start the web server with the H2 Console
[-webAllowOthers] Allow other computers to connect - see below
[-webDaemon] Use a daemon thread
[-webPort <port>] The port (default: 8082)
[-webSSL] Use encrypted (HTTPS) connections
[-browser] Start a browser connecting to the web server
[-tcp] Start the TCP server
[-tcpAllowOthers] Allow other computers to connect - see below
[-tcpDaemon] Use a daemon thread
[-tcpPort <port>] The port (default: 9092)
[-tcpSSL] Use encrypted (SSL) connections
[-tcpPassword <pwd>] The password for shutting down a TCP server
[-tcpShutdown "<url>"] Stop the TCP server; example: tcp://localhost
[-tcpShutdownForce] Do not wait until all connections are closed
[-pg] Start the PG server
[-pgAllowOthers] Allow other computers to connect - see below
[-pgDaemon] Use a daemon thread
[-pgPort <port>] The port (default: 5435)
[-properties "<dir>"] Server properties (default: ~, disable: null)
[-baseDir <dir>] The base directory for H2 databases (all servers)
[-ifExists] Only existing databases may be opened (all servers)
[-trace] Print additional trace information (all servers)
[-key <from> <to>] Allows to map a database name to another (all servers)
The options -xAllowOthers are potentially risky.
For details, see Advanced Topics / Protection against Remote Access.
Parameters:
args - the command line arguments
static void openBrowser(String url)
Open a new browser tab or window with the given URL.
static void openBrowser(String url) throws Exception
Open a new browser tab or window with the given URL.
Parameters:
url - the URL to open
static void shutdownTcpServer(String url, String password, boolean force, boolean all)
Shutdown one or all TCP server.
static void shutdownTcpServer(String url, String password, boolean force, boolean all) throws SQLException
Shutdown one or all TCP server. If force is set to false, the server will not allow new connections, but not kill existing connections, instead it will stop if the last connection is closed. If force is set to true, existing connections are killed. After calling the method with force=false, it is not possible to call it again with force=true because new connections are not allowed. Example:
 Server.shutdownTcpServer("tcp://localhost:9094",
         password, true, false);
Parameters:
url - example: tcp://localhost:9094
password - the password to use ("" for no password)
force - the shutdown (don't wait)
all - whether all TCP servers that are running in the JVM should be stopped
static void startWebServer(Connection conn)
Start a web server and a browser that uses the given connection.
static void startWebServer(Connection conn) throws SQLException
Start a web server and a browser that uses the given connection. The current transaction is preserved. This is specially useful to manually inspect the database when debugging. This method return as soon as the user has disconnected.
Parameters:
conn - the database connection (the database must be open)
Server(Service service, String... args)
Create a new server for the given service.
Server(Service service, String... args) throws SQLException
Create a new server for the given service.
Parameters:
service - the service
args - the command line arguments
int getPort()
Gets the port this server is listening on.
int getPort()
Gets the port this server is listening on.
Returns:
the port
Service getService()
Get the service attached to this server.
Service getService()
Get the service attached to this server.
Returns:
the service
String getStatus()
Get the status of this server.
String getStatus()
Get the status of this server.
Returns:
the status
String getURL()
Gets the URL of this server.
String getURL()
Gets the URL of this server.
Returns:
the url
boolean isRunning(boolean traceError)
Checks if the server is running.
boolean isRunning(boolean traceError)
Checks if the server is running.
Parameters:
traceError - if errors should be written
Returns:
if the server is running
void runTool(String... args)
void runTool(String... args) throws SQLException
Server start()
Tries to start the server.
Server start() throws SQLException
Tries to start the server.
Returns:
the server if successful
Throws:
SQLException - if the server could not be started
void stop()
Stops the server.
void stop()
Stops the server.