|
Spring LDAP | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.beans.factory.config.AbstractFactoryBean org.springframework.ldap.test.AbstractEc2InstanceLaunchingFactoryBean
public abstract class AbstractEc2InstanceLaunchingFactoryBean
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 Summary |
---|
Fields inherited from class org.springframework.beans.factory.config.AbstractFactoryBean |
---|
logger |
Constructor Summary | |
---|---|
AbstractEc2InstanceLaunchingFactoryBean()
|
Method Summary | |
---|---|
protected Object |
createInstance()
|
protected void |
destroyInstance(Object ignored)
|
protected abstract Object |
doCreateInstance(String ip)
Implement to create the actual target object. |
void |
setAwsKey(String awsKey)
Set the AWS key. |
void |
setAwsSecretKey(String awsSecretKey)
Set the AWS secret key. |
void |
setGroupName(String groupName)
Set the name of the access group. |
void |
setImageName(String imageName)
Set the name of the AMI image to be launched. |
void |
setKeypairName(String keypairName)
Set the name of the keypair. |
Methods inherited from class org.springframework.beans.factory.config.AbstractFactoryBean |
---|
afterPropertiesSet, destroy, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, getObjectType, isSingleton, setBeanClassLoader, setBeanFactory, setSingleton |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AbstractEc2InstanceLaunchingFactoryBean()
Method Detail |
---|
public void setImageName(String imageName)
imageName
- the AMI image name.public void setAwsKey(String awsKey)
awsKey
- the AWS key.public void setAwsSecretKey(String awsSecretKey)
awsSecretKey
- the aws secret key.public void setKeypairName(String keypairName)
keypairName
- The keypair name.public void setGroupName(String groupName)
groupName
- the group name.protected final Object createInstance() throws Exception
createInstance
in class AbstractFactoryBean
Exception
protected abstract Object doCreateInstance(String ip) throws Exception
ip
- the ip address of the launched EC2 image.
Exception
- if an error occurs during initialization.protected void destroyInstance(Object ignored) throws Exception
destroyInstance
in class AbstractFactoryBean
Exception
|
Spring LDAP | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |