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 Object implements ServiceManager
An implementation of the basic Firebird Service API functionality.
Author:
Roman Rokytskyy, Mark Rotteveel
  • Field Details

  • Constructor Details

    • FBServiceManager

      public FBServiceManager()
      Create a new instance of FBServiceManager based on the default GDSType.
    • FBServiceManager

      public FBServiceManager(String gdsType)
      Create a new instance of FBServiceManager based on a given GDSType.
      Parameters:
      gdsType - type must be PURE_JAVA, EMBEDDED, or NATIVE
    • FBServiceManager

      public FBServiceManager(GDSType gdsType)
      Create a new instance of FBServiceManager based on a given GDSType.
      Parameters:
      gdsType - The GDS implementation type to use
  • Method Details

    • setCharSet

      public void setCharSet(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 interface ServiceManager
      Parameters:
      charSet - Java charset name.
    • getCharSet

      public String getCharSet()
      Specified by:
      getCharSet in interface ServiceManager
    • setUser

      public void setUser(String user)
      Set the name of the user that performs the operation.
      Specified by:
      setUser in interface ServiceManager
      Parameters:
      user - name of the user.
    • getUser

      public String getUser()
      Get name of the user that performs the operation.
      Specified by:
      getUser in interface ServiceManager
      Returns:
      name of the user that performs the operation.
    • setPassword

      public void setPassword(String password)
      Description copied from interface: ServiceManager
      Sets the password for the connection to the service manager.
      Specified by:
      setPassword in interface ServiceManager
      Parameters:
      password - The password to set.
    • getPassword

      public String getPassword()
      Description copied from interface: ServiceManager
      Returns the password for the connection to the service manager.
      Specified by:
      getPassword in interface ServiceManager
      Returns:
      Returns the password.
    • setDatabase

      public void setDatabase(String database)
      Description copied from interface: ServiceManager
      Sets the database path for the connection to the service manager.
      Specified by:
      setDatabase in interface ServiceManager
      Parameters:
      database - path for the connection to the service manager.
    • getDatabase

      public String getDatabase()
      Description copied from interface: ServiceManager
      Returns the database path for the connection to the service manager.
      Specified by:
      getDatabase in interface ServiceManager
      Returns:
      the database path for the connection to the service manager.
    • getHost

      public String getHost()
      Description copied from interface: ServiceManager
      Returns the host for the connection to the service manager.
      Specified by:
      getHost in interface ServiceManager
      Returns:
      Returns the host.
    • setHost

      public void setHost(String host)
      Description copied from interface: ServiceManager
      Sets the host for the connection to the service manager.
      Specified by:
      setHost in interface ServiceManager
      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 interface ServiceManager
      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 interface ServiceManager
      Parameters:
      port - The port to set.
    • getWireCrypt

      public WireCrypt getWireCrypt()
      Description copied from interface: ServiceManager
      Get the wire encryption level.
      Specified by:
      getWireCrypt in interface ServiceManager
      Returns:
      Wire encryption level
    • setWireCrypt

      public void setWireCrypt(WireCrypt wireCrypt)
      Description copied from interface: ServiceManager
      Set the wire encryption level.
      Specified by:
      setWireCrypt in interface ServiceManager
      Parameters:
      wireCrypt - Wire encryption level (null not allowed)
    • getDbCryptConfig

      public String getDbCryptConfig()
      Description copied from interface: ServiceManager
      Get the database encryption plugin configuration.
      Specified by:
      getDbCryptConfig in interface ServiceManager
      Returns:
      Database encryption plugin configuration, meaning plugin specific
    • setDbCryptConfig

      public void setDbCryptConfig(String dbCryptConfig)
      Description copied from interface: ServiceManager
      Sets the database encryption plugin configuration.
      Specified by:
      setDbCryptConfig in interface ServiceManager
      Parameters:
      dbCryptConfig - Database encryption plugin configuration, meaning plugin specific
    • getAuthPlugins

      public String getAuthPlugins()
      Description copied from interface: ServiceManager
      Get the list of authentication plugins to try.
      Specified by:
      getAuthPlugins in interface ServiceManager
      Returns:
      comma-separated list of authentication plugins, or null for driver default
    • setAuthPlugins

      public void setAuthPlugins(String authPlugins)
      Description copied from interface: ServiceManager
      Sets the authentication plugins to try.

      Invalid names are skipped during authentication.

      Specified by:
      setAuthPlugins in interface ServiceManager
      Parameters:
      authPlugins - comma-separated list of authentication plugins, or null 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 interface ServiceManager
      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 interface ServiceManager
      Parameters:
      wireCompression - true enable wire compression, false disable wire compression (the default)
      See Also:
    • getLogger

      public OutputStream getLogger()
      Description copied from interface: ServiceManager
      Returns the logger for the connection to the service manager.
      Specified by:
      getLogger in interface ServiceManager
      Returns:
      Returns the out.
    • setLogger

      public void setLogger(OutputStream logger)
      Description copied from interface: ServiceManager
      Sets the logger for the connection to the service manager.
      Specified by:
      setLogger in interface ServiceManager
      Parameters:
      logger - The out to set.
    • getServiceName

      public String getServiceName()
    • attachServiceManager

      public FbService attachServiceManager() throws SQLException
      Throws:
      SQLException
    • attachDatabase

      protected FbDatabase attachDatabase() throws SQLException
      Throws:
      SQLException
    • queueService

      public void queueService(FbService service) throws SQLException, IOException
      Throws:
      SQLException
      IOException
    • executeServicesOperation

      @Deprecated protected void executeServicesOperation(ServiceRequestBuffer srb) throws SQLException
      Execute a Services API operation in the database. All output from the operation is sent to this ServiceManager's logger.
      Parameters:
      srb - The buffer containing the task request
      Throws:
      SQLException - if a database access error occurs or incorrect parameters are supplied
    • executeServicesOperation

      protected final void executeServicesOperation(FbService service, ServiceRequestBuffer srb) throws SQLException
      Throws:
      SQLException
    • createRequestBuffer

      protected ServiceRequestBuffer createRequestBuffer(FbService service, int operation, int options)
    • getServerVersion

      public GDSServerVersion getServerVersion() throws SQLException
      Description copied from interface: ServiceManager
      Obtains the server version through a service call.
      Specified by:
      getServerVersion in interface ServiceManager
      Returns:
      Parsed server version, or GDSServerVersion.INVALID_VERSION if parsing failed.
      Throws:
      SQLException - For errors connecting to the service manager.