首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kestrel指南/教程/文档?

Kestrel指南/教程/文档?
EN

Stack Overflow用户
提问于 2012-06-06 18:10:22
回答 2查看 1.1K关注 0票数 2

我试着看看Kestrel是如何工作的,但我甚至在Java中找到一个可以使用它作为库的工作示例也有一些困难。

是否有人有链接或可以帮助我设置队列?

我已经找到了this,但它在上一个版本上不起作用。:/

EN

回答 2

Stack Overflow用户

发布于 2013-04-19 03:50:51

我也有同样的问题。我找到了这个链接,它显示了一个使用PHP创建的客户端。我可以使用它作为创建Java客户端的基础:http://blog.shupp.org/2011/05/07/getting-started-with-kestrel-from-a-php-application/

代码语言:javascript
运行
复制
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import net.spy.memcached.MemcachedClient;

public class KestrelClient {
    private MemcachedClient client = null;
    private String kestrelHost = null;
    private int kestrelPort = -1;

    public KestrelClient(final String kestrelHost, final int kestrelPort)
    {
        this.kestrelHost = kestrelHost;
        this.kestrelPort = kestrelPort;

        try
        {
            this.client = new MemcachedClient(new InetSocketAddress(this.kestrelHost, this.kestrelPort));
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }

    public boolean set(final String queueName, final int expiration, final Object data)
    {
        Future<Boolean> setFuture = this.client.set(queueName, expiration, data);

        try
        {
            return setFuture.get().booleanValue();
        }
        catch (InterruptedException e)
        {
            e.printStackTrace();
        }
        catch (ExecutionException e)
        {
            e.printStackTrace();
        }

        return false;
    }

    public Object reliableRead(final String queueName, final int timeout)
    {
        Object object = this.client.get(queueName + "/close/open/t=" + timeout);
        closeReliableRead(queueName);
        return object;
    }

    public void closeReliableRead(final String queueName)
    {
        this.client.get(queueName + "/close");
    }

    public void abortReliableRead(final String queueName)
    {
        this.client.get(queueName + "/abort");
    }
}

它不是完美的,但它应该能让你开始。(对spymemcached的依赖。)

祝好运!

票数 0
EN

Stack Overflow用户

发布于 2013-08-09 09:08:26

我也有同样的问题。我最初使用的是xmemcached客户端,但后来发现使用简单的包装器更容易。这个包装器变成了jestrel,它在Apache许可下可以在这里获得:

https://github.com/cobbzilla/jestrel

我设计jestrel API是为了极其简单。它已经在生产环境中进行了测试,并表现良好。试一试,让我知道你的想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10912174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档