Package com.iizix.jdbc
Class DerbyImpl
java.lang.Object
com.iizix.jdbc.DerbyImpl
Class containing Derby client data and optionally to start/stop the database server.
- Author:
- Christopher Mindus
- Field SummaryFieldsModifier and TypeFieldDescription- static final StringThe Derby Client driver class name.- static final intThe default Derby server network port: 1527.
- Constructor SummaryConstructors
- Method SummaryModifier and TypeMethodDescription- static boolean- addServerStateListener- (Runnable listener) Adds a new listener for the server state.- static booleanChecks if the Derby network server can be stopped, or if it running outside of our reach.- static intGets the server port being used.- static DBServerStateGets the state of the Derby network server.- static DBServerState- isSocketConnectable- (String host, int port, int timeout, IWebServiceEngine wsEngine) Checks if a host is Socket connectable on the specified host name and port.- static boolean- removeServerStateListener- (Runnable listener) Removes a listener for the server state.- static DBServerState- startServer- (File jdbcDriversDir, File dbDir, int port) Starts the Derby network server with configured port if running on "localhost".- static DBServerState- stopServer- (File jdbcDriversDir) Stops the Derby network server if started from this instance.
- Field Details- DERBY_DEFAULT_PORTpublic static final int DERBY_DEFAULT_PORTThe default Derby server network port: 1527.- See Also:
 
- DERBY_CLIENT_DRIVER_CLASSThe Derby Client driver class name.- See Also:
 
 
- Constructor Details- DerbyImplpublic DerbyImpl- (File jdbcDriversDir, File dir, boolean doStartDBServer, String host, int port, String database, boolean doCreateDB, String username, String password) Constructor.- Parameters:
- dir- The directory to the derby Database server current directory. If the directory does not exist, it will be created.- nullmeans that the database server is not started.
- doStartDBServer- Flag to start the Derby network database server.
- host- The host name of the Derby network database server. The server will not be started, regardless of- doStartDBSeerverif- hostis not "localhost", "127.0.0.1" or null.
- port- The port number to use, -1 or zero for default.
- database- The database name.
- doCreateDB- Flag to create database if not existing.
- username- The user name.
- password- The password.
- Throws:
- NullPointerException- If- jdbcDriversDiris- null.
- IllegalArgumentException- If- portis not 1 to 65535, or the directory- jdbcDriversDiror- dirdoes not exist.
 
 
- Method Details- getServerStateGets the state of the Derby network server.- Returns:
- The state.
 
- addServerStateListenerAdds a new listener for the server state. Calling this method multiple times with the same listener will have no effect (but to return false).- Parameters:
- listener- The listener.
- Returns:
- true if the listener was added, false otherwise.
- Throws:
- NullPointerException- If the listener is- null.
 
- removeServerStateListenerRemoves a listener for the server state.- Parameters:
- listener- The listener.
- Returns:
- true if listener is successfully removed, false otherwise.
- Throws:
- NullPointerException- If the listener is- null.
 
- canStopServerpublic static boolean canStopServer()Checks if the Derby network server can be stopped, or if it running outside of our reach.- Returns:
- true if it can probably be stopped, false if not, or already stopped.
 
- getServerPortpublic static int getServerPort()Gets the server port being used.- Returns:
- The port number, zero if not started/starting.
 
- isSocketConnectablepublic static DBServerState isSocketConnectable- (String host, int port, int timeout, IWebServiceEngine wsEngine) Checks if a host is Socket connectable on the specified host name and port. This call does just tries to access the Socket with the specified- hostand- port, nothing else.- Parameters:
- host- The host name or address.
- port- The port name.
- timeout- Specifies the timeout value, in milliseconds, to be used when opening a communications link to the specified host and port. A timeout of zero is interpreted as an infinite timeout and is NOT recommended.
- wsEngine- The web service engine used to resolve a proxy in case it's not a "localhost". Set to- nullto use- Proxy.NO_PROXY.
- Returns:
- One of:
 
- startServerStarts the Derby network server with configured port if running on "localhost". Otherwise nothing is done.- If network server process failed starting, the error will be logged as SEVERE. - Parameters:
- jdbcDriversDir- The directory for the JDBC drivers.
- dbDir- The directory for the databases.
- port- The port number.
- Returns:
- One of:
- Throws:
- NullPointerException- If- diris- null.
- IllegalArgumentException- If- portis not 1 to 65535, or the directory- dirdoes not exist.
 
- stopServerStops the Derby network server if started from this instance.- Parameters:
- jdbcDriversDir- The directory for the JDBC drivers.
- Returns:
- The state of the server, one of:- STOPPED,
- CONNECTION_FAILED,
- START_FAILED,
- UNKNOWN.