Package com.atlassian.confluence.tenant
Class BroadcastingTenantRegistry
- java.lang.Object
-
- com.atlassian.confluence.tenant.BroadcastingTenantRegistry
-
- All Implemented Interfaces:
TenantRegistry
public class BroadcastingTenantRegistry extends Object implements TenantRegistry
Decorator forTenantRegistry
which publishes the events specified in the Atlassian Tenancy API.The separation between
VolatileSingleTenantRegistry
and this implementation is currently necessary since the tenant is not persisted (within Confluence). There should be noTenantArrivedEvent
published in case of an existing tenant being replayed. This is achieved by replaying the tenant very early in the bootstrap, during the initialisation of the bootstrap container. The bootstrap container hosts theVolatileSingleTenantRegistry
which will not broadcast any events of the API.- Since:
- 5.6
-
-
Constructor Summary
Constructors Constructor Description BroadcastingTenantRegistry(TenantRegistry delegate, com.atlassian.event.api.EventPublisher eventPublisher)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addTenant(com.atlassian.tenancy.api.Tenant tenant)
boolean
isRegistryVacant()
boolean
isTenantRegistered(com.atlassian.tenancy.api.Tenant tenant)
boolean
removeTenant(com.atlassian.tenancy.api.Tenant tenant)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.atlassian.confluence.tenant.TenantRegistry
hasTenant
-
-
-
-
Constructor Detail
-
BroadcastingTenantRegistry
public BroadcastingTenantRegistry(TenantRegistry delegate, com.atlassian.event.api.EventPublisher eventPublisher)
-
-
Method Detail
-
addTenant
public boolean addTenant(com.atlassian.tenancy.api.Tenant tenant)
- Specified by:
addTenant
in interfaceTenantRegistry
- Parameters:
tenant
- the tenant to add- Returns:
- true if the tenant was added during this request, false if the registry already knew it
-
removeTenant
public boolean removeTenant(com.atlassian.tenancy.api.Tenant tenant)
- Specified by:
removeTenant
in interfaceTenantRegistry
- Parameters:
tenant
- the tenant to remove- Returns:
- true if the tenant was removed, false if the registry didn't know about it
-
isTenantRegistered
public boolean isTenantRegistered(com.atlassian.tenancy.api.Tenant tenant)
- Specified by:
isTenantRegistered
in interfaceTenantRegistry
- Parameters:
tenant
- the tenant to test for being registered- Returns:
- true if the tenant is currently registered
-
isRegistryVacant
public boolean isRegistryVacant()
- Specified by:
isRegistryVacant
in interfaceTenantRegistry
- Returns:
- true if the registry currently has no tenants
-
-