@Documented @Retention(value=RUNTIME) @Target(value={METHOD,FIELD}) public @interface SpringResource
ApplicationContext. Use it whenever you would
like to inject resources specified in Spring application context of XML
configuration.
Logger can be injected into instances of following classes:
ApplicationContext or XML configuration.
Note that Spring resources cannot be peer-class-loaded. They must be available in
every ApplicationContext or Spring XML configuration on every grid node.
For this reason, if injected into a Serializable class, they must
be declared as transient.
The lifecycle of Spring resources is controlled by Spring container.
public class MyGridJob implements ComputeJob {
...
@SpringResource(resourceName = "bean-name")
private transient MyUserBean rsrc;
...
}
or
public class MyGridJob implements ComputeJob {
...
private transient MyUserBean rsrc;
...
@SpringResource(resourceName = "bean-name")
public void setMyUserBean(MyUserBean rsrc) {
this.rsrc = rsrc;
}
...
}
and user resource MyUserResource
public class MyUserResource {
...
@SpringResource(resourceName = "bean-name")
private MyUserBean rsrc;
...
// Inject logger (or any other resource).
@LoggerResource
private IgniteLogger log;
// Inject ignite instance (or any other resource).
@IgniteInstanceResource
private Ignite ignite;
...
}
where spring bean resource class can look like this:
public class MyUserBean {
...
}
and Spring file
<bean id="bean-name" class="my.foo.MyUserBean" singleton="true">
...
</bean>
| Modifier and Type | Required Element and Description |
|---|---|
String |
resourceName
Resource bean name in provided
ApplicationContext to look up
a Spring bean. |
public abstract String resourceName
ApplicationContext to look up
a Spring bean.
Follow @ApacheIgnite
Ignite Fabric : ver. 1.5.11 Release Date : April 8 2016