com.jivesoftware.community
Interface JiveManager
- All Known Subinterfaces:
- AbuseManager, AnnouncementManager, ArchiveManager, AttachmentManager, AvatarManager, BanManager, BinaryBodyManager, BlogManager, CommentManager, CommunityManager, DocumentFieldManager, DocumentFieldTypeManager, DocumentManager, DocumentTypeManager, DraftManager, EmailManager, EmailTokenManager, ForumManager, GroupManager, ImageManager, InterceptorManager, IntrospectiveGroupManager, IntrospectiveUserManager, LinkManager, LocaleManager, ModerationManager, PermissionsManager, PollManager, PresenceManager, PrivateMessageManager, ProfileFieldManager, ProfileManager, ProfileSearchManager, QuestionManager, RatingManager, ReadTracker, RegistrationManager, RenderManager, SearchEngineManager, SearchManager, SearchQueryManager, StatusLevelManager, StorageManager, TagManager, TagSetManager, UserManager, WatchManager, WidgetManager
- All Known Implementing Classes:
- IMManager, PluginManager, TagManagerFactory, TrackbackManagerFactory
public interface JiveManager
An interface that all Jive Managers should implement. This interface is designed to
solve some intriguing startup issues with clustering by separating the loading of
the core Jive managers and factories from their initialization phase. By doing this
we solve many possible deadlock situations where Jive classes are being initialized
at the same time that clustering is starting up and populating caches in separate threads.
The general contract that any implementing manager must follow is as follows: implementations
should not access, either through an instance or via static calls, any other class
that could possibly (directly or indirectly) either access one of the main Factory classes
or any caches until initialize(JiveContext) is called. This restriction includes
static class variables.
Not following this contract can cause deadlocks and possible clustering issues during startup.
|
Method Summary |
void |
destroy()
Notifies the manager to release any resources that may be holding on too. |
void |
initialize(JiveContext jiveContext)
Initialize the manager. |
initialize
void initialize(JiveContext jiveContext)
- Initialize the manager. It is within this method that it is ok to create, access and/or
otherwise use external classes (including caches) with the possible exception of other
JiveManagers. Until this method is called implementation should not access any
external classes that could possibly either access one of the main Factory classes or any
caches since doing so can cause deadlocks and possible clustering issues during startup.
Attempting to access other JiveManager's may or may not work depending on the initialization
order of the managers.
This method is used internally by Jive during application startup and should not
be called during normal usage of the class.
- Parameters:
jiveContext - the context to use during initialization
destroy
void destroy()
- Notifies the manager to release any resources that may be holding on too. This could also
be used to clear out the managers caches, etc.
This method is used internally by Jive during application startup and should not
be called during normal usage of the class.
Copyright © 1999-2007 Jive Software.