- All Implemented Interfaces:
AutoCloseable
,AttachmentProperties
,BaseProperties
,FBManagerMBean
In particular, they can be created and dropped using the jboss service lifecycle operations start and stop.
See FBManagerMBean
for documentation.
- Author:
- David Jencks
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Alias forFBManagerMBean.stop()
final Map<ConnectionProperty,
Object> An unmodifiable view on the connection properties held by this BaseProperties implementation.void
createDatabase
(String fileName, String user, String password) Create a database with the specified file name, username and password on the specifiedserver
andport
.void
createDatabase
(String fileName, String user, String password, String roleName) Create a database with the specified file name, username, password and role on the specifiedserver
andport
.void
dropDatabase
(String fileName, String user, String password) Drop a database with the specified file name, username and password on the specifiedserver
andport
.void
dropDatabase
(String fileName, String user, String password, String roleName) Drop a database with the specified file name, username, password and role on the specifiedserver
andport
.Get the list of authentication plugins to try.final Boolean
getBooleanProperty
(String name) Retrieves aboolean
property value by name.int
Comma-separated list of additionally enabled protocols.final Integer
getIntProperty
(String name) Retrieves anint
property value by name.getName()
int
int
getPort()
int
Get the port number of the server.final String
getProperty
(String name) Retrieves a string property value by name.Get the hostname or IP address of the Firebird server.getState()
getType()
getUser()
boolean
Get if the database will be created when callingFBManagerMBean.start()
.boolean
isDatabaseExists
(String fileName, String user, String password) Check if a database exists with the specified file name, username and password on the specifiedserver
andport
.boolean
Get if the database will be created when callingFBManagerMBean.stop()
.boolean
Get if the database will be dropped if exists when creating a database.void
setAuthPlugins
(String authPlugins) Sets the authentication plugins to try.final void
setBooleanProperty
(String name, Boolean value) Sets aboolean
property by name.void
setCreateOnStart
(boolean createOnStart) Set if the database will be created when callingFBManagerMBean.start()
.void
setDefaultCharacterSet
(String firebirdCharsetName) Set the default database character set to use when creating a new database.void
setDialect
(int dialect) Set the database dialect to use when creating a new database.void
setDropOnStop
(boolean dropOnStop) Set if the database will be created when callingFBManagerMBean.stop()
.void
setEnableProtocol
(String enableProtocol) Comma-separated list of additionally enabled protocols.void
setFileName
(String fileName) Set the file name or alias of the database.void
setForceCreate
(boolean forceCreate) Set if the database will be dropped if exists when creating a database.void
setForceWrite
(Boolean forceWrite) Control force write behaviour of the created database.final void
setIntProperty
(String name, Integer value) Sets anint
property by name.void
setPageSize
(int pageSize) Set the page size to use when creating a new database.void
setPassword
(String password) void
setPort
(int port) Set the port of the Firebird server.void
setPortNumber
(int portNumber) Set the port number of the server.final void
setProperty
(String name, String value) Sets a property by name.void
setRoleName
(String roleName) void
Set the hostname of the Firebird server.void
setServerName
(String serverName) Set the hostname or IP address of the Firebird server.void
void
void
setUserName
(String userName) Set the username.void
start()
Start this manager.void
stop()
Stop this manager.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.firebirdsql.jaybird.props.AttachmentProperties
getCharSet, getConnectTimeout, getDbCryptConfig, getEncoding, getParallelWorkers, getProcessId, getProcessName, getSocketBufferSize, getSocketFactory, getSoTimeout, getWireCrypt, isWireCompression, setCharSet, setConnectTimeout, setDbCryptConfig, setEncoding, setParallelWorkers, setProcessId, setProcessName, setSocketBufferSize, setSocketFactory, setSoTimeout, setWireCompression, setWireCrypt
Methods inherited from interface org.firebirdsql.jaybird.props.BaseProperties
getBooleanProperty, getIntProperty, getProperty
-
Constructor Details
-
FBManager
public FBManager() -
FBManager
-
FBManager
-
-
Method Details
-
start
Description copied from interface:FBManagerMBean
Start this manager.If
FBManagerMBean.isCreateOnStart()
istrue
, will attempt to create a new database specified using theserver
,port
,fileName
and related properties. If the specified already exists, nothing will be created unlessFBManagerMBean.isForceCreate()
istrue
. WhenforceCreate
istrue
an attempt will be made to drop the database.- Specified by:
start
in interfaceFBManagerMBean
- Throws:
IllegalStateException
- If this manager is not startedException
- For failures to start or create the database
-
stop
Description copied from interface:FBManagerMBean
Stop this manager.If
FBManagerMBean.isDropOnStop()
istrue
, will attempt to drop the database specified using theserver
,port
,fileName
and related properties,If the manager is currently stopped, this method will do nothing.
- Specified by:
stop
in interfaceFBManagerMBean
- Throws:
Exception
- For failures to drop the database.
-
close
Description copied from interface:FBManagerMBean
Alias forFBManagerMBean.stop()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceFBManagerMBean
- Throws:
Exception
-
getState
- Specified by:
getState
in interfaceFBManagerMBean
- Returns:
- Current state (
"Stopped"
or"Started"
-
getName
- Specified by:
getName
in interfaceFBManagerMBean
- Returns:
- Descriptive name of this manager
-
setServerName
Description copied from interface:AttachmentProperties
Set the hostname or IP address of the Firebird server.When set to
null
(the default), thedatabaseName
orserviceName
is used as the full identification of the database host, port and database path/alias. Protocol implementations, for examplePURE_JAVA
, may default tolocalhost
when this property isnull
, butdatabaseName
/serviceName
does not (seem to) contain a host name.- Specified by:
setServerName
in interfaceAttachmentProperties
- Parameters:
serverName
- Hostname or IP address of the server
-
getServerName
Description copied from interface:AttachmentProperties
Get the hostname or IP address of the Firebird server.- Specified by:
getServerName
in interfaceAttachmentProperties
- Returns:
- Hostname or IP address of the server
- See Also:
-
setServer
Description copied from interface:FBManagerMBean
Set the hostname of the Firebird server.- Specified by:
setServer
in interfaceFBManagerMBean
- Parameters:
host
- hostname- See Also:
-
getServer
- Specified by:
getServer
in interfaceFBManagerMBean
- Returns:
- hostname of the Firebird server (default is
"localhost"
) - See Also:
-
setPortNumber
public void setPortNumber(int portNumber) Description copied from interface:AttachmentProperties
Set the port number of the server.Defaults to
3050
. This property value will be ignored ifserverName
isnull
, unless the protocol implementation needs a hostname, but cannot find a hostname indatabaseName
/serviceName
.- Specified by:
setPortNumber
in interfaceAttachmentProperties
- Parameters:
portNumber
- Port number of the server- See Also:
-
getPortNumber
public int getPortNumber()Description copied from interface:AttachmentProperties
Get the port number of the server.- Specified by:
getPortNumber
in interfaceAttachmentProperties
- Returns:
- Port number of the server
- See Also:
-
setPort
public void setPort(int port) Description copied from interface:FBManagerMBean
Set the port of the Firebird server.- Specified by:
setPort
in interfaceFBManagerMBean
- Parameters:
port
- port of the Firebird server- See Also:
-
getPort
public int getPort()- Specified by:
getPort
in interfaceFBManagerMBean
- Returns:
- port of the Firebird server (default is
3050
) - See Also:
-
getFileName
- Specified by:
getFileName
in interfaceFBManagerMBean
- Returns:
- File name or alias of the database
-
setFileName
Description copied from interface:FBManagerMBean
Set the file name or alias of the database.- Specified by:
setFileName
in interfaceFBManagerMBean
- Parameters:
fileName
- File name or alias of the database
-
getType
- Specified by:
getType
in interfaceAttachmentProperties
- Returns:
- type of the connection, for example, "PURE_JAVA", "NATIVE", "EMBEDDED", depends on the GDS implementations installed in the system.
-
setType
- Specified by:
setType
in interfaceAttachmentProperties
- Parameters:
type
- type of the connection, for example, "PURE_JAVA", "NATIVE", "EMBEDDED", depends on the GDS implementations installed in the system.
-
getUser
- Specified by:
getUser
in interfaceAttachmentProperties
- Returns:
- Name of the user to authenticate to the server.
-
setUser
- Specified by:
setUser
in interfaceAttachmentProperties
- Parameters:
user
- Name of the user to authenticate to the server.
-
getUserName
- Specified by:
getUserName
in interfaceFBManagerMBean
- Returns:
- username
- See Also:
-
setUserName
Description copied from interface:FBManagerMBean
Set the username.- Specified by:
setUserName
in interfaceFBManagerMBean
- Parameters:
userName
- username- See Also:
-
getPassword
- Specified by:
getPassword
in interfaceAttachmentProperties
- Returns:
- Password to authenticate to the server.
-
setPassword
- Specified by:
setPassword
in interfaceAttachmentProperties
- Parameters:
password
- Password to authenticate to the server.
-
getRoleName
- Specified by:
getRoleName
in interfaceAttachmentProperties
- Returns:
- SQL role to use.
-
setRoleName
- Specified by:
setRoleName
in interfaceAttachmentProperties
- Parameters:
roleName
- SQL role to use.
-
getAuthPlugins
Description copied from interface:AttachmentProperties
Get the list of authentication plugins to try.- Specified by:
getAuthPlugins
in interfaceAttachmentProperties
- Returns:
- comma-separated list of authentication plugins
-
setAuthPlugins
Description copied from interface:AttachmentProperties
Sets the authentication plugins to try.Invalid names are skipped during authentication.
- Specified by:
setAuthPlugins
in interfaceAttachmentProperties
- Parameters:
authPlugins
- comma-separated list of authentication plugins
-
setEnableProtocol
Description copied from interface:AttachmentProperties
Comma-separated list of additionally enabled protocols.- Specified by:
setEnableProtocol
in interfaceAttachmentProperties
- Parameters:
enableProtocol
- List of unsupported protocol versions to try in addition to the supported protocols.- See Also:
-
getEnableProtocol
Description copied from interface:AttachmentProperties
Comma-separated list of additionally enabled protocols.By default, pure Java connections of Jaybird only supports the protocol versions of supported Firebird versions. This property lists the additionally enabled unsupported protocol versions. If Jaybird does not have a listed protocol, it is silently ignored.
This property is ignored for native connections.
- Specified by:
getEnableProtocol
in interfaceAttachmentProperties
- Returns:
- List of unsupported protocol versions to try in addition to the supported protocols. Comma-separated
using only the version number (e.g.
"10,11"
). Both the unmasked and masked version are supported (e.g.32780
for protocol12
), but we recommend to use the unmasked version. The value"*"
will try all available protocols.
-
setDialect
public void setDialect(int dialect) Description copied from interface:FBManagerMBean
Set the database dialect to use when creating a new database.- Specified by:
setDialect
in interfaceFBManagerMBean
- Parameters:
dialect
- Database dialect (1 or 3)- See Also:
-
getDialect
public int getDialect()- Specified by:
getDialect
in interfaceFBManagerMBean
- Returns:
- Database dialect (either 1 or 3), default is 3.
-
setPageSize
public void setPageSize(int pageSize) Description copied from interface:FBManagerMBean
Set the page size to use when creating a new database.The value for
pageSize
must be one ofPageSizeConstants
. The default value depends on the Firebird version.Some values are not valid on all Firebird versions.
- Specified by:
setPageSize
in interfaceFBManagerMBean
- Parameters:
pageSize
- The page size to be used in the created database, seePageSizeConstants
- See Also:
-
getPageSize
public int getPageSize()- Specified by:
getPageSize
in interfaceFBManagerMBean
- Returns:
- The page size to be used when creating a database, or
-1
if the database default is used.
-
setDefaultCharacterSet
Description copied from interface:FBManagerMBean
Set the default database character set to use when creating a new database.- Specified by:
setDefaultCharacterSet
in interfaceFBManagerMBean
- Parameters:
firebirdCharsetName
- Character set name, use Firebird names only;null
will use Firebird default (NONE
). Specifying an invalid name will result in an exception during database creation.
-
getDefaultCharacterSet
- Specified by:
getDefaultCharacterSet
in interfaceFBManagerMBean
- Returns:
- The default character set name,
null
means not set. - See Also:
-
setForceWrite
Description copied from interface:FBManagerMBean
Control force write behaviour of the created database.Only use this method if you know what you're doing, and if you can live with data loss and database corruption. In general it is advisable to use the Firebird default (
null
for this method).- Specified by:
setForceWrite
in interfaceFBManagerMBean
- Parameters:
forceWrite
-null
- default behaviour (force write enabled after database creation and initialization),true
- enable force write at database creation,false
- disable force write
-
getForceWrite
- Specified by:
getForceWrite
in interfaceFBManagerMBean
- Returns:
- The forced writes configuration
- See Also:
-
isCreateOnStart
public boolean isCreateOnStart()Description copied from interface:FBManagerMBean
Get if the database will be created when callingFBManagerMBean.start()
.- Specified by:
isCreateOnStart
in interfaceFBManagerMBean
- Returns:
true
when the database will be created on start,false
otherwise.
-
setCreateOnStart
public void setCreateOnStart(boolean createOnStart) Description copied from interface:FBManagerMBean
Set if the database will be created when callingFBManagerMBean.start()
.- Specified by:
setCreateOnStart
in interfaceFBManagerMBean
- Parameters:
createOnStart
-true
to create the database on start,false
to not create on start (default)
-
isDropOnStop
public boolean isDropOnStop()Description copied from interface:FBManagerMBean
Get if the database will be created when callingFBManagerMBean.stop()
.- Specified by:
isDropOnStop
in interfaceFBManagerMBean
- Returns:
true
to drop the database on stop,false
otherwise
-
setDropOnStop
public void setDropOnStop(boolean dropOnStop) Description copied from interface:FBManagerMBean
Set if the database will be created when callingFBManagerMBean.stop()
.- Specified by:
setDropOnStop
in interfaceFBManagerMBean
- Parameters:
dropOnStop
-true
to drop the database on stop,false
to not drop on stop (default)
-
isForceCreate
public boolean isForceCreate()Description copied from interface:FBManagerMBean
Get if the database will be dropped if exists when creating a database.- Specified by:
isForceCreate
in interfaceFBManagerMBean
- Returns:
true
to drop existing database on create,false
to not create a database if it exists.
-
setForceCreate
public void setForceCreate(boolean forceCreate) Description copied from interface:FBManagerMBean
Set if the database will be dropped if exists when creating a database.- Specified by:
setForceCreate
in interfaceFBManagerMBean
- Parameters:
forceCreate
-true
to drop existing database on create,false
to not create a database if it exists.
-
createDatabase
Description copied from interface:FBManagerMBean
Create a database with the specified file name, username and password on the specifiedserver
andport
.On creation, the following properties will used to configure the database:
dialect
,pageSize
,defaultCharacterSet
.If the database already exists, and
forceCreate
istrue
, the database will be dropped. Iffalse
, no database will be created.- Specified by:
createDatabase
in interfaceFBManagerMBean
- Parameters:
fileName
- Database file name or aliasuser
- User namepassword
- Password- Throws:
IllegalStateException
- If this manager is not startedException
- If database creation fails.
-
createDatabase
public void createDatabase(String fileName, String user, String password, String roleName) throws Exception Description copied from interface:FBManagerMBean
Create a database with the specified file name, username, password and role on the specifiedserver
andport
.On creation, the following properties will used to configure the database:
dialect
,pageSize
,defaultCharacterSet
.If the database already exists, and
forceCreate
istrue
, the database will be dropped. Iffalse
, no database will be created.- Specified by:
createDatabase
in interfaceFBManagerMBean
- Parameters:
fileName
- Database file name or aliasuser
- User namepassword
- PasswordroleName
- Role name (ornull
for no role)- Throws:
IllegalStateException
- If this manager is not startedException
- If database creation fails.
-
dropDatabase
Description copied from interface:FBManagerMBean
Drop a database with the specified file name, username and password on the specifiedserver
andport
.- Specified by:
dropDatabase
in interfaceFBManagerMBean
- Parameters:
fileName
- Database file name or aliasuser
- User namepassword
- Password- Throws:
Exception
- If this manager is not started or database drop fails.
-
dropDatabase
public void dropDatabase(String fileName, String user, String password, String roleName) throws Exception Description copied from interface:FBManagerMBean
Drop a database with the specified file name, username, password and role on the specifiedserver
andport
.- Specified by:
dropDatabase
in interfaceFBManagerMBean
- Parameters:
fileName
- Database file name or aliasuser
- User namepassword
- PasswordroleName
- Role name (ornull
for no role)- Throws:
Exception
- If this manager is not started or database drop fails.
-
isDatabaseExists
Description copied from interface:FBManagerMBean
Check if a database exists with the specified file name, username and password on the specifiedserver
andport
.Existence is checked by connecting to the database, so any connection error, including invalid credentials, will report the database as not existing.
- Specified by:
isDatabaseExists
in interfaceFBManagerMBean
- Parameters:
fileName
- Database file name or aliasuser
- User namepassword
- Password- Returns:
true
if the database exists and can be connected,false
if the database does not exist or any other error occurred.- Throws:
Exception
- Currently no other exception is thrown, this may change in the future
-
getProperty
Description copied from interface:BaseProperties
Retrieves a string property value by name.For properties with an explicit default, this method should return the string presentation of that default, not
null
. Forint
orboolean
the string equivalent is returned.- Specified by:
getProperty
in interfaceBaseProperties
- Parameters:
name
- Property name (notnull
or empty)- Returns:
- Value of the property, or
null
when not set or not a known property
-
setProperty
Description copied from interface:BaseProperties
Sets a property by name.This method can be used to set all defined properties, but also properties not known by Jaybird. When setting
int
orboolean
properties, the appropriate conversions are applied. Usingnull
will reset to the default value. Forboolean
properties, an empty string is taken to meantrue
.- Specified by:
setProperty
in interfaceBaseProperties
- Parameters:
name
- Property name (notnull
or empty)value
- Property value (usenull
to apply default)
-
getIntProperty
Description copied from interface:BaseProperties
Retrieves anint
property value by name.For properties with an explicit default, this method should return the integer presentation of that default. For implementation simplicity, it is allowed to convert any string property to
int
instead of checking if something is actually anint
property- Specified by:
getIntProperty
in interfaceBaseProperties
- Parameters:
name
- Property name (notnull
or empty)- Returns:
- Integer with value of the property, or
null
when not set
-
setIntProperty
Description copied from interface:BaseProperties
Sets anint
property by name.For implementation simplicity, it is allowed to also set string properties. The value set will be the string equivalent.
- Specified by:
setIntProperty
in interfaceBaseProperties
- Parameters:
name
- Property name (notnull
or empty)value
- Property value (usenull
to apply default)
-
getBooleanProperty
Description copied from interface:BaseProperties
Retrieves aboolean
property value by name.For properties with an explicit default, this method should return the boolean presentation of that default. For implementation simplicity, it is allowed to convert any string property to
boolean
instead of checking if something is actually aboolean
property- Specified by:
getBooleanProperty
in interfaceBaseProperties
- Parameters:
name
- Property name (notnull
or empty)- Returns:
- Integer with value of the property, or
null
when not set
-
setBooleanProperty
Description copied from interface:BaseProperties
Sets aboolean
property by name.For implementation simplicity, it is allowed to also set string properties. The value set will be the string equivalent.
- Specified by:
setBooleanProperty
in interfaceBaseProperties
- Parameters:
name
- Property name (notnull
or empty)value
- Property value (usenull
to apply default)
-
connectionPropertyValues
Description copied from interface:BaseProperties
An unmodifiable view on the connection properties held by this BaseProperties implementation.Be aware, implementations can have additional properties that are not mapped from
ConnectionProperty
. Such properties will need to be retrieved in an implementation-specific manner.- Specified by:
connectionPropertyValues
in interfaceBaseProperties
- Returns:
- An unmodifiable view on the property values held in this properties instance
-