public class Server
extends org.h2.util.Tool
implements java.lang.Runnable, org.h2.server.ShutdownHandler
Constructor and Description |
---|
Server() |
Server(org.h2.server.Service service,
java.lang.String... args)
Create a new server for the given service.
|
Modifier and Type | Method and Description |
---|---|
static Server |
createPgServer(java.lang.String... args)
Create a new PG server, but does not start it yet.
|
static Server |
createTcpServer(java.lang.String... args)
Create a new TCP server, but does not start it yet.
|
static Server |
createWebServer(java.lang.String... args)
Create a new web server, but does not start it yet.
|
int |
getPort()
Gets the port this server is listening on.
|
org.h2.server.Service |
getService()
Get the service attached to this server.
|
java.lang.String |
getStatus()
Get the status of this server.
|
java.lang.String |
getURL()
Gets the URL of this server.
|
boolean |
isRunning(boolean traceError)
Checks if the server is running.
|
static void |
main(java.lang.String... args)
When running without options, -tcp, -web, -browser and -pg are started.
|
static void |
openBrowser(java.lang.String url)
Open a new browser tab or window with the given URL.
|
void |
run()
INTERNAL
|
void |
runTool(java.lang.String... args)
Run the tool with the given output stream and arguments.
|
void |
setShutdownHandler(org.h2.server.ShutdownHandler shutdownHandler)
INTERNAL
|
void |
shutdown()
INTERNAL
|
static void |
shutdownTcpServer(java.lang.String url,
java.lang.String password,
boolean force,
boolean all)
Shutdown one or all TCP server.
|
Server |
start()
Tries to start the server.
|
static void |
startWebServer(java.sql.Connection conn)
Start a web server and a browser that uses the given connection.
|
static void |
startWebServer(java.sql.Connection conn,
boolean ignoreProperties)
Start a web server and a browser that uses the given connection.
|
void |
stop()
Stops the server.
|
public Server()
public Server(org.h2.server.Service service, java.lang.String... args) throws java.sql.SQLException
service
- the serviceargs
- the command line argumentsjava.sql.SQLException
- on failurepublic static void main(java.lang.String... args) throws java.sql.SQLException
[-help] or [-?] | Print the list of options |
[-web] | Start the web server with the H2 Console |
[-webAllowOthers] | Allow other computers to connect - see below |
[-webExternalNames <names>] | The comma-separated list of external names and IP addresses of this server, used together with -webAllowOthers |
[-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) |
args
- the command line argumentsjava.sql.SQLException
- on failurepublic void runTool(java.lang.String... args) throws java.sql.SQLException
org.h2.util.Tool
runTool
in class org.h2.util.Tool
args
- the argument listjava.sql.SQLException
- on failurepublic static void shutdownTcpServer(java.lang.String url, java.lang.String password, boolean force, boolean all) throws java.sql.SQLException
Server.shutdownTcpServer("tcp://localhost:9094", password, true, false);
url
- example: tcp://localhost:9094password
- 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
stoppedjava.sql.SQLException
- on failurepublic java.lang.String getStatus()
public static Server createWebServer(java.lang.String... args) throws java.sql.SQLException
Server server = Server.createWebServer("-trace").start();Supported options are: -webPort, -webSSL, -webAllowOthers, -webDaemon, -trace, -ifExists, -ifNotExists, -baseDir, -properties. See the main method for details.
args
- the argument listjava.sql.SQLException
- on failurepublic static Server createTcpServer(java.lang.String... args) throws java.sql.SQLException
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.
args
- the argument listjava.sql.SQLException
- on failurepublic static Server createPgServer(java.lang.String... args) throws java.sql.SQLException
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.
args
- the argument listjava.sql.SQLException
- on failurepublic Server start() throws java.sql.SQLException
java.sql.SQLException
- if the server could not be startedpublic boolean isRunning(boolean traceError)
traceError
- if errors should be writtenpublic void stop()
public java.lang.String getURL()
public int getPort()
public void run()
run
in interface java.lang.Runnable
public void setShutdownHandler(org.h2.server.ShutdownHandler shutdownHandler)
shutdownHandler
- to setpublic void shutdown()
shutdown
in interface org.h2.server.ShutdownHandler
public org.h2.server.Service getService()
public static void openBrowser(java.lang.String url) throws java.lang.Exception
url
- the URL to openjava.lang.Exception
- on failurepublic static void startWebServer(java.sql.Connection conn) throws java.sql.SQLException
conn
- the database connection (the database must be open)java.sql.SQLException
- on failurepublic static void startWebServer(java.sql.Connection conn, boolean ignoreProperties) throws java.sql.SQLException
conn
- the database connection (the database must be open)ignoreProperties
- if true
properties from
.h2.server.properties
will be ignoredjava.sql.SQLException
- on failure