Package org.springframework.ldap.test
Class AbstractEc2InstanceLaunchingFactoryBean
java.lang.Object
org.springframework.beans.factory.config.AbstractFactoryBean
org.springframework.ldap.test.AbstractEc2InstanceLaunchingFactoryBean
- All Implemented Interfaces:
- org.springframework.beans.factory.Aware,- org.springframework.beans.factory.BeanClassLoaderAware,- org.springframework.beans.factory.BeanFactoryAware,- org.springframework.beans.factory.DisposableBean,- org.springframework.beans.factory.FactoryBean,- org.springframework.beans.factory.InitializingBean
- Direct Known Subclasses:
- ContextSourceEc2InstanceLaunchingFactoryBean
public abstract class AbstractEc2InstanceLaunchingFactoryBean
extends org.springframework.beans.factory.config.AbstractFactoryBean
Abstract FactoryBean superclass to use for automatically launching an EC2 instance
 before creating the actual target object. This approach is particularly useful for
 integration testing purposes - the idea is to have particular EC2 images prepared for
 running integration tests against certain server configurations, enabling integration
 tests aimed at e.g. a particluar DB server to run transparently at the computer of each
 individual developer without having to have the actual server software installed on
 their computers.
 
Public AMIs will need to be created, bundled and registered for each server setup. A subclass of this FactoryBean is then added to create the actual target object (e.g. a DataSource), implementing the {link #doCreateInstance} method. This method will be supplied the IP address of the instance that was created, enabling the subclass to configure the created instance appropriately.
- 
Field SummaryFields inherited from class org.springframework.beans.factory.config.AbstractFactoryBeanloggerFields inherited from interface org.springframework.beans.factory.FactoryBeanOBJECT_TYPE_ATTRIBUTE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected final Objectprotected voiddestroyInstance(Object ignored) protected abstract ObjectImplement to create the actual target object.voidSet the AWS key.voidsetAwsSecretKey(String awsSecretKey) Set the AWS secret key.voidsetGroupName(String groupName) Set the name of the access group.voidsetImageName(String imageName) Set the name of the AMI image to be launched.voidsetKeypairName(String keypairName) Set the name of the keypair.Methods inherited from class org.springframework.beans.factory.config.AbstractFactoryBeanafterPropertiesSet, destroy, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, getObjectType, isSingleton, setBeanClassLoader, setBeanFactory, setSingleton
- 
Constructor Details- 
AbstractEc2InstanceLaunchingFactoryBeanpublic AbstractEc2InstanceLaunchingFactoryBean()
 
- 
- 
Method Details- 
setImageNameSet the name of the AMI image to be launched.- Parameters:
- imageName- the AMI image name.
 
- 
setAwsKeySet the AWS key.- Parameters:
- awsKey- the AWS key.
 
- 
setAwsSecretKeySet the AWS secret key.- Parameters:
- awsSecretKey- the aws secret key.
 
- 
setKeypairNameSet the name of the keypair.- Parameters:
- keypairName- The keypair name.
 
- 
setGroupNameSet the name of the access group. This group should be configured with the appropriate ports open for this test case to execute.- Parameters:
- groupName- the group name.
 
- 
createInstance- Specified by:
- createInstancein class- org.springframework.beans.factory.config.AbstractFactoryBean
- Throws:
- Exception
 
- 
doCreateInstanceImplement to create the actual target object.- Parameters:
- ip- the ip address of the launched EC2 image.
- Returns:
- the object to be returned by this FactoryBean.
- Throws:
- Exception- if an error occurs during initialization.
 
- 
destroyInstance- Overrides:
- destroyInstancein class- org.springframework.beans.factory.config.AbstractFactoryBean
- Throws:
- Exception
 
 
-