Package org.kuali.rice.kim.service.impl
Class IdentityArchiveServiceImpl
java.lang.Object
org.kuali.rice.kim.service.impl.IdentityArchiveServiceImpl
- All Implemented Interfaces:
org.kuali.rice.kim.impl.identity.IdentityArchiveService,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean
public class IdentityArchiveServiceImpl
extends Object
implements org.kuali.rice.kim.impl.identity.IdentityArchiveService, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
This is the default implementation for the IdentityArchiveService.
- Author:
- Kuali Rice Team (rice.collab@kuali.org)
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classAdapts a Callable to be Runnableprotected classstore the person to the database, but do this an alternate thread to prevent transaction issues since this service is non-transactionalprotected static classdecorator for a callable to log a message before it is executedprotected static classA class encapsulating aConcurrentLinkedQueueand anAtomicIntegerto provide fast offer(enqueue)/poll(dequeue) and size checking. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.kuali.rice.krad.data.DataObjectServiceprotected static final Stringprotected static final intprotected org.kuali.rice.core.api.config.property.ConfigurationServiceprotected static final Stringprotected static final intprotected final Runnableprotected final Runnableprotected final Runnableprotected org.springframework.transaction.PlatformTransactionManagerprotected final IdentityArchiveServiceImpl.WriteQueueprotected final IdentityArchiveServiceImpl.EntityArchiveWriter -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidschedule the writer on the KSB scheduled pool.voiddestroy()flush the write queue immediately.voidorg.kuali.rice.kim.api.identity.entity.EntityDefaultgetEntityDefaultFromArchive(String entityId) org.kuali.rice.kim.api.identity.entity.EntityDefaultgetEntityDefaultFromArchiveByEmployeeId(String employeeId) org.kuali.rice.kim.api.identity.entity.EntityDefaultgetEntityDefaultFromArchiveByPrincipalId(String principalId) org.kuali.rice.kim.api.identity.entity.EntityDefaultgetEntityDefaultFromArchiveByPrincipalName(String principalName) protected intprotected intvoidsaveEntityDefaultToArchive(org.kuali.rice.kim.api.identity.entity.EntityDefault entity) voidsetDataObjectService(org.kuali.rice.krad.data.DataObjectService dataObjectService) voidsetKualiConfigurationService(org.kuali.rice.core.api.config.property.ConfigurationService kualiConfigurationService) voidsetTransactionManager(org.springframework.transaction.PlatformTransactionManager txMgr)
-
Field Details
-
dataObjectService
protected org.kuali.rice.krad.data.DataObjectService dataObjectService -
kualiConfigurationService
protected org.kuali.rice.core.api.config.property.ConfigurationService kualiConfigurationService -
transactionManager
protected org.springframework.transaction.PlatformTransactionManager transactionManager -
EXEC_INTERVAL_SECS
- See Also:
-
MAX_WRITE_QUEUE_SIZE
- See Also:
-
EXECUTION_INTERVAL_SECONDS_DEFAULT
protected static final int EXECUTION_INTERVAL_SECONDS_DEFAULT- See Also:
-
MAX_WRITE_QUEUE_SIZE_DEFAULT
protected static final int MAX_WRITE_QUEUE_SIZE_DEFAULT- See Also:
-
writeQueue
-
writer
-
maxQueueSizeExceededWriter
-
scheduledWriter
-
shutdownWriter
-
-
Constructor Details
-
IdentityArchiveServiceImpl
public IdentityArchiveServiceImpl()
-
-
Method Details
-
getExecutionIntervalSeconds
protected int getExecutionIntervalSeconds() -
getMaxWriteQueueSize
protected int getMaxWriteQueueSize() -
getEntityDefaultFromArchive
public org.kuali.rice.kim.api.identity.entity.EntityDefault getEntityDefaultFromArchive(String entityId) - Specified by:
getEntityDefaultFromArchivein interfaceorg.kuali.rice.kim.impl.identity.IdentityArchiveService
-
getEntityDefaultFromArchiveByPrincipalId
public org.kuali.rice.kim.api.identity.entity.EntityDefault getEntityDefaultFromArchiveByPrincipalId(String principalId) - Specified by:
getEntityDefaultFromArchiveByPrincipalIdin interfaceorg.kuali.rice.kim.impl.identity.IdentityArchiveService
-
getEntityDefaultFromArchiveByPrincipalName
public org.kuali.rice.kim.api.identity.entity.EntityDefault getEntityDefaultFromArchiveByPrincipalName(String principalName) - Specified by:
getEntityDefaultFromArchiveByPrincipalNamein interfaceorg.kuali.rice.kim.impl.identity.IdentityArchiveService
-
getEntityDefaultFromArchiveByEmployeeId
public org.kuali.rice.kim.api.identity.entity.EntityDefault getEntityDefaultFromArchiveByEmployeeId(String employeeId) - Specified by:
getEntityDefaultFromArchiveByEmployeeIdin interfaceorg.kuali.rice.kim.impl.identity.IdentityArchiveService
-
saveEntityDefaultToArchive
public void saveEntityDefaultToArchive(org.kuali.rice.kim.api.identity.entity.EntityDefault entity) - Specified by:
saveEntityDefaultToArchivein interfaceorg.kuali.rice.kim.impl.identity.IdentityArchiveService
-
flushToArchive
public void flushToArchive()- Specified by:
flushToArchivein interfaceorg.kuali.rice.kim.impl.identity.IdentityArchiveService
-
setKualiConfigurationService
public void setKualiConfigurationService(org.kuali.rice.core.api.config.property.ConfigurationService kualiConfigurationService) -
setTransactionManager
public void setTransactionManager(org.springframework.transaction.PlatformTransactionManager txMgr) -
afterPropertiesSet
schedule the writer on the KSB scheduled pool.- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
destroy
flush the write queue immediately.- Specified by:
destroyin interfaceorg.springframework.beans.factory.DisposableBean- Throws:
Exception
-
setDataObjectService
public void setDataObjectService(org.kuali.rice.krad.data.DataObjectService dataObjectService) - Parameters:
dataObjectService- the dataObjectService to set
-