# 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, -ifNotExists, -baseDir, -key. See the main method for details. If no port is specified, the default port is used if possible, and if this port is already used, a random port is used. Use getPort() or getURL() after starting to retrieve the port. 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, -ifNotExists, -baseDir, -key. See the main method for details. If no port is specified, the default port is used if possible, and if this port is already used, a random port is used. Use getPort() or getURL() after starting to retrieve the port. 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, -ifNotExists, -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
[-webAdminPassword] | Password of DB Console administrator
[-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)
[-ifNotExists] | Databases are created when accessed
[-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)
static void | startWebServer(Connection conn, boolean ignoreProperties) Start a web server and a browser that uses the given connection.
static void | startWebServer(Connection conn, boolean ignoreProperties) 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) ignoreProperties - if {@code true} properties from {@code .h2.server.properties} will be ignored
| 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.