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


@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
public @interface LimitedConcurrency

This annotation denotes that a remote method will be limited in the amount of concurrent calls it can handle on the server. This annotation takes a string parameter which identifies the name of the "concurrency queue" that limits the number of threads that can execute the method concurrently. The actual number of threads that are allowed to concurrently invoke the method is configured separately on the server side. This annotation does not affect the client side at all - only the server-side invocation of the remote pojo method will be affected.

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.

Unlike other comm annotations, there is no Command configuration property that is analogous to this annotation. In other words, you can only limit the concurrency of remote POJO invocations; you cannot limit the concurrency of raw Commands sent to the server. This makes sense because we want to enforce the rules on the server-side and not rely on clients to turn on concurrency controls (if we did, that would allow rogue clients to be able to circumvent the concurrency controls).

Author:
John Mazzitelli

Required Element Summary
 String value
          The name that identifies the "concurrency queue" that limits the number of threads that can concurrently invoke this method on the server.
 

Element Detail

value

public abstract String value
The name that identifies the "concurrency queue" that limits the number of threads that can concurrently invoke this method on the server.

Returns:
the name identifying the concurrency queue


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