Spring for Apache Hadoop

org.springframework.yarn.test.context
Annotation Type MiniYarnClusterTest


@Retention(value=RUNTIME)
@Target(value=TYPE)
@ContextConfiguration(loader=YarnDelegatingSmartContextLoader.class)
@MiniYarnCluster
public @interface MiniYarnClusterTest

Composed annotation having @MiniYarnCluster, @ContextConfiguration using loader YarnDelegatingSmartContextLoader and empty Spring @Configuration.

Typical use for this annotation would look like:

 @MiniYarnClusterTest
 public class AppTests extends AbstractBootYarnClusterTests {

   @Test
   public void testApp() {
     // test methods
   }

 }
 

If user wants to use a simple composed annotation and use a custom @Configuration, there are two options.

Use classes attribute with @MiniYarnCluster to override default context configuration class.

 @MiniYarnClusterTest(classes = AppTests.Config.class)
 public class AppTests extends AbstractBootYarnClusterTests {

   @Test
   public void testApp() {
     // test methods
   }

   @Configuration
   public static class Config {
     // custom config
   }

 }
 

If more functionality is needed for composed annotation, one can simply duplicate functionality of this @MiniYarnClusterTest annotation.

 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.TYPE)
 @ContextConfiguration(loader=YarnDelegatingSmartContextLoader.class)
 @MiniYarnCluster
 public @interface CustomMiniYarnClusterTest {

   Class[] classes() default { CustomMiniYarnClusterTest.Config.class };

   @Configuration
   public static class Config {

     @Bean
     public String myCustomBean() {
       return "myCustomBean";
     }

   }

 }
 

Author:
Janne Valkealahti

Optional Element Summary
 java.lang.Class<?>[] classes
          Defaults to empty configuration.
 java.lang.String clusterName
           
 java.lang.String configName
           
 java.lang.String id
           
 boolean inheritInitializers
           
 boolean inheritLocations
           
 java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer<? extends org.springframework.context.ConfigurableApplicationContext>>[] initializers
           
 java.lang.String[] locations
           
 java.lang.String name
           
 int nodes
           
 

configName

public abstract java.lang.String configName
See Also:
MiniYarnCluster.configName()
Default:
"yarnConfiguration"

clusterName

public abstract java.lang.String clusterName
See Also:
MiniYarnCluster.clusterName()
Default:
"yarnCluster"

id

public abstract java.lang.String id
See Also:
MiniYarnCluster.id()
Default:
"default"

nodes

public abstract int nodes
See Also:
MiniYarnCluster.nodes()
Default:
1

locations

public abstract java.lang.String[] locations
See Also:
ContextConfiguration.locations()
Default:
{}

classes

public abstract java.lang.Class<?>[] classes
Defaults to empty configuration.

See Also:
ContextConfiguration.classes()
Default:
org.springframework.yarn.test.context.MiniYarnClusterTest.Config.class

initializers

public abstract java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer<? extends org.springframework.context.ConfigurableApplicationContext>>[] initializers
See Also:
ContextConfiguration.initializers()
Default:
{}

inheritLocations

public abstract boolean inheritLocations
See Also:
ContextConfiguration.inheritLocations()
Default:
true

inheritInitializers

public abstract boolean inheritInitializers
See Also:
ContextConfiguration.inheritInitializers()
Default:
true

name

public abstract java.lang.String name
See Also:
ContextConfiguration.name()
Default:
""

Spring for Apache Hadoop