mirror of https://github.com/reiseburo/whoas
Refactor RedisQueue into Java with additional minor updates
Some logging items were previously missed and the status code 429 as a retryable error has been added in this commit
This commit is contained in:
parent
2d137d80c1
commit
a97996c885
|
@ -4,3 +4,4 @@ whoas.iml
|
|||
*.sw*
|
||||
.gradle/
|
||||
.classpath
|
||||
/bin/
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>All Classes (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -18,6 +18,8 @@
|
|||
<li><a href="com/github/lookout/whoas/InMemoryQueue.html" title="class in com.github.lookout.whoas" target="classFrame">InMemoryQueue</a></li>
|
||||
<li><a href="com/github/lookout/whoas/Publisher.html" title="class in com.github.lookout.whoas" target="classFrame">Publisher</a></li>
|
||||
<li><a href="com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas" target="classFrame"><span class="interfaceName">QueueAction</span></a></li>
|
||||
<li><a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas" target="classFrame">RedisQueue</a></li>
|
||||
<li><a href="com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas" target="classFrame"><span class="interfaceName">RedisQueueAction</span></a></li>
|
||||
<li><a href="com/github/lookout/whoas/SequentialHookRunner.html" title="class in com.github.lookout.whoas" target="classFrame">SequentialHookRunner</a></li>
|
||||
<li><a href="com/github/lookout/whoas/WhoasConfiguration.html" title="interface in com.github.lookout.whoas" target="classFrame"><span class="interfaceName">WhoasConfiguration</span></a></li>
|
||||
<li><a href="com/github/lookout/whoas/WhoasFactory.html" title="class in com.github.lookout.whoas" target="classFrame">WhoasFactory</a></li>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>All Classes (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -18,6 +18,8 @@
|
|||
<li><a href="com/github/lookout/whoas/InMemoryQueue.html" title="class in com.github.lookout.whoas">InMemoryQueue</a></li>
|
||||
<li><a href="com/github/lookout/whoas/Publisher.html" title="class in com.github.lookout.whoas">Publisher</a></li>
|
||||
<li><a href="com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas"><span class="interfaceName">QueueAction</span></a></li>
|
||||
<li><a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></li>
|
||||
<li><a href="com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="interfaceName">RedisQueueAction</span></a></li>
|
||||
<li><a href="com/github/lookout/whoas/SequentialHookRunner.html" title="class in com.github.lookout.whoas">SequentialHookRunner</a></li>
|
||||
<li><a href="com/github/lookout/whoas/WhoasConfiguration.html" title="interface in com.github.lookout.whoas"><span class="interfaceName">WhoasConfiguration</span></a></li>
|
||||
<li><a href="com/github/lookout/whoas/WhoasFactory.html" title="class in com.github.lookout.whoas">WhoasFactory</a></li>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>AbstractHookQueue (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -107,7 +107,7 @@ var activeTableTab = "activeTableTab";
|
|||
<li class="blockList">
|
||||
<dl>
|
||||
<dt>Direct Known Subclasses:</dt>
|
||||
<dd><a href="../../../../com/github/lookout/whoas/InMemoryQueue.html" title="class in com.github.lookout.whoas">InMemoryQueue</a></dd>
|
||||
<dd><a href="../../../../com/github/lookout/whoas/InMemoryQueue.html" title="class in com.github.lookout.whoas">InMemoryQueue</a>, <a href="../../../../com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<br>
|
||||
|
@ -270,10 +270,13 @@ extends java.lang.Object</pre>
|
|||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<h4>getSize</h4>
|
||||
<pre>public abstract int getSize()</pre>
|
||||
<pre>public abstract int getSize()
|
||||
throws java.lang.Exception</pre>
|
||||
<dl>
|
||||
<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>
|
||||
|
@ -299,12 +302,15 @@ extends java.lang.Object</pre>
|
|||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>push</h4>
|
||||
<pre>public abstract java.lang.Boolean push(<a href="../../../../com/github/lookout/whoas/HookRequest.html" title="class in com.github.lookout.whoas">HookRequest</a> request)</pre>
|
||||
<pre>public abstract java.lang.Boolean push(<a href="../../../../com/github/lookout/whoas/HookRequest.html" title="class in com.github.lookout.whoas">HookRequest</a> request)
|
||||
throws java.lang.Exception</pre>
|
||||
<dl>
|
||||
<dt><span class="paramLabel">Parameters:</span></dt>
|
||||
<dd><code>request</code> - A valid <code>HookRequest</code></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>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>AbstractHookRunner (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>HookRequest (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>InMemoryQueue (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>Publisher (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>QueueAction (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
|
|||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../com/github/lookout/whoas/Publisher.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Prev Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/SequentialHookRunner.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Next Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Next Class</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/github/lookout/whoas/QueueAction.html" target="_top">Frames</a></li>
|
||||
|
@ -178,7 +178,7 @@ var activeTableTab = "activeTableTab";
|
|||
<div class="subNav">
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../com/github/lookout/whoas/Publisher.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Prev Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/SequentialHookRunner.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Next Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Next Class</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/github/lookout/whoas/QueueAction.html" target="_top">Frames</a></li>
|
||||
|
|
|
@ -0,0 +1,475 @@
|
|||
<!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 Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Next 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 Frames</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses-noframe.html">All 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: </li>
|
||||
<li>Nested | </li>
|
||||
<li><a href="#fields.inherited.from.class.com.github.lookout.whoas.AbstractHookQueue">Field</a> | </li>
|
||||
<li><a href="#constructor.summary">Constr</a> | </li>
|
||||
<li><a href="#method.summary">Method</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>Detail: </li>
|
||||
<li>Field | </li>
|
||||
<li><a href="#constructor.detail">Constr</a> | </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 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"> </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 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> 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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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> 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> 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> 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 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 RedisQueue(<a href="../../../../com/github/lookout/whoas/WhoasQueueConfig.html" title="class in com.github.lookout.whoas">WhoasQueueConfig</a> 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 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 RedisQueue(redis.clients.jedis.JedisPool 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 int 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> in class <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 void 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> in class <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 void 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> in class <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 void pop(<a href="../../../../com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas">QueueAction</a> 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> in class <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 java.lang.Boolean push(<a href="../../../../com/github/lookout/whoas/HookRequest.html" title="class in com.github.lookout.whoas">HookRequest</a> 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> in class <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 java.lang.Object withRedis(<a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas">RedisQueueAction</a> 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 Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Next 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 Frames</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses-noframe.html">All 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: </li>
|
||||
<li>Nested | </li>
|
||||
<li><a href="#fields.inherited.from.class.com.github.lookout.whoas.AbstractHookQueue">Field</a> | </li>
|
||||
<li><a href="#constructor.summary">Constr</a> | </li>
|
||||
<li><a href="#method.summary">Method</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>Detail: </li>
|
||||
<li>Field | </li>
|
||||
<li><a href="#constructor.detail">Constr</a> | </li>
|
||||
<li><a href="#method.detail">Method</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip.navbar.bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,222 @@
|
|||
<!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>RedisQueueAction (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="RedisQueueAction (whoas 0.3.0 API)";
|
||||
}
|
||||
}
|
||||
catch(err) {
|
||||
}
|
||||
//-->
|
||||
var methods = {"i0":6};
|
||||
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/RedisQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Prev Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/SequentialHookRunner.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Next Class</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/github/lookout/whoas/RedisQueueAction.html" target="_top">Frames</a></li>
|
||||
<li><a href="RedisQueueAction.html" target="_top">No Frames</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_top">
|
||||
<li><a href="../../../../allclasses-noframe.html">All 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: </li>
|
||||
<li>Nested | </li>
|
||||
<li>Field | </li>
|
||||
<li>Constr | </li>
|
||||
<li><a href="#method.summary">Method</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>Detail: </li>
|
||||
<li>Field | </li>
|
||||
<li>Constr | </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="Interface RedisQueueAction" class="title">Interface RedisQueueAction<T></h2>
|
||||
</div>
|
||||
<div class="contentContainer">
|
||||
<div class="description">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<hr>
|
||||
<br>
|
||||
<pre>public interface <span class="typeNameLabel">RedisQueueAction<T></span></pre>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="summary">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ========== 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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </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><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="type parameter in RedisQueueAction">T</a></code></td>
|
||||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html#call-redis.clients.jedis.Jedis-">call</a></span>(redis.clients.jedis.Jedis jedis)</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="details">
|
||||
<ul class="blockList">
|
||||
<li class="blockList">
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<ul class="blockList">
|
||||
<li class="blockList"><a name="method.detail">
|
||||
<!-- -->
|
||||
</a>
|
||||
<h3>Method Detail</h3>
|
||||
<a name="call-redis.clients.jedis.Jedis-">
|
||||
<!-- -->
|
||||
</a>
|
||||
<ul class="blockListLast">
|
||||
<li class="blockList">
|
||||
<h4>call</h4>
|
||||
<pre><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="type parameter in RedisQueueAction">T</a> call(redis.clients.jedis.Jedis jedis)
|
||||
throws java.lang.Exception</pre>
|
||||
<dl>
|
||||
<dt><span class="throwsLabel">Throws:</span></dt>
|
||||
<dd><code>java.lang.Exception</code></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/RedisQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Prev Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/SequentialHookRunner.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">Next Class</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
<li><a href="../../../../index.html?com/github/lookout/whoas/RedisQueueAction.html" target="_top">Frames</a></li>
|
||||
<li><a href="RedisQueueAction.html" target="_top">No Frames</a></li>
|
||||
</ul>
|
||||
<ul class="navList" id="allclasses_navbar_bottom">
|
||||
<li><a href="../../../../allclasses-noframe.html">All 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: </li>
|
||||
<li>Nested | </li>
|
||||
<li>Field | </li>
|
||||
<li>Constr | </li>
|
||||
<li><a href="#method.summary">Method</a></li>
|
||||
</ul>
|
||||
<ul class="subNavList">
|
||||
<li>Detail: </li>
|
||||
<li>Field | </li>
|
||||
<li>Constr | </li>
|
||||
<li><a href="#method.detail">Method</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a name="skip.navbar.bottom">
|
||||
<!-- -->
|
||||
</a></div>
|
||||
<!-- ======== END OF BOTTOM NAVBAR ======= -->
|
||||
</body>
|
||||
</html>
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>SequentialHookRunner (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
|
|||
</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 Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Prev Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/WhoasConfiguration.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Next Class</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
|
@ -278,7 +278,7 @@ extends <a href="../../../../com/github/lookout/whoas/AbstractHookRunner.html" t
|
|||
</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 Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Prev Class</span></a></li>
|
||||
<li><a href="../../../../com/github/lookout/whoas/WhoasConfiguration.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">Next Class</span></a></li>
|
||||
</ul>
|
||||
<ul class="navList">
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>WhoasConfiguration (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>WhoasFactory (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>WhoasQueueConfig (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>com.github.lookout.whoas (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -14,6 +14,7 @@
|
|||
<h2 title="Interfaces">Interfaces</h2>
|
||||
<ul title="Interfaces">
|
||||
<li><a href="QueueAction.html" title="interface in com.github.lookout.whoas" target="classFrame"><span class="interfaceName">QueueAction</span></a></li>
|
||||
<li><a href="RedisQueueAction.html" title="interface in com.github.lookout.whoas" target="classFrame"><span class="interfaceName">RedisQueueAction</span></a></li>
|
||||
<li><a href="WhoasConfiguration.html" title="interface in com.github.lookout.whoas" target="classFrame"><span class="interfaceName">WhoasConfiguration</span></a></li>
|
||||
</ul>
|
||||
<h2 title="Classes">Classes</h2>
|
||||
|
@ -23,6 +24,7 @@
|
|||
<li><a href="HookRequest.html" title="class in com.github.lookout.whoas" target="classFrame">HookRequest</a></li>
|
||||
<li><a href="InMemoryQueue.html" title="class in com.github.lookout.whoas" target="classFrame">InMemoryQueue</a></li>
|
||||
<li><a href="Publisher.html" title="class in com.github.lookout.whoas" target="classFrame">Publisher</a></li>
|
||||
<li><a href="RedisQueue.html" title="class in com.github.lookout.whoas" target="classFrame">RedisQueue</a></li>
|
||||
<li><a href="SequentialHookRunner.html" title="class in com.github.lookout.whoas" target="classFrame">SequentialHookRunner</a></li>
|
||||
<li><a href="WhoasFactory.html" title="class in com.github.lookout.whoas" target="classFrame">WhoasFactory</a></li>
|
||||
<li><a href="WhoasQueueConfig.html" title="class in com.github.lookout.whoas" target="classFrame">WhoasQueueConfig</a></li>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>com.github.lookout.whoas (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -85,6 +85,10 @@
|
|||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas">RedisQueueAction</a><T></td>
|
||||
<td class="colLast"> </td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a href="../../../../com/github/lookout/whoas/WhoasConfiguration.html" title="interface in com.github.lookout.whoas">WhoasConfiguration</a><T extends io.dropwizard.Configuration></td>
|
||||
<td class="colLast">
|
||||
<div class="block">The interface to create the whoas factory based on configuration
|
||||
|
@ -132,13 +136,19 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><a href="../../../../com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></td>
|
||||
<td class="colLast">
|
||||
<div class="block">A redis queue that offers distributed and persistent queue</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a href="../../../../com/github/lookout/whoas/SequentialHookRunner.html" title="class in com.github.lookout.whoas">SequentialHookRunner</a></td>
|
||||
<td class="colLast">
|
||||
<div class="block">The SequentialHookRunner is will dequeue HookRequest items from the
|
||||
configured AbstractHookQueue and publish those webhooks sequentially.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="altColor">
|
||||
<tr class="rowColor">
|
||||
<td class="colFirst"><a href="../../../../com/github/lookout/whoas/WhoasFactory.html" title="class in com.github.lookout.whoas">WhoasFactory</a></td>
|
||||
<td class="colLast">
|
||||
<div class="block">This factory will allow clients of whoas to build
|
||||
|
@ -146,7 +156,7 @@
|
|||
like sequential.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="rowColor">
|
||||
<tr class="altColor">
|
||||
<td class="colFirst"><a href="../../../../com/github/lookout/whoas/WhoasQueueConfig.html" title="class in com.github.lookout.whoas">WhoasQueueConfig</a></td>
|
||||
<td class="colLast">
|
||||
<div class="block">Whoas Queue Configuration</div>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>com.github.lookout.whoas Class Hierarchy (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -78,6 +78,7 @@
|
|||
<li type="circle">com.github.lookout.whoas.<a href="../../../../com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">AbstractHookQueue</span></a>
|
||||
<ul>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="../../../../com/github/lookout/whoas/InMemoryQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">InMemoryQueue</span></a></li>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="../../../../com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">RedisQueue</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="../../../../com/github/lookout/whoas/AbstractHookRunner.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">AbstractHookRunner</span></a>
|
||||
|
@ -95,6 +96,7 @@
|
|||
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
|
||||
<ul>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="../../../../com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">QueueAction</span></a></li>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="../../../../com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">RedisQueueAction</span></a><T></li>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="../../../../com/github/lookout/whoas/WhoasConfiguration.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">WhoasConfiguration</span></a><T></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>Constant Field Values (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>Deprecated List (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>API Help (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>Index (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -108,6 +108,8 @@
|
|||
<dl>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/QueueAction.html#call-com.github.lookout.whoas.HookRequest-">call(HookRequest)</a></span> - Method in interface com.github.lookout.whoas.<a href="com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas">QueueAction</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueueAction.html#call-redis.clients.jedis.Jedis-">call(Jedis)</a></span> - Method in interface com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas">RedisQueueAction</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="com/github/lookout/whoas/package-summary.html">com.github.lookout.whoas</a> - package com.github.lookout.whoas</dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/HookRequest.html#contentType">contentType</a></span> - Variable in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/HookRequest.html" title="class in com.github.lookout.whoas">HookRequest</a></dt>
|
||||
|
@ -134,6 +136,10 @@
|
|||
<dd>
|
||||
<div class="block">Return the number of elements in the queue</div>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueue.html#getSize--">getSize()</a></span> - Method in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dt>
|
||||
<dd>
|
||||
<div class="block">Return the number of elements in the queue</div>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/WhoasConfiguration.html#getWhoasFactory-T-">getWhoasFactory(T)</a></span> - Method in interface com.github.lookout.whoas.<a href="com/github/lookout/whoas/WhoasConfiguration.html" title="interface in com.github.lookout.whoas">WhoasConfiguration</a></dt>
|
||||
<dd> </dd>
|
||||
</dl>
|
||||
|
@ -219,6 +225,14 @@
|
|||
If the Closure throws an exception, the dequeued item will be returned
|
||||
to the tail end of the queue</div>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueue.html#pop-com.github.lookout.whoas.QueueAction-">pop(QueueAction)</a></span> - Method in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dt>
|
||||
<dd>
|
||||
<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>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/WhoasQueueConfig.html#port">port</a></span> - Variable in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/WhoasQueueConfig.html" title="class in com.github.lookout.whoas">WhoasQueueConfig</a></dt>
|
||||
<dd>
|
||||
<div class="block">Port number of the distributed queue server
|
||||
|
@ -250,6 +264,13 @@
|
|||
If the request cannot be inserted, this method will return false,
|
||||
otherwise true.</div>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueue.html#push-com.github.lookout.whoas.HookRequest-">push(HookRequest)</a></span> - Method in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dt>
|
||||
<dd>
|
||||
<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>
|
||||
</dd>
|
||||
</dl>
|
||||
<a name="I:Q">
|
||||
<!-- -->
|
||||
|
@ -270,6 +291,24 @@
|
|||
</a>
|
||||
<h2 class="title">R</h2>
|
||||
<dl>
|
||||
<dt><a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">RedisQueue</span></a> - Class in <a href="com/github/lookout/whoas/package-summary.html">com.github.lookout.whoas</a></dt>
|
||||
<dd>
|
||||
<div class="block">A redis queue that offers distributed and persistent queue</div>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueue.html#RedisQueue-com.github.lookout.whoas.WhoasQueueConfig-">RedisQueue(WhoasQueueConfig)</a></span> - Constructor for class com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dt>
|
||||
<dd>
|
||||
<div class="block">Create the RedisQueue with valid config</div>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueue.html#RedisQueue--">RedisQueue()</a></span> - Constructor for class com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dt>
|
||||
<dd>
|
||||
<div class="block">Default constructor</div>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueue.html#RedisQueue-redis.clients.jedis.JedisPool-">RedisQueue(JedisPool)</a></span> - Constructor for class com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dt>
|
||||
<dd>
|
||||
<div class="block">Allow users to provide their own <code>JedisPool</code> instance</div>
|
||||
</dd>
|
||||
<dt><a href="com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">RedisQueueAction</span></a><<a href="com/github/lookout/whoas/RedisQueueAction.html" title="type parameter in RedisQueueAction">T</a>> - Interface in <a href="com/github/lookout/whoas/package-summary.html">com.github.lookout.whoas</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/HookRequest.html#retries">retries</a></span> - Variable in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/HookRequest.html" title="class in com.github.lookout.whoas">HookRequest</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/AbstractHookRunner.html#run--">run()</a></span> - Method in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/AbstractHookRunner.html" title="class in com.github.lookout.whoas">AbstractHookRunner</a></dt>
|
||||
|
@ -305,6 +344,10 @@
|
|||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/AbstractHookQueue.html#start--">start()</a></span> - Method in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueue.html#start--">start()</a></span> - Method in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dt>
|
||||
<dd>
|
||||
<div class="block">Setup the Redis client</div>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/AbstractHookQueue.html#started">started</a></span> - Variable in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/AbstractHookQueue.html#stop--">stop()</a></span> - Method in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas">AbstractHookQueue</a></dt>
|
||||
|
@ -316,6 +359,10 @@
|
|||
This will only come into effect after the runner has completed it's
|
||||
currently executing work</div>
|
||||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueue.html#stop--">stop()</a></span> - Method in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dt>
|
||||
<dd>
|
||||
<div class="block">Stop the Redis client</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<a name="I:T">
|
||||
<!-- -->
|
||||
|
@ -361,6 +408,10 @@
|
|||
</dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/WhoasQueueConfig.html#WhoasQueueConfig--">WhoasQueueConfig()</a></span> - Constructor for class com.github.lookout.whoas.<a href="com/github/lookout/whoas/WhoasQueueConfig.html" title="class in com.github.lookout.whoas">WhoasQueueConfig</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><span class="memberNameLink"><a href="com/github/lookout/whoas/RedisQueue.html#withRedis-com.github.lookout.whoas.RedisQueueAction-">withRedis(RedisQueueAction)</a></span> - Method in class com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas">RedisQueue</a></dt>
|
||||
<dd>
|
||||
<div class="block">Allocate redis client from the pool</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<a href="#I:A">A</a> <a href="#I:B">B</a> <a href="#I:C">C</a> <a href="#I:D">D</a> <a href="#I:G">G</a> <a href="#I:H">H</a> <a href="#I:I">I</a> <a href="#I:K">K</a> <a href="#I:L">L</a> <a href="#I:P">P</a> <a href="#I:Q">Q</a> <a href="#I:R">R</a> <a href="#I:S">S</a> <a href="#I:T">T</a> <a href="#I:U">U</a> <a href="#I:W">W</a> </div>
|
||||
<!-- ======= START OF BOTTOM NAVBAR ====== -->
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>whoas 0.3.0 API</title>
|
||||
<script type="text/javascript">
|
||||
targetPage = "" + window.location.search;
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<!-- NewPage -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<!-- Generated by javadoc (1.8.0_25) on Fri Apr 03 08:38:57 PDT 2015 -->
|
||||
<!-- Generated by javadoc (1.8.0_25) on Mon Apr 06 10:05:38 PDT 2015 -->
|
||||
<title>Class Hierarchy (whoas 0.3.0 API)</title>
|
||||
<meta name="date" content="2015-04-03">
|
||||
<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>
|
||||
|
@ -82,6 +82,7 @@
|
|||
<li type="circle">com.github.lookout.whoas.<a href="com/github/lookout/whoas/AbstractHookQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">AbstractHookQueue</span></a>
|
||||
<ul>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="com/github/lookout/whoas/InMemoryQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">InMemoryQueue</span></a></li>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueue.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">RedisQueue</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="com/github/lookout/whoas/AbstractHookRunner.html" title="class in com.github.lookout.whoas"><span class="typeNameLink">AbstractHookRunner</span></a>
|
||||
|
@ -99,6 +100,7 @@
|
|||
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
|
||||
<ul>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="com/github/lookout/whoas/QueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">QueueAction</span></a></li>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="com/github/lookout/whoas/RedisQueueAction.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">RedisQueueAction</span></a><T></li>
|
||||
<li type="circle">com.github.lookout.whoas.<a href="com/github/lookout/whoas/WhoasConfiguration.html" title="interface in com.github.lookout.whoas"><span class="typeNameLink">WhoasConfiguration</span></a><T></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -24,8 +24,9 @@ public abstract class AbstractHookQueue {
|
|||
|
||||
/**
|
||||
* @return Size of the queue, if not implemented by the provider, returns -1
|
||||
* @throws Exception implementors may throw Exceptions
|
||||
*/
|
||||
public abstract int getSize();
|
||||
public abstract int getSize() throws Exception;
|
||||
|
||||
/**
|
||||
* @param action a {@code QueueAction} to invoke
|
||||
|
@ -36,6 +37,7 @@ public abstract class AbstractHookQueue {
|
|||
/**
|
||||
* @param request A valid {@code HookRequest}
|
||||
* @return true if the {@code HookRequest} was successfully added to the queue
|
||||
* @throws Exception implementors may throw Exceptions
|
||||
*/
|
||||
public abstract Boolean push(HookRequest request);
|
||||
public abstract Boolean push(HookRequest request) throws Exception;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.github.lookout.whoas;
|
|||
import java.util.concurrent.BlockingQueue;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -49,14 +49,14 @@ public class Publisher {
|
|||
String responseBody = response.readEntity(String.class);
|
||||
}
|
||||
catch (ProcessingException exc) {
|
||||
logger.warn("\"POST\" to url: \"${request.url}\" failed", exc);
|
||||
logger.warn("POST to url \"{}\" failed", request.url, exc);
|
||||
retryableExc = true;
|
||||
}
|
||||
|
||||
if ((retryableExc) || (shouldRetry(response))) {
|
||||
if (request.retries >= this.maxRetries) {
|
||||
logger.error("Giving up on \"POST\" to url: \"${request.url}\" " +
|
||||
"after ${request.retries} retries");
|
||||
logger.error("Giving up on POST to url \"{}\" after {} retries",
|
||||
request.url, request.retries);
|
||||
return false;
|
||||
}
|
||||
request.retries = (request.retries + 1);
|
||||
|
@ -64,7 +64,7 @@ public class Publisher {
|
|||
return this.publish(request);
|
||||
}
|
||||
|
||||
logger.debug("\"POST\" to url: \"${request.url}\" succeeded");
|
||||
logger.debug("POST to url \"{}\" succeeded", request.url);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,8 @@ public class Publisher {
|
|||
}
|
||||
|
||||
/* Enhance your calm and try again */
|
||||
if (response.getStatus() == 420) {
|
||||
if ((response.getStatus() == 420) ||
|
||||
(response.getStatus() == 429)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,59 +1,83 @@
|
|||
package com.github.lookout.whoas
|
||||
package com.github.lookout.whoas;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import redis.clients.jedis.Jedis
|
||||
import redis.clients.jedis.JedisPool
|
||||
import redis.clients.jedis.JedisPoolConfig
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
import java.util.List;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import redis.clients.jedis.Jedis;
|
||||
import redis.clients.jedis.JedisPool;
|
||||
import redis.clients.jedis.JedisPoolConfig;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
||||
/**
|
||||
* A redis queue that offers distributed and persistent queue
|
||||
*/
|
||||
class RedisQueue extends AbstractHookQueue {
|
||||
private WhoasQueueConfig queueConfig
|
||||
private JedisPool pool = null
|
||||
private static Integer maxActiveConnections = 10
|
||||
private static Integer maxIdleConnections = 5
|
||||
private static Integer minIdleConnections = 1
|
||||
private Logger logger = LoggerFactory.getLogger(RedisQueue.class)
|
||||
public class RedisQueue extends AbstractHookQueue {
|
||||
private WhoasQueueConfig queueConfig;
|
||||
private JedisPool pool = null;
|
||||
private static Integer maxActiveConnections = 10;
|
||||
private static Integer maxIdleConnections = 5;
|
||||
private static Integer minIdleConnections = 1;
|
||||
private Logger logger = LoggerFactory.getLogger(RedisQueue.class);
|
||||
|
||||
/**
|
||||
* Create the RedisQueue with valid config
|
||||
*
|
||||
* @param queueConfig necessary configuration to connect to Redis
|
||||
*/
|
||||
RedisQueue(WhoasQueueConfig queueConfig) {
|
||||
this.queueConfig = queueConfig
|
||||
public RedisQueue(WhoasQueueConfig queueConfig) {
|
||||
this.queueConfig = queueConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* Default constructor
|
||||
*/
|
||||
RedisQueue() {
|
||||
queueConfig = new WhoasQueueConfig()
|
||||
public RedisQueue() {
|
||||
queueConfig = new WhoasQueueConfig();
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow users to provide their own {@code JedisPool} instance
|
||||
*
|
||||
* @param pool an already set up pool
|
||||
*/
|
||||
public RedisQueue(JedisPool pool) {
|
||||
this();
|
||||
this.pool = pool;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of elements in the queue
|
||||
*/
|
||||
int getSize() {
|
||||
public int getSize() throws Exception {
|
||||
if (!this.started) {
|
||||
throw new Exception("Queue must be started before this operation is invoked")
|
||||
}
|
||||
return withRedis() { Jedis redisClient ->
|
||||
return redisClient.llen(this.queueConfig.key)
|
||||
throw new Exception("Queue must be started before this operation is invoked");
|
||||
}
|
||||
return ((Integer)withRedis(new RedisQueueAction<Integer>() {
|
||||
@Override
|
||||
public Integer call(Jedis redisClient) {
|
||||
Long size = redisClient.llen(queueConfig.key);
|
||||
return size.intValue();
|
||||
}
|
||||
})).intValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup the Redis client
|
||||
*/
|
||||
@Override
|
||||
void start() {
|
||||
super.start()
|
||||
public void start() {
|
||||
super.start();
|
||||
|
||||
/* Bail early if we already have a valid pool */
|
||||
if (this.pool instanceof JedisPool) {
|
||||
return;
|
||||
}
|
||||
|
||||
logger.debug("Setting up redis queue \"${this.queueConfig.key}\" on the server " +
|
||||
"\"${this.queueConfig.hostname}:${this.queueConfig.port}")
|
||||
"\"${this.queueConfig.hostname}:${this.queueConfig.port}");
|
||||
|
||||
|
||||
/**
|
||||
* Setup jedis pool
|
||||
|
@ -63,37 +87,26 @@ class RedisQueue extends AbstractHookQueue {
|
|||
* multiple jedis instances and use them reliably and efficiently across different
|
||||
* threads
|
||||
*/
|
||||
JedisPoolConfig poolConfig = new JedisPoolConfig()
|
||||
poolConfig.setMaxTotal(maxActiveConnections)
|
||||
poolConfig.setTestOnBorrow(true)
|
||||
poolConfig.setTestOnReturn(true)
|
||||
poolConfig.setMaxIdle(maxIdleConnections)
|
||||
poolConfig.setMinIdle(minIdleConnections)
|
||||
poolConfig.setTestWhileIdle(true)
|
||||
JedisPoolConfig poolConfig = new JedisPoolConfig();
|
||||
poolConfig.setMaxTotal(maxActiveConnections);
|
||||
poolConfig.setTestOnBorrow(true);
|
||||
poolConfig.setTestOnReturn(true);
|
||||
poolConfig.setMaxIdle(maxIdleConnections);
|
||||
poolConfig.setMinIdle(minIdleConnections);
|
||||
poolConfig.setTestWhileIdle(true);
|
||||
|
||||
/* Create the pool */
|
||||
pool = new JedisPool(poolConfig, this.queueConfig.hostname, this.queueConfig.port)
|
||||
pool = new JedisPool(poolConfig, this.queueConfig.hostname, this.queueConfig.port);
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop the Redis client
|
||||
*/
|
||||
@Override
|
||||
void stop() {
|
||||
super.stop()
|
||||
pool.destroy()
|
||||
pool = null
|
||||
}
|
||||
|
||||
/** Allocate redis client from the pool */
|
||||
Object withRedis(Closure closure) {
|
||||
Jedis redisClient = pool.resource
|
||||
try {
|
||||
return closure.call(redisClient)
|
||||
}
|
||||
finally {
|
||||
redisClient.close()
|
||||
}
|
||||
public void stop() {
|
||||
super.stop();
|
||||
pool.destroy();
|
||||
pool = null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -103,35 +116,38 @@ class RedisQueue extends AbstractHookQueue {
|
|||
* If the Closure throws an exception, the dequeued item will be returned
|
||||
* to the tail end of the queue
|
||||
*/
|
||||
void pop(QueueAction action) {
|
||||
public void pop(final QueueAction action) throws Exception {
|
||||
if (action == null) {
|
||||
throw new Exception("Must provide a Closure to RedisQueue.pop()")
|
||||
throw new Exception("Must provide a Closure to RedisQueue.pop()");
|
||||
}
|
||||
|
||||
if (!this.started) {
|
||||
throw new Exception("Queue must be started before this operation is invoked")
|
||||
throw new Exception("Queue must be started before this operation is invoked");
|
||||
}
|
||||
|
||||
withRedis() { Jedis redisClient ->
|
||||
withRedis(new RedisQueueAction<Long>() {
|
||||
@Override
|
||||
public Long call(Jedis redisClient) throws Exception {
|
||||
/**
|
||||
* The blpop returns list of strings (key and value)
|
||||
*/
|
||||
List<String> messages = redisClient.blpop(0, queueConfig.key);
|
||||
|
||||
/**
|
||||
* The blpop returns list of strings (key and value)
|
||||
*/
|
||||
List<String> messages = redisClient.blpop(0, this.queueConfig.key)
|
||||
|
||||
/* If valid, decode message */
|
||||
if (messages) {
|
||||
ObjectMapper mapper = new ObjectMapper()
|
||||
HookRequest request = mapper.readValue(messages.get(1), HookRequest.class)
|
||||
try {
|
||||
action.call(request)
|
||||
} catch (Exception ex) {
|
||||
/* Put this back on the front of the queue */
|
||||
logger.info("\"Pop\" on redis queue failed, pushing it back on front of the queue", ex)
|
||||
redisClient.lpush(this.queueConfig.key, messages.get(1))
|
||||
/* If valid, decode message */
|
||||
if ((messages != null) && (!messages.isEmpty())) {
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
HookRequest request = mapper.readValue(messages.get(1), HookRequest.class);
|
||||
try {
|
||||
action.call(request);
|
||||
} catch (Exception ex) {
|
||||
/* Put this back on the front of the queue */
|
||||
logger.info("\"Pop\" on redis queue failed, pushing it back on front of the queue", ex);
|
||||
return redisClient.lpush(queueConfig.key, messages.get(1));
|
||||
}
|
||||
}
|
||||
return new Long(-1);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -139,16 +155,43 @@ class RedisQueue extends AbstractHookQueue {
|
|||
*
|
||||
* If the request cannot be inserted, this method will return false,
|
||||
* otherwise true.
|
||||
*
|
||||
* @param request A {@code HookRequest} to enqueue
|
||||
*/
|
||||
Boolean push(HookRequest request) {
|
||||
@Override
|
||||
public Boolean push(HookRequest request) throws JsonProcessingException, Exception {
|
||||
if (!this.started) {
|
||||
throw new Exception("Queue must be started before this operation is invoked")
|
||||
throw new Exception("Queue must be started before this operation is invoked");
|
||||
}
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper()
|
||||
String jsonPayload = mapper.writeValueAsString(request)
|
||||
return withRedis() { Jedis redisClient ->
|
||||
return redisClient.rpush(this.queueConfig.key, jsonPayload) != 0
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
final String jsonPayload = mapper.writeValueAsString(request);
|
||||
return (Boolean)withRedis(new RedisQueueAction<Boolean>() {
|
||||
@Override
|
||||
public Boolean call(Jedis redisClient) {
|
||||
System.out.println(String.format("%s %s", queueConfig.key, jsonPayload));
|
||||
redisClient.rpush(queueConfig.key, jsonPayload);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** Allocate redis client from the pool
|
||||
*
|
||||
* @param action callback to invoke with a {@code Jedis} object from the
|
||||
* pool
|
||||
* @throws Exception propogates underlying Jedis exceptions
|
||||
* @return propogates a generic {@code Object} up from the {@code RedisQueueAction}
|
||||
*/
|
||||
protected Object withRedis(RedisQueueAction action) throws Exception {
|
||||
Jedis redisClient = this.pool.getResource();
|
||||
System.out.println(redisClient.toString());
|
||||
try {
|
||||
return action.call(redisClient);
|
||||
}
|
||||
finally {
|
||||
redisClient.close();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
package com.github.lookout.whoas;
|
||||
|
||||
import redis.clients.jedis.Jedis;
|
||||
|
||||
public interface RedisQueueAction<T> {
|
||||
public T call(Jedis jedis) throws Exception;
|
||||
}
|
|
@ -40,6 +40,7 @@ class PublisherSpec extends Specification {
|
|||
201 | false
|
||||
400 | false
|
||||
420 | true
|
||||
429 | true
|
||||
500 | true
|
||||
599 | true
|
||||
}
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
package com.github.lookout.whoas
|
||||
|
||||
import com.fiftyonred.mock_jedis.MockJedis
|
||||
import com.fiftyonred.mock_jedis.MockJedisPool
|
||||
import redis.clients.jedis.Jedis
|
||||
import redis.clients.jedis.JedisPool
|
||||
import redis.clients.jedis.JedisPoolConfig
|
||||
|
||||
import spock.lang.*
|
||||
|
||||
|
||||
class RedisQueueSpec extends Specification {
|
||||
protected MockJedisPool mockPool() {
|
||||
return new MockJedisPool(new JedisPoolConfig(), 'example.com')
|
||||
}
|
||||
|
||||
def "getSize()ing without a start should throw"() {
|
||||
given:
|
||||
|
@ -20,15 +27,13 @@ class RedisQueueSpec extends Specification {
|
|||
|
||||
def "getSize() should return 0 by default"() {
|
||||
given:
|
||||
RedisQueue queue = new RedisQueue()
|
||||
Jedis redisClient = new MockJedis("test")
|
||||
RedisQueue queue = new RedisQueue(mockPool())
|
||||
|
||||
when:
|
||||
queue.start()
|
||||
queue.pool.metaClass.getResource = {redisClient}
|
||||
|
||||
then:
|
||||
queue.getSize() == 0
|
||||
queue.size == 0
|
||||
}
|
||||
|
||||
def "pop()ing without a closure should throw"() {
|
||||
|
@ -64,50 +69,62 @@ class RedisQueueSpec extends Specification {
|
|||
thrown Exception
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/** Spec for testing Jedis interactions with mock-jedis */
|
||||
class RedisQueueMockIntegrationSpec extends RedisQueueSpec {
|
||||
protected RedisQueue queue
|
||||
protected Jedis client
|
||||
protected List<String> store = []
|
||||
|
||||
def setup() {
|
||||
this.queue = new RedisQueue(mockPool())
|
||||
this.client = Mock(MockJedis, constructorArgs: ['example.com'])
|
||||
this.queue.pool.client = this.client
|
||||
|
||||
_ * client.llen(_) >> { this.store.size }
|
||||
}
|
||||
|
||||
def "push() should put onto the internal queue"() {
|
||||
given:
|
||||
RedisQueue queue = new RedisQueue()
|
||||
Jedis redisClient = new MockJedis("test")
|
||||
redisClient.metaClass.rpush = {String key, String payload -> redisClient.lpush(key, payload)}
|
||||
2 * client.rpush(_, _) >> { key, payload -> store << payload[]; return 1 }
|
||||
|
||||
when:
|
||||
queue.start()
|
||||
queue.pool.metaClass.getResource = {redisClient}
|
||||
queue.push(new HookRequest())
|
||||
queue.push(new HookRequest())
|
||||
|
||||
then:
|
||||
queue.getSize() == 2
|
||||
queue.size == 2
|
||||
}
|
||||
|
||||
def "pop() after push should receive a request"() {
|
||||
given:
|
||||
RedisQueue queue = new RedisQueue()
|
||||
Jedis redisClient = new MockJedis("test")
|
||||
redisClient.metaClass.rpush = {String key, String payload -> redisClient.lpush(key, payload)}
|
||||
redisClient.metaClass.blpop = {Integer timeout, String key -> [key, redisClient.lpop(key)]}
|
||||
/* Mock rpush() and just say it pushed one element
|
||||
* Due to some weirdness in Spock's mocking, `payload` comes in as a
|
||||
* list of strings
|
||||
*/
|
||||
1 * client.rpush(_, _) >> { key, payload -> store << payload[0]; return 1 }
|
||||
/* Need to return a stupid List since jedis */
|
||||
1 * client.blpop(_, _) >> { [null, store.pop()] }
|
||||
|
||||
when:
|
||||
queue.start()
|
||||
queue.pool.metaClass.getResource = {redisClient}
|
||||
HookRequest test = new HookRequest()
|
||||
queue.push(test)
|
||||
|
||||
then:
|
||||
queue.getSize() == 1
|
||||
queue.pop() { HookRequest fetched -> fetched == test}
|
||||
queue.getSize() == 0
|
||||
store.size == 1
|
||||
queue.pop { HookRequest fetched -> fetched == test}
|
||||
store.size == 0
|
||||
}
|
||||
|
||||
def "push() on rpush exception should return false"() {
|
||||
given:
|
||||
RedisQueue queue = new RedisQueue()
|
||||
Jedis redisClient = new MockJedis("test")
|
||||
redisClient.metaClass.rpush = {String key, String payload -> throw new Exception("Test Exception")}
|
||||
1 * client.rpush(*_) >> { throw new Exception('Spockd!') }
|
||||
|
||||
when:
|
||||
queue.start()
|
||||
queue.pool.metaClass.getResource = {redisClient}
|
||||
queue.push(new HookRequest())
|
||||
|
||||
then:
|
||||
|
@ -116,13 +133,10 @@ class RedisQueueSpec extends Specification {
|
|||
|
||||
def "pop() on blpop exception simple return, nothing to requeue "() {
|
||||
given:
|
||||
RedisQueue queue = new RedisQueue()
|
||||
Jedis redisClient = new MockJedis("test")
|
||||
redisClient.metaClass.blpop = {Integer timeout, String key -> throw new Exception("Test Exception")}
|
||||
1 * client.blpop(*_) >> { throw new Exception('Spockd!') }
|
||||
|
||||
when:
|
||||
queue.start()
|
||||
queue.pool.metaClass.getResource = {redisClient}
|
||||
queue.pop() { }
|
||||
|
||||
then:
|
||||
|
@ -131,19 +145,16 @@ class RedisQueueSpec extends Specification {
|
|||
|
||||
def "pop() on exception while executing closure should requeue"() {
|
||||
given:
|
||||
RedisQueue queue = new RedisQueue()
|
||||
Jedis redisClient = new MockJedis("test")
|
||||
redisClient.metaClass.rpush = {String key, String payload -> redisClient.lpush(key, payload)}
|
||||
redisClient.metaClass.blpop = {Integer timeout, String key -> [key, redisClient.lpop(key)]}
|
||||
1 * client.rpush(_, _) >> { key, payload -> this.store << payload[0]; return 1 }
|
||||
1 * client.blpop(*_) >> { [null, this.store.pop()] }
|
||||
1 * client.lpush(_, _) >> { key, payload -> this.store << payload[0]; return 1 }
|
||||
|
||||
when:
|
||||
queue.start()
|
||||
queue.pool.metaClass.getResource = {redisClient}
|
||||
queue.push(new HookRequest())
|
||||
queue.pop() { throw new Exception("Test Exception") }
|
||||
|
||||
then:
|
||||
queue.getSize() == 1
|
||||
queue.size == 1
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue