whoas/docs/html5/javadoc/com/github/lookout/whoas/RedisQueue.html

476 lines
19 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
<title>RedisQueue (whoas 0.3.0 API)</title>
<meta name="date" content="2015-04-06">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="RedisQueue (whoas 0.3.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../com/github/lookout/whoas/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/github/lookout/whoas/RedisQueue.html" target="_top">Frames</a></li>
<li><a href="RedisQueue.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.com.github.lookout.whoas.AbstractHookQueue">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.github.lookout.whoas</div>
<h2 title="Class RedisQueue" class="title">Class RedisQueue</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">com.github.lookout.whoas.AbstractHookQueue</a></li>
<li>
<ul class="inheritance">
<li>com.github.lookout.whoas.RedisQueue</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">RedisQueue</span>
extends <a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></pre>
<div class="block">A redis queue that offers distributed and persistent queue</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.com.github.lookout.whoas.AbstractHookQueue">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;com.github.lookout.whoas.<a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></h3>
<code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html#started">started</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueue.html#RedisQueue--">RedisQueue</a></span>()</code>
<div class="block">Default constructor</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueue.html#RedisQueue-redis.clients.jedis.JedisPool-">RedisQueue</a></span>(redis.clients.jedis.JedisPool&nbsp;pool)</code>
<div class="block">Allow users to provide their own <code>JedisPool</code> instance</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueue.html#RedisQueue-com.github.lookout.whoas.WhoasQueueConfig-">RedisQueue</a></span>(<a href="../../../../com/github/lookout/whoas/WhoasQueueConfig.html" title="class in com.github.lookout.whoas">WhoasQueueConfig</a>&nbsp;queueConfig)</code>
<div class="block">Create the RedisQueue with valid config</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueue.html#getSize--">getSize</a></span>()</code>
<div class="block">Return the number of elements in the queue</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueue.html#pop-com.github.lookout.whoas.QueueAction-">pop</a></span>(<a href="../../../../com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas">QueueAction</a>&nbsp;action)</code>
<div class="block">Performs a blocking pop on the queue and invokes the closure with the
item popped from the queue
If the Closure throws an exception, the dequeued item will be returned
to the tail end of the queue</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.Boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueue.html#push-com.github.lookout.whoas.HookRequest-">push</a></span>(<a href="../../../../com/github/lookout/whoas/HookRequest.html" title="class in com.github.lookout.whoas">HookRequest</a>&nbsp;request)</code>
<div class="block">Attempt to insert the request into the queue
If the request cannot be inserted, this method will return false,
otherwise true.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueue.html#start--">start</a></span>()</code>
<div class="block">Setup the Redis client</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueue.html#stop--">stop</a></span>()</code>
<div class="block">Stop the Redis client</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueue.html#withRedis-com.github.lookout.whoas.RedisQueueAction-">withRedis</a></span>(<a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas">RedisQueueAction</a>&nbsp;action)</code>
<div class="block">Allocate redis client from the pool</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="RedisQueue-com.github.lookout.whoas.WhoasQueueConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RedisQueue</h4>
<pre>public&nbsp;RedisQueue(<a href="../../../../com/github/lookout/whoas/WhoasQueueConfig.html" title="class in com.github.lookout.whoas">WhoasQueueConfig</a>&nbsp;queueConfig)</pre>
<div class="block">Create the RedisQueue with valid config</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>queueConfig</code> - necessary configuration to connect to Redis</dd>
</dl>
</li>
</ul>
<a name="RedisQueue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RedisQueue</h4>
<pre>public&nbsp;RedisQueue()</pre>
<div class="block">Default constructor</div>
</li>
</ul>
<a name="RedisQueue-redis.clients.jedis.JedisPool-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>RedisQueue</h4>
<pre>public&nbsp;RedisQueue(redis.clients.jedis.JedisPool&nbsp;pool)</pre>
<div class="block">Allow users to provide their own <code>JedisPool</code> instance</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pool</code> - an already set up pool</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSize</h4>
<pre>public&nbsp;int&nbsp;getSize()
throws java.lang.Exception</pre>
<div class="block">Return the number of elements in the queue</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html#getSize--">getSize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Size of the queue, if not implemented by the provider, returns -1</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - implementors may throw Exceptions</dd>
</dl>
</li>
</ul>
<a name="start--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start()</pre>
<div class="block">Setup the Redis client</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html#start--">start</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></code></dd>
</dl>
</li>
</ul>
<a name="stop--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;stop()</pre>
<div class="block">Stop the Redis client</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html#stop--">stop</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></code></dd>
</dl>
</li>
</ul>
<a name="pop-com.github.lookout.whoas.QueueAction-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pop</h4>
<pre>public&nbsp;void&nbsp;pop(<a href="../../../../com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas">QueueAction</a>&nbsp;action)
throws java.lang.Exception</pre>
<div class="block">Performs a blocking pop on the queue and invokes the closure with the
item popped from the queue
If the Closure throws an exception, the dequeued item will be returned
to the tail end of the queue</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html#pop-com.github.lookout.whoas.QueueAction-">pop</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>action</code> - a <code>QueueAction</code> to invoke</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - the underlying <code>QueueAction</code> may throw any form of exception</dd>
</dl>
</li>
</ul>
<a name="push-com.github.lookout.whoas.HookRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>push</h4>
<pre>public&nbsp;java.lang.Boolean&nbsp;push(<a href="../../../../com/github/lookout/whoas/HookRequest.html" title="class in com.github.lookout.whoas">HookRequest</a>&nbsp;request)
throws com.fasterxml.jackson.core.JsonProcessingException,
java.lang.Exception</pre>
<div class="block">Attempt to insert the request into the queue
If the request cannot be inserted, this method will return false,
otherwise true.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html#push-com.github.lookout.whoas.HookRequest-">push</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>request</code> - A <code>HookRequest</code> to enqueue</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the <code>HookRequest</code> was successfully added to the queue</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - implementors may throw Exceptions</dd>
<dd><code>com.fasterxml.jackson.core.JsonProcessingException</code></dd>
</dl>
</li>
</ul>
<a name="withRedis-com.github.lookout.whoas.RedisQueueAction-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>withRedis</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;withRedis(<a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas">RedisQueueAction</a>&nbsp;action)
throws java.lang.Exception</pre>
<div class="block">Allocate redis client from the pool</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>action</code> - callback to invoke with a <code>Jedis</code> object from the
pool</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>propogates a generic <code>Object</code> up from the <code>RedisQueueAction</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - propogates underlying Jedis exceptions</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../com/github/lookout/whoas/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/github/lookout/whoas/RedisQueue.html" target="_top">Frames</a></li>
<li><a href="RedisQueue.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.com.github.lookout.whoas.AbstractHookQueue">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>