org.rhq.core.communications.command.annotation
Annotation Type Asynchronous


@Documented
@Retention(value=RUNTIME)
@Target(value={METHOD,TYPE})
public @interface Asynchronous

This annotation denotes that a remote method invocation (or all method invocations, if annotating a type) will be sent asynchronously. You can explicitly turn off asynchronous mode by setting the value attribute to false. You can optionally define if the invocation is to have guaranteed delivery or not.

This annotation must be used within an interface, as opposed to a class definition, in order for it to take effect. In other words, when you write your remote POJO, this annotation must be used in the remote POJO's interface - not its implementation class.

Author:
John Mazzitelli

Optional Element Summary
 boolean guaranteedDelivery
          When true, the asynchronous invocation will have guaranteed delivery enabled meaning that a best effort will be made to invoke the method, even in the event of a network or server/client crash.
 boolean value
          When true, the method (or methods if annotating an interface) will be sent asynchronously.
 

value

public abstract boolean value
When true, the method (or methods if annotating an interface) will be sent asynchronously.

Returns:
asynchronous flag (default is true)
Default:
true

guaranteedDelivery

public abstract boolean guaranteedDelivery
When true, the asynchronous invocation will have guaranteed delivery enabled meaning that a best effort will be made to invoke the method, even in the event of a network or server/client crash.

Returns:
guaranteed delivery flag (default is false)
Default:
false


Copyright © 2008-2011 Red Hat, Inc.. All Rights Reserved.