| 
GigaSpaces XAP 9.1 API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.openspaces.core.space.AbstractSpaceFactoryBean
public abstract class AbstractSpaceFactoryBean
Base class for most space factory beans responsible for creating/finding IJSpace
 implementation.
 
Provides support for raising Spring application events: BeforeSpaceModeChangeEvent and
 AfterSpaceModeChangeEvent alerting other beans of the current space mode
 (primary/backup). Beans that wish to be notified of it should implement Spring
 ApplicationListener. Note that this space mode events might
 be raised more than once for the same space mode, and beans that listen to it should take it into
 account.
 
The space mode event will be raised regardless of the space "type" that is used. For embedded
 spaces, an actual space mode event listener will be registered with the actual cluster member (if
 not in cluster mode, the actual space). For remote space lookups (jini/rmi), no listener will be
 registered and Space mode events will still be raised during context refresh with a
 PRIMARY mode in order to allow beans to be written regardless of how the space is
 looked up.
 
Derived classes should implement the doCreateSpace() to obtain the IJSpace.
| Field Summary | |
|---|---|
protected  Log | 
logger
 | 
| Constructor Summary | |
|---|---|
AbstractSpaceFactoryBean()
 | 
|
| Method Summary | |
|---|---|
 void | 
afterPropertiesSet()
Initializes the space by calling the doCreateSpace(). | 
 void | 
destroy()
Destroys the space and unregisters the internal space mode listener (if registered).  | 
protected abstract  IJSpace | 
doCreateSpace()
Responsible for creating/finding the actual IJSpace implementation. | 
protected  void | 
fireSpaceAfterBackupEvent()
Sends AfterSpaceModeChangeEvent events with space mode SpaceMode.BACKUP to all beans in the application context
 that implement the SpaceAfterBackupListener interface. | 
protected  void | 
fireSpaceAfterPrimaryEvent()
Sends AfterSpaceModeChangeEvent events with space mode SpaceMode.PRIMARY to all beans in the application context
 that implement the SpaceAfterPrimaryListener interface. | 
protected  void | 
fireSpaceBeforeBackupEvent()
Sends BeforeSpaceModeChangeEvent events with space mode SpaceMode.BACKUP to all beans in the application context
 that implement the SpaceBeforeBackupListener interface. | 
protected  void | 
fireSpaceBeforePrimaryEvent()
Sends BeforeSpaceModeChangeEvent events with space mode SpaceMode.PRIMARY to all beans in the application context
 that implement the SpaceBeforePrimaryListener interface. | 
protected  ApplicationContext | 
getApplicationContext()
 | 
 String | 
getName()
 | 
 Object | 
getObject()
Spring factory bean returning the IJSpace created during the bean initialization
 (afterPropertiesSet()). | 
 Class<? extends IJSpace> | 
getObjectType()
Returns the object type of the factory bean.  | 
protected  SecurityConfig | 
getSecurityConfig()
 | 
 ServiceDetails[] | 
getServicesDetails()
Retruns one or more service details that the service exposes.  | 
 boolean | 
isAlive()
Returns if this space is alive or not by pinging the Space and if it is considered healthy.  | 
 boolean | 
isMemberAliveEnabled()
Returns the setEnableMemberAliveIndicator(Boolean) flag. | 
protected  boolean | 
isRegisterForSpaceModeNotifications()
Returns if the space should register for primary backup notifications.  | 
 boolean | 
isSingleton()
Returns true since this factory is a singleton. | 
 void | 
onApplicationEvent(ApplicationEvent applicationEvent)
If ContextRefreshedEvent is raised will send two extra events:
 BeforeSpaceModeChangeEvent and AfterSpaceModeChangeEvent with the current
 space mode. | 
 void | 
process(com.gigaspaces.internal.dump.InternalDump dump)
 | 
 void | 
setApplicationContext(ApplicationContext applicationContext)
Injected by Spring thanks to ApplicationContextAware. | 
 void | 
setBeanName(String name)
 | 
 void | 
setEnableMemberAliveIndicator(Boolean enableMemberAliveIndicator)
Should this Space bean control if the cluster member is alive or not.  | 
 void | 
setPrimaryBackupListener(com.gigaspaces.cluster.activeelection.ISpaceModeListener primaryBackupListener)
Sets a custom primary backup listener  | 
 void | 
setRegisterForSpaceModeNotifications(boolean registerForSpaceMode)
Sets if the space should register for primary backup (mode) notifications.  | 
 void | 
setSecurityConfig(SecurityConfig securityConfig)
Sets security configuration for the Space.  | 
 void | 
setUserDetails(UserDetails userDetails)
Sets the security configuration with the provided custom user details.  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
protected Log logger
| Constructor Detail | 
|---|
public AbstractSpaceFactoryBean()
| Method Detail | 
|---|
public void setRegisterForSpaceModeNotifications(boolean registerForSpaceMode)
rmi
 or jini protocols.
public void setUserDetails(UserDetails userDetails)
userDetails - a custom user details.public void setSecurityConfig(SecurityConfig securityConfig)
protected SecurityConfig getSecurityConfig()
public void setApplicationContext(ApplicationContext applicationContext)
                           throws BeansException
ApplicationContextAware.
setApplicationContext in interface ApplicationContextAwareBeansExceptionprotected ApplicationContext getApplicationContext()
public void setBeanName(String name)
setBeanName in interface BeanNameAwarepublic void setPrimaryBackupListener(com.gigaspaces.cluster.activeelection.ISpaceModeListener primaryBackupListener)
public void setEnableMemberAliveIndicator(Boolean enableMemberAliveIndicator)
true if the Space started is an embedded Space, and false
 if the it is connected to a remote Space.
public void afterPropertiesSet()
                        throws DataAccessException
doCreateSpace().
 Registers with the Space an internal space mode listener in order to be able to send Spring
 level BeforeSpaceModeChangeEvent and AfterSpaceModeChangeEvent for primary
 and backup handling of different beans within the context. The registration is based on
 isRegisterForSpaceModeNotifications().
afterPropertiesSet in interface InitializingBeanDataAccessException
public void destroy()
             throws Exception
destroy in interface DisposableBeanExceptionpublic void onApplicationEvent(ApplicationEvent applicationEvent)
ContextRefreshedEvent is raised will send two extra events:
 BeforeSpaceModeChangeEvent and AfterSpaceModeChangeEvent with the current
 space mode. This is done since other beans that use this events might not catch them while
 the context is constructed.
 Note, this will mean that events with the same Space mode might be raised, one after the other, and Spring beans that listens for them should take it into account.
onApplicationEvent in interface ApplicationListenerpublic Object getObject()
IJSpace created during the bean initialization
 (afterPropertiesSet()).
getObject in interface FactoryBeanIJSpace implementationpublic Class<? extends IJSpace> getObjectType()
IJSpace implementation class.
getObjectType in interface FactoryBeanpublic boolean isSingleton()
true since this factory is a singleton.
isSingleton in interface FactoryBeanpublic boolean isMemberAliveEnabled()
setEnableMemberAliveIndicator(Boolean) flag.
isMemberAliveEnabled in interface MemberAliveIndicator
public boolean isAlive()
                throws Exception
isAlive in interface MemberAliveIndicatorException
protected abstract IJSpace doCreateSpace()
                                  throws DataAccessException
IJSpace implementation.
DataAccessExceptionprotected boolean isRegisterForSpaceModeNotifications()
setRegisterForSpaceModeNotifications(boolean)
 was set, will return this flag. If not, will register to primary backup notification if the space was
 found using an embedded protocol, and will not register for notification if the space was found using rmi
 or jini protocols.
protected void fireSpaceBeforeBackupEvent()
BeforeSpaceModeChangeEvent events with space mode SpaceMode.BACKUP to all beans in the application context
 that implement the SpaceBeforeBackupListener interface.
protected void fireSpaceAfterBackupEvent()
AfterSpaceModeChangeEvent events with space mode SpaceMode.BACKUP to all beans in the application context
 that implement the SpaceAfterBackupListener interface.
protected void fireSpaceBeforePrimaryEvent()
BeforeSpaceModeChangeEvent events with space mode SpaceMode.PRIMARY to all beans in the application context
 that implement the SpaceBeforePrimaryListener interface.
protected void fireSpaceAfterPrimaryEvent()
AfterSpaceModeChangeEvent events with space mode SpaceMode.PRIMARY to all beans in the application context
 that implement the SpaceAfterPrimaryListener interface.
public ServiceDetails[] getServicesDetails()
ServiceDetailsProvider
getServicesDetails in interface ServiceDetailsProviderpublic String getName()
getName in interface com.gigaspaces.internal.dump.InternalDumpProcessor
public void process(com.gigaspaces.internal.dump.InternalDump dump)
             throws com.gigaspaces.internal.dump.InternalDumpProcessorFailedException
process in interface com.gigaspaces.internal.dump.InternalDumpProcessorcom.gigaspaces.internal.dump.InternalDumpProcessorFailedException
  | 
GigaSpaces XAP 9.1 API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||