|
![]() |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectsunlabs.brazil.template.Template
sunlabs.brazil.template.QueueTemplate (view source)
public class QueueTemplate
Template class for Managing simple Queues, allowing text communication among sessions. The "name" attribute names the Q. When enqueueing messages, "name" is a white space separated list of queue recipients. When Dequeueing Messages, "name" is the recipient Queue.
The following tags are recognized.
<enqueue name="recipients ..." data=var1 var2 ... varn"
[glob="..." delim="." from="sender" nocreate="true|false"] >
<dequeue name="name" prepend="props prefix"
timelimit="sec">
If "timelimit" has a suffix of "ms", then the time is taken in ms.
<queueinfo name="q_name" prepend="props prefix" clear
remove=true|false create=true|false max=n>
<enqueue name="recipients ..." meta="anything" message="msg"
from="sender" [nocreate="true|false"] >
Nested Class Summary | |
---|---|
static class |
QueueTemplate.Queue
Create an object queue. |
static class |
QueueTemplate.QueueItem
A bag of items to keep on the Q. |
Field Summary | |
---|---|
static String |
Q_ID
|
Fields inherited from class sunlabs.brazil.template.Template |
---|
debug |
Constructor Summary | |
---|---|
QueueTemplate()
|
Method Summary | |
---|---|
static QueueTemplate.QueueItem |
dequeue(String name,
int timelimit)
Program access to the Q. |
static void |
destroyQueue(String name)
Remove a Queue, freeing its resources. |
static boolean |
enqueue(String to,
String from,
Dictionary data,
boolean noCreate,
boolean force)
Allow a message to be enqueued from java code. |
static boolean |
enqueue(String to,
String from,
String message,
String meta,
boolean noCreate,
boolean force)
Deprecated. |
static QueueTemplate.Queue |
getQ(String name)
|
static QueueTemplate.Queue |
getQ(String name,
boolean create)
Return a Q. |
void |
tag_dequeue(RewriteContext hr)
Remove an item from the queue, and generate the appropriate properties. |
void |
tag_enqueue(RewriteContext hr)
Add a text message onto a named queue. |
void |
tag_queueinfo(RewriteContext hr)
Return info about the Q, and optionally clear or remove it. |
Methods inherited from class sunlabs.brazil.template.Template |
---|
done, init |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String Q_ID
Constructor Detail |
---|
public QueueTemplate()
Method Detail |
---|
public void tag_enqueue(RewriteContext hr)
delim
list of queues to send the data too.The property "count" contains the number of recipients for which the message was successfully Queued. The property "error.name" will contain an error message if Queueing failed. In both cases, the template prefix will be prepended. It is not considered an error condition for a message not to be delivered to a non existent Queue if "nocreate" is set.
The experimental attribute "glob" may be used instead of "name", in which case name is taken as the list of "delim" separated tokens named by the first wildcard substring of the matching glob pattern.
public static boolean enqueue(String to, String from, String message, String meta, boolean noCreate, boolean force)
enqueue(String to, String from, Dictionary data,
boolean noCreate, boolean force)
method instead.
to
- The queue namefrom
- The sender of the datamessage
- The message to enqueuemeta
- The meta data, if anynoCreate
- If true, don't create a Q if it doesn't already existforce
- Force item onto Q even if it is closed
public static boolean enqueue(String to, String from, Dictionary data, boolean noCreate, boolean force)
to
- The queue name (only a single q)from
- The sender of the datadata
- a dictionary f name/value pairsnoCreate
- If true, don't create a Q if it doesn'a already existforce
- Force item onto Q even if it is closed
public static void destroyQueue(String name)
public void tag_dequeue(RewriteContext hr)
Note: this tag blocks until an item is received in the Queue (or a timelimit expires). As template processing is synchronized based on sessions, care should be taken to avoid blocking other (unrelated) session based requests while waiting on the queue.
public static QueueTemplate.QueueItem dequeue(String name, int timelimit)
name
- The name of the Q. A new Q will be created if
it doesn't already exist.timelimit
- how long (in ms) to wait before returning
public void tag_queueinfo(RewriteContext hr)
public static QueueTemplate.Queue getQ(String name, boolean create)
public static QueueTemplate.Queue getQ(String name)
|
Version Kenai-svn-r24, Generated 08/18/09 Copyright (c) 2001-2009, Sun Microsystems. |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |