Package com.atlassian.confluence.setup
Class DefaultBootstrapManager
java.lang.Object
com.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
com.atlassian.confluence.setup.DefaultBootstrapManager
- All Implemented Interfaces:
com.atlassian.config.bootstrap.AtlassianBootstrapManager
,BootstrapManager
,BootstrapManagerInternal
,ConfluenceBootstrapConstants
public class DefaultBootstrapManager
extends com.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
implements BootstrapManagerInternal
BootstrapManager is responsible for initializing the dependencies of Confluence environment.
- Initializing the Confluence environment, beginning with loading confluence.cfg.xml from the confluence.home property specified in confluence-init.properties.
- Delegating, monitoring, and answering all client requests concerning Confluence initialization routines.
- Providing the SetupPersister with whatever resources it needs to let a user bootstrapManager Confluence.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
Deprecated.static final String
Since 6.12 this field defines a bandana property, and not a field in the config filestatic final String
static final String
Fields inherited from class com.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
applicationConfig, bootstrapFailureReason, bootstrapped, hibernateConfig, hibernateConfigurator, homeLocator, setupPersister
Fields inherited from interface com.atlassian.confluence.setup.BootstrapManager
JWT_KEY_LENGTH, JWT_PRIVATE_KEY, JWT_PUBLIC_KEY, SYNCHRONY_SERVICE_AUTHTOKEN
Fields inherited from interface com.atlassian.confluence.setup.ConfluenceBootstrapConstants
ATLASSIAN_LICENSE_KEY, ATTACHMENTS_DIR_PROP, CONFLUENCE_HOME_CONSTANT, CONFLUENCE_LOCAL_HOME_CONSTANT, DEFAULT_LICENSE_REGISTRY_KEY, GLOBAL_PLUGIN_STATE, INSTALLATION_DATE_KEY, LICENSE_HASH_KEY, LICENSE_MESSAGE_KEY, LUCENE_INDEX_DIR_PROP, TEMP_DIR_PROP, WEBAPP_CONTEXT_PATH_KEY
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultBootstrapManager
(com.atlassian.config.ApplicationConfiguration applicationConfiguration, ClusterConfigurationHelperInternal clusterConfigurationHelper, SingleConnectionProvider databaseHelper, HealthCheckRunner healthCheckRunner, com.atlassian.config.db.HibernateConfigurator hibernateConfigurator, com.atlassian.config.HomeLocator homeLocator, com.atlassian.config.setup.SetupPersister setupPersister, List<String> tables) Deprecated.DefaultBootstrapManager
(com.atlassian.config.ApplicationConfiguration applicationConfiguration, ClusterConfigurationHelperInternal clusterConfigurationHelper, SingleConnectionProvider databaseHelper, HealthCheckRunner healthCheckRunner, com.atlassian.config.db.HibernateConfigurator hibernateConfigurator, com.atlassian.config.HomeLocator homeLocator, com.atlassian.config.setup.SetupPersister setupPersister, List<String> tables, com.atlassian.security.serialfilter.DeserializationFilterConfigurator deserializationFilterConfigurator) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
void
bootstrapSharedConfiguration
(SharedConfigurationMap sharedConfig) Deprecated.since 5.9void
void
If there's any resource that needs to be cleaned up, do it here.Returns the configured local home or null if not configured.Deprecated.Optional<com.atlassian.config.db.DatabaseDetails>
getDatabaseDetail
(String database) Get Db configuration from config file if we are using db.first setup typeReturns the name of the JNDI-based DataSource, if any.protected String
getDbUrl
(com.atlassian.config.db.DatabaseDetails dbDetails) "${confluenceHome}" is replaced on the fly with the current location of confluence.
This effectively allows Confluence to be moved without breaking some system paths (like attachments).
This does not handle moves to a different drive though.Returns the SQL dialect being used by Hibernate.Confluence local home directory.Confluence shared home directory.getTestDatabaseConnection
(com.atlassian.config.db.DatabaseDetails databaseDetails) void
init()
boolean
boolean
Perform upgrade of DB configurationprotected void
void
Deprecated.since 5.9void
setConfluenceHome
(String confluenceHome) void
setWebAppContextPath
(String webAppContextPath) Methods inherited from class com.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
bootstrapDatabase, bootstrapDatasource, databaseContainsExistingData, finishBootstrapInitialisation, getApplicationConfig, getBootstrapFailureReason, getBuildNumber, getConfiguredApplicationHome, getHibernateConfig, getHibernateConfigurator, getHomeLocator, getOperation, getPropertiesWithPrefix, getProperty, getPropertyKeys, getSetupPersister, getTables, getTestDatasourceConnection, isApplicationHomeValid, isBootstrapped, isPropertyTrue, isSetupComplete, removeProperty, save, setApplicationConfig, setBuildNumber, setHibernateConfig, setHibernateConfigurator, setHomeLocator, setOperation, setProperty, setSetupComplete, setSetupPersister, setTables
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.atlassian.config.bootstrap.AtlassianBootstrapManager
bootstrapDatabase, bootstrapDatasource, databaseContainsExistingData, getApplicationConfig, getBootstrapFailureReason, getBuildNumber, getHibernateConfig, getHibernateConfigurator, getOperation, getPropertiesWithPrefix, getProperty, getPropertyKeys, getSetupPersister, getTestDatasourceConnection, isApplicationHomeValid, isBootstrapped, isPropertyTrue, isSetupComplete, removeProperty, save, setBuildNumber, setHibernateConfigurator, setOperation, setProperty, setSetupComplete
Methods inherited from interface com.atlassian.confluence.setup.BootstrapManager
getConfiguredApplicationHome
-
Field Details
-
CONFIG_DIR_NAME
- See Also:
-
LOCK_FILE_NAME
- See Also:
-
SYNCHRONY_BTF
Deprecated.This field no longer used- Since:
- 6.12
- See Also:
-
SYNCHRONY_PROXY_ENABLED
- See Also:
-
SYNCHRONY_ENCRYPTION_DISABLED
- See Also:
-
SYNCHRONY_BTF_OFF
Since 6.12 this field defines a bandana property, and not a field in the config file- See Also:
-
CONFLUENCE_DATABASE_CHOICE
- See Also:
-
JTDS_PROTOCOL
- See Also:
-
-
Constructor Details
-
DefaultBootstrapManager
@Deprecated public DefaultBootstrapManager(com.atlassian.config.ApplicationConfiguration applicationConfiguration, ClusterConfigurationHelperInternal clusterConfigurationHelper, SingleConnectionProvider databaseHelper, HealthCheckRunner healthCheckRunner, com.atlassian.config.db.HibernateConfigurator hibernateConfigurator, com.atlassian.config.HomeLocator homeLocator, com.atlassian.config.setup.SetupPersister setupPersister, List<String> tables) -
DefaultBootstrapManager
public DefaultBootstrapManager(com.atlassian.config.ApplicationConfiguration applicationConfiguration, ClusterConfigurationHelperInternal clusterConfigurationHelper, SingleConnectionProvider databaseHelper, HealthCheckRunner healthCheckRunner, com.atlassian.config.db.HibernateConfigurator hibernateConfigurator, com.atlassian.config.HomeLocator homeLocator, com.atlassian.config.setup.SetupPersister setupPersister, List<String> tables, com.atlassian.security.serialfilter.DeserializationFilterConfigurator deserializationFilterConfigurator)
-
-
Method Details
-
init
public void init() throws com.atlassian.config.bootstrap.BootstrapException- Specified by:
init
in interfacecom.atlassian.config.bootstrap.AtlassianBootstrapManager
- Overrides:
init
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
- Throws:
com.atlassian.config.bootstrap.BootstrapException
-
publishConfiguration
Deprecated.since 5.9- Specified by:
publishConfiguration
in interfacecom.atlassian.config.bootstrap.AtlassianBootstrapManager
- Overrides:
publishConfiguration
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
-
getDatabaseDetail
Description copied from interface:BootstrapManagerInternal
Get Db configuration from config file if we are using db.first setup type- Specified by:
getDatabaseDetail
in interfaceBootstrapManagerInternal
- Parameters:
database
- the name of database- Returns:
- Optional Database Configuration object
-
getString
- Specified by:
getString
in interfacecom.atlassian.config.bootstrap.AtlassianBootstrapManager
- Overrides:
getString
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
-
getFilePathProperty
"${confluenceHome}" is replaced on the fly with the current location of confluence.
This effectively allows Confluence to be moved without breaking some system paths (like attachments).
This does not handle moves to a different drive though.- Specified by:
getFilePathProperty
in interfacecom.atlassian.config.bootstrap.AtlassianBootstrapManager
- Specified by:
getFilePathProperty
in interfaceBootstrapManager
- Overrides:
getFilePathProperty
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
- Parameters:
key
- the property key whose value you want to perform replacement upon.
-
getDbUrl
- Overrides:
getDbUrl
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
-
getConfluenceHome
Deprecated.Description copied from interface:BootstrapManager
Returns local home in standalone installation and shared home in clustered installation.- Specified by:
getConfluenceHome
in interfaceBootstrapManager
- Returns:
- local home in standalone installation and shared home in clustered installation
-
getApplicationHome
- Specified by:
getApplicationHome
in interfacecom.atlassian.config.bootstrap.AtlassianBootstrapManager
- Specified by:
getApplicationHome
in interfaceBootstrapManager
- Overrides:
getApplicationHome
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
-
getLocalHome
Description copied from interface:BootstrapManager
Confluence local home directory.This directory is only visible to the local node in a cluster.
This directory should be used for data that must be node specific and cannot be shared between cluster nodes.
- Specified by:
getLocalHome
in interfaceBootstrapManager
- Returns:
- String representing the path to Confluence's home directory on disk.
-
setConfluenceHome
public void setConfluenceHome(String confluenceHome) throws com.atlassian.config.ConfigurationException - Specified by:
setConfluenceHome
in interfaceBootstrapManager
- Throws:
com.atlassian.config.ConfigurationException
-
getConfiguredLocalHome
Description copied from interface:BootstrapManager
Returns the configured local home or null if not configured.Only bootstrap code should need this method. Most code should use
BootstrapManager.getLocalHome()
instead.- Specified by:
getConfiguredLocalHome
in interfaceBootstrapManager
- Returns:
- configured local home
-
performPersistenceUpgrade
public boolean performPersistenceUpgrade()Description copied from interface:BootstrapManagerInternal
Perform upgrade of DB configuration- Specified by:
performPersistenceUpgrade
in interfaceBootstrapManagerInternal
- Overrides:
performPersistenceUpgrade
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
- Returns:
- true if successful, false if failed
-
getHibernateProperties
- Specified by:
getHibernateProperties
in interfacecom.atlassian.config.bootstrap.AtlassianBootstrapManager
- Overrides:
getHibernateProperties
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
-
getTestDatabaseConnection
public Connection getTestDatabaseConnection(com.atlassian.config.db.DatabaseDetails databaseDetails) throws com.atlassian.config.bootstrap.BootstrapException - Specified by:
getTestDatabaseConnection
in interfacecom.atlassian.config.bootstrap.AtlassianBootstrapManager
- Overrides:
getTestDatabaseConnection
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
- Throws:
com.atlassian.config.bootstrap.BootstrapException
-
checkConfigurationOnStartup
public void checkConfigurationOnStartup() throws com.atlassian.config.bootstrap.BootstrapException- Specified by:
checkConfigurationOnStartup
in interfaceBootstrapManager
- Throws:
com.atlassian.config.bootstrap.BootstrapException
-
cleanupOnShutdown
public void cleanupOnShutdown()Description copied from interface:BootstrapManager
If there's any resource that needs to be cleaned up, do it here.- Specified by:
cleanupOnShutdown
in interfaceBootstrapManager
-
getDataSourceName
Description copied from interface:BootstrapManager
Returns the name of the JNDI-based DataSource, if any.- Specified by:
getDataSourceName
in interfaceBootstrapManager
- Returns:
- empty if Confluence is using a direct JDBC connection
-
getHibernateDialect
Description copied from interface:BootstrapManager
Returns the SQL dialect being used by Hibernate.- Specified by:
getHibernateDialect
in interfaceBootstrapManager
- Returns:
- see above
- See Also:
-
AvailableSettings.DIALECT
-
afterConfigurationLoaded
protected void afterConfigurationLoaded() throws com.atlassian.config.ConfigurationException- Overrides:
afterConfigurationLoaded
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
- Throws:
com.atlassian.config.ConfigurationException
-
postBootstrapDatabase
protected void postBootstrapDatabase() throws com.atlassian.config.bootstrap.BootstrapException- Overrides:
postBootstrapDatabase
in classcom.atlassian.config.internal.bootstrap.DefaultAtlassianBootstrapManager
- Throws:
com.atlassian.config.bootstrap.BootstrapException
-
getWebAppContextPath
- Specified by:
getWebAppContextPath
in interfaceBootstrapManager
-
setWebAppContextPath
- Specified by:
setWebAppContextPath
in interfaceBootstrapManager
-
isWebAppContextPathSet
public boolean isWebAppContextPathSet()- Specified by:
isWebAppContextPathSet
in interfaceBootstrapManager
-
DefaultBootstrapManager(com.atlassian.config.ApplicationConfiguration,com.atlassian.confluence.impl.cluster.ClusterConfigurationHelperInternal,com.atlassian.confluence.impl.util.db.SingleConnectionProvider,com.atlassian.confluence.impl.health.HealthCheckRunner,com.atlassian.config.db.HibernateConfigurator,com.atlassian.config.HomeLocator,com.atlassian.config.setup.SetupPersister,java.util.List<java.lang.String>,com.atlassian.security.serialfilter.DeserializationFilterConfigurator)