Package org.firebirdsql.management
Class FBServiceManager
- java.lang.Object
-
- org.firebirdsql.management.FBServiceManager
-
- All Implemented Interfaces:
ServiceManager
- Direct Known Subclasses:
FBBackupManagerBase
,FBMaintenanceManager
,FBNBackupManager
,FBStatisticsManager
,FBTraceManager
,FBUserManager
public class FBServiceManager extends java.lang.Object implements ServiceManager
An implementation of the basic Firebird Service API functionality.- Author:
- Roman Rokytskyy, Mark Rotteveel
-
-
Field Summary
Fields Modifier and Type Field Description static int
BUFFER_SIZE
-
Constructor Summary
Constructors Constructor Description FBServiceManager()
Create a new instance ofFBServiceManager
based on the default GDSType.FBServiceManager(java.lang.String gdsType)
Create a new instance ofFBServiceManager
based on a given GDSType.FBServiceManager(GDSType gdsType)
Create a new instance ofFBServiceManager
based on a given GDSType.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected FbDatabase
attachDatabase()
FbService
attachServiceManager()
protected ServiceRequestBuffer
createRequestBuffer(FbService service, int operation, int options)
protected void
executeServicesOperation(FbService service, ServiceRequestBuffer srb)
protected void
executeServicesOperation(ServiceRequestBuffer srb)
Deprecated.java.lang.String
getAuthPlugins()
Get the list of authentication plugins to try.java.lang.String
getCharSet()
java.lang.String
getDatabase()
Returns the database path for the connection to the service manager.java.lang.String
getDbCryptConfig()
Get the database encryption plugin configuration.java.lang.String
getHost()
Returns the host for the connection to the service manager.java.io.OutputStream
getLogger()
Returns the logger for the connection to the service manager.java.lang.String
getPassword()
Returns the password for the connection to the service manager.int
getPort()
Returns the port for the connection to the service manager.GDSServerVersion
getServerVersion()
Obtains the server version through a service call.java.lang.String
getServiceName()
java.lang.String
getUser()
Get name of the user that performs the operation.WireCrypt
getWireCrypt()
Get the wire encryption level.boolean
isWireCompression()
Get if wire compression should be enabled.void
queueService(FbService service)
void
setAuthPlugins(java.lang.String authPlugins)
Sets the authentication plugins to try.void
setCharSet(java.lang.String charSet)
Sets the encoding used for encoding or decoding string values.void
setDatabase(java.lang.String database)
Sets the database path for the connection to the service manager.void
setDbCryptConfig(java.lang.String dbCryptConfig)
Sets the database encryption plugin configuration.void
setHost(java.lang.String host)
Sets the host for the connection to the service manager.void
setLogger(java.io.OutputStream logger)
Sets the logger for the connection to the service manager.void
setPassword(java.lang.String password)
Sets the password for the connection to the service manager.void
setPort(int port)
Sets the port for the connection to the service manager.void
setUser(java.lang.String user)
Set the name of the user that performs the operation.void
setWireCompression(boolean wireCompression)
Sets if the connection should try to enable wire compression.void
setWireCrypt(WireCrypt wireCrypt)
Set the wire encryption level.
-
-
-
Field Detail
-
BUFFER_SIZE
public static final int BUFFER_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FBServiceManager
public FBServiceManager()
Create a new instance ofFBServiceManager
based on the default GDSType.
-
FBServiceManager
public FBServiceManager(java.lang.String gdsType)
Create a new instance ofFBServiceManager
based on a given GDSType.- Parameters:
gdsType
- type must be PURE_JAVA, EMBEDDED, or NATIVE
-
FBServiceManager
public FBServiceManager(GDSType gdsType)
Create a new instance ofFBServiceManager
based on a given GDSType.- Parameters:
gdsType
- The GDS implementation type to use
-
-
Method Detail
-
setCharSet
public void setCharSet(java.lang.String charSet)
Description copied from interface:ServiceManager
Sets the encoding used for encoding or decoding string values.If not set (or null), defaults to the value of system property
file.encoding
/- Specified by:
setCharSet
in interfaceServiceManager
- Parameters:
charSet
- Java charset name.
-
getCharSet
public java.lang.String getCharSet()
- Specified by:
getCharSet
in interfaceServiceManager
-
setUser
public void setUser(java.lang.String user)
Set the name of the user that performs the operation.- Specified by:
setUser
in interfaceServiceManager
- Parameters:
user
- name of the user.
-
getUser
public java.lang.String getUser()
Get name of the user that performs the operation.- Specified by:
getUser
in interfaceServiceManager
- Returns:
- name of the user that performs the operation.
-
setPassword
public void setPassword(java.lang.String password)
Description copied from interface:ServiceManager
Sets the password for the connection to the service manager.- Specified by:
setPassword
in interfaceServiceManager
- Parameters:
password
- The password to set.
-
getPassword
public java.lang.String getPassword()
Description copied from interface:ServiceManager
Returns the password for the connection to the service manager.- Specified by:
getPassword
in interfaceServiceManager
- Returns:
- Returns the password.
-
setDatabase
public void setDatabase(java.lang.String database)
Description copied from interface:ServiceManager
Sets the database path for the connection to the service manager.- Specified by:
setDatabase
in interfaceServiceManager
- Parameters:
database
- path for the connection to the service manager.
-
getDatabase
public java.lang.String getDatabase()
Description copied from interface:ServiceManager
Returns the database path for the connection to the service manager.- Specified by:
getDatabase
in interfaceServiceManager
- Returns:
- the database path for the connection to the service manager.
-
getHost
public java.lang.String getHost()
Description copied from interface:ServiceManager
Returns the host for the connection to the service manager.- Specified by:
getHost
in interfaceServiceManager
- Returns:
- Returns the host.
-
setHost
public void setHost(java.lang.String host)
Description copied from interface:ServiceManager
Sets the host for the connection to the service manager.- Specified by:
setHost
in interfaceServiceManager
- Parameters:
host
- The host to set.
-
getPort
public int getPort()
Description copied from interface:ServiceManager
Returns the port for the connection to the service manager.- Specified by:
getPort
in interfaceServiceManager
- Returns:
- Returns the port.
-
setPort
public void setPort(int port)
Description copied from interface:ServiceManager
Sets the port for the connection to the service manager.- Specified by:
setPort
in interfaceServiceManager
- Parameters:
port
- The port to set.
-
getWireCrypt
public WireCrypt getWireCrypt()
Description copied from interface:ServiceManager
Get the wire encryption level.- Specified by:
getWireCrypt
in interfaceServiceManager
- Returns:
- Wire encryption level
-
setWireCrypt
public void setWireCrypt(WireCrypt wireCrypt)
Description copied from interface:ServiceManager
Set the wire encryption level.- Specified by:
setWireCrypt
in interfaceServiceManager
- Parameters:
wireCrypt
- Wire encryption level (null
not allowed)
-
getDbCryptConfig
public java.lang.String getDbCryptConfig()
Description copied from interface:ServiceManager
Get the database encryption plugin configuration.- Specified by:
getDbCryptConfig
in interfaceServiceManager
- Returns:
- Database encryption plugin configuration, meaning plugin specific
-
setDbCryptConfig
public void setDbCryptConfig(java.lang.String dbCryptConfig)
Description copied from interface:ServiceManager
Sets the database encryption plugin configuration.- Specified by:
setDbCryptConfig
in interfaceServiceManager
- Parameters:
dbCryptConfig
- Database encryption plugin configuration, meaning plugin specific
-
getAuthPlugins
public java.lang.String getAuthPlugins()
Description copied from interface:ServiceManager
Get the list of authentication plugins to try.- Specified by:
getAuthPlugins
in interfaceServiceManager
- Returns:
- comma-separated list of authentication plugins, or
null
for driver default
-
setAuthPlugins
public void setAuthPlugins(java.lang.String authPlugins)
Description copied from interface:ServiceManager
Sets the authentication plugins to try.Invalid names are skipped during authentication.
- Specified by:
setAuthPlugins
in interfaceServiceManager
- Parameters:
authPlugins
- comma-separated list of authentication plugins, ornull
for driver default
-
isWireCompression
public boolean isWireCompression()
Description copied from interface:ServiceManager
Get if wire compression should be enabled.Wire compression requires Firebird 3 or higher, and the server must have the zlib library. If compression cannot be negotiated, the connection will be made without wire compression.
This property will be ignored for native connections. For native connections, the configuration in
firebird.conf
read by the client library will be used.- Specified by:
isWireCompression
in interfaceServiceManager
- Returns:
true
wire compression enabled
-
setWireCompression
public void setWireCompression(boolean wireCompression)
Description copied from interface:ServiceManager
Sets if the connection should try to enable wire compression.- Specified by:
setWireCompression
in interfaceServiceManager
- Parameters:
wireCompression
-true
enable wire compression,false
disable wire compression (the default)- See Also:
ServiceManager.isWireCompression()
-
getLogger
public java.io.OutputStream getLogger()
Description copied from interface:ServiceManager
Returns the logger for the connection to the service manager.- Specified by:
getLogger
in interfaceServiceManager
- Returns:
- Returns the out.
-
setLogger
public void setLogger(java.io.OutputStream logger)
Description copied from interface:ServiceManager
Sets the logger for the connection to the service manager.- Specified by:
setLogger
in interfaceServiceManager
- Parameters:
logger
- The out to set.
-
getServiceName
public java.lang.String getServiceName()
-
attachServiceManager
public FbService attachServiceManager() throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
attachDatabase
protected FbDatabase attachDatabase() throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
queueService
public void queueService(FbService service) throws java.sql.SQLException, java.io.IOException
- Throws:
java.sql.SQLException
java.io.IOException
-
executeServicesOperation
@Deprecated protected void executeServicesOperation(ServiceRequestBuffer srb) throws java.sql.SQLException
Deprecated.Execute a Services API operation in the database. All output from the operation is sent to thisServiceManager
's logger.- Parameters:
srb
- The buffer containing the task request- Throws:
java.sql.SQLException
- if a database access error occurs or incorrect parameters are supplied
-
executeServicesOperation
protected final void executeServicesOperation(FbService service, ServiceRequestBuffer srb) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
createRequestBuffer
protected ServiceRequestBuffer createRequestBuffer(FbService service, int operation, int options)
-
getServerVersion
public GDSServerVersion getServerVersion() throws java.sql.SQLException
Description copied from interface:ServiceManager
Obtains the server version through a service call.- Specified by:
getServerVersion
in interfaceServiceManager
- Returns:
- Parsed server version, or
GDSServerVersion.INVALID_VERSION
if parsing failed. - Throws:
java.sql.SQLException
- For errors connecting to the service manager.
-
-