`
yangfuchao418
  • 浏览: 167084 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

gearman Java Client

阅读更多


import java.util.concurrent.ExecutionException;

import org.gearman.client.GearmanClient;
import org.gearman.client.GearmanClientImpl;
import org.gearman.client.GearmanJob;
import org.gearman.client.GearmanJobImpl;
import org.gearman.client.GearmanJobResult;
import org.gearman.common.GearmanNIOJobServerConnection;
import org.gearman.util.ByteUtils;

class PrintThread extends Thread{
	  public void run(){
		  ClientTest test=new ClientTest("192.168.101.143", 4730);
               System.out.println(test.reverse("hello"));
     	  }
	}
 public class ClientTest {
	GearmanClient client;
	GearmanNIOJobServerConnection con;
	public ClientTest(String host, int port) {
		con = new GearmanNIOJobServerConnection(host, port);
		client = new GearmanClientImpl();
		client.addJobServer(con);//添加一个任务
	}

	public String reverse(String input) {
		String function = ReverseFunction.class.getCanonicalName();//调用函数
		ReverseFunction rf=new ReverseFunction();
		//String reverseValue=rf.reverseValue(input);
		byte[] data = ByteUtils.toUTF8Bytes(input);
		String value = "";
	
		GearmanJob job = GearmanJobImpl.createJob(function, data, null);
		client.submit(job);
		
		try {
			GearmanJobResult rs = job.get();
			value = ByteUtils.fromUTF8Bytes(rs.getResults());
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ExecutionException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return value;
		
	}
	public  void shutdown()
	{
		if(null==client){
			System.out.println("no client to shutdown");
		}
		client.shutdown();
	}
  public static void main(String[] args) throws Exception {
	  String host="192.168.101.143";
	  int port =4730;
	  String input="woyo";
    ClientTest clientTest=new ClientTest(host, port);
	  /* for(int i=0;i<10;i++){
	      Thread t = new PrintThread();
	      t.start();
	      Thread.sleep(1000);
	    }*/
	   input=clientTest.reverse(input);
	 //  System.out.println(input);
	  clientTest.shutdown();
}
}

分享到:
评论
1 楼 liuxuejin 2013-04-15  
不知道 这个代码能否用于C版的GearMan??

相关推荐

    Gearman java APIs和一个小Demo

    在Java中,我们可以利用 Gearman 的客户端库来与 Gearman 服务器进行交互,执行分布式任务。本篇文章将深入探讨 Gearman 的 Java APIs,并通过一个小 Demo 展示其用法。 ### Gearman 的基本概念 1. **Worker**:...

    java-gearman-service-0.6.6.zip

    java-gearman-service-0.6.6.zip 包,gearman分为3部分,client - server - worker,创建 java 版本的client和worker部分。 其实在gearman中,client和worker的编写不复杂,但是不同厂商提供的API是不大相同的,本...

    java-gearman-service(gearman-java-service)

    java实现gearman的job实现的jar包,包括gearman server,client和work客户端API

    java-gearman-service-0.6.6.jar

    java实现gearman的job实现的jar包,包括gearman server,client和work客户端API

    gearman-distributed-job:熟悉Gearman的分布式工作

    在Java中,我们可以通过使用Gearman Java Client和Worker库来与Gearman Job Server进行交互。这些库提供了API,使得在Java应用中集成Gearman变得简单。例如,`com.gearman`包下的`GearmanClient`类用于创建客户端...

    GearMAN讲解及所带来的变革

    使用方法上,GearMAN通过定义Worker和Client的角色和职责来实现任务的分发与执行。同步调用会阻塞等待结果返回,异步调用则在任务分发后立即返回,由Job服务器根据负载情况来分配任务。此外,GearMAN还支持分优先级...

    gearman-1.0.2.tgz

    - **客户端(Client)**:客户端是提交任务到 Gearman 队列的程序。它们不需要知道任务是如何被处理的,只需要将任务提交给 Gearman 服务器,然后等待结果。 - **服务器(Server)**:服务器是 Gearman 的核心组件...

    gearman-0.8.0.tgz

    齿轮人提供了一系列的命令行工具,如`gearmand`(服务器)和`gearman-client`(客户端),这些工具可以帮助开发者测试和调试任务处理流程。 7. **监控与管理**: 对于生产环境,监控齿轮人的运行状态非常重要。...

    pecl-gearman:libgearmanPHP包装器

    Gearman支持多种编程语言,包括C、Python、Perl、Java等,而pecl-gearman就是PHP对Gearman的官方支持。 **libgearman库** libgearman是Gearman的C语言客户端和服务器库。它提供了一系列的API函数,用于连接...

    Java调用SMTP命令发邮件,实现抄送,附件--无需邮件搭建邮件服务器直接发送

    在Java中,我们可以使用`gearman4j`库来与`Gearmand`通信,创建和提交任务。例如: ```java GearmanClient client = new GearmanClient("localhost", 4730); // 创建GearmanClient实例,指定服务器地址和端口 ...

    Gearman::XS在Centos下的编译安装方法

    记住,Gearman支持多种语言的客户端和服务器,包括C、Python、Perl、Java等。选择使用Perl是因为其API功能相对完整。确保你的Gearman服务器已经启动并且配置正确,这样你就可以利用Gearman::XS在你的Perl应用程序中...

    gearmand-1.1.17.tar.gz

    齿轮人支持多种编程语言的客户端库,如PHP、Python、Ruby、Java等。使用客户端,你可以将任务发布到队列,或者从队列中获取任务进行处理。例如,在Python中,可以使用`py-gearman`库来实现: ```python from ...

Global site tag (gtag.js) - Google Analytics