说明:官网gearman.org反转字符串demo的java版本
1.环境:JDK1.7
所需jar包:java-gearman-service-0.6.6.jar(最新的jar包,用此jar包要求jdk7)
slf4j-api-1.6.4.jar
slf4j-simple-1.6.4.jar
2.代码:
//client端代码
package com.broada.gearman; import org.gearman.Gearman; import org.gearman.GearmanClient; import org.gearman.GearmanJobEvent; import org.gearman.GearmanJobReturn; import org.gearman.GearmanServer; public class EchoClient { public static void main(String... args) throws InterruptedException { //创建一个Gearman实例 Gearman gearman = Gearman.createGearman(); //创建一个Gearman client GearmanClient client = gearman.createGearmanClient(); /* * 创建一个jobserver * * Parameter 1: job server的IP地址 * Parameter 2: job server监听的端口 * *job server收到client的job,并将其分发给注册worker * */ GearmanServer server = gearman.createGearmanServer( EchoWorker.ECHO_HOST, EchoWorker.ECHO_PORT); // 告诉客户端,提交工作时它可以连接到该服务器 client.addServer(server); /* * 向job server提交工作 * * Parameter 1: gearman function名字 * Parameter 2: 传送给job server和worker的数据 * * GearmanJobReturn返回job发热结果 */ GearmanJobReturn jobReturn = client.submitJob( EchoWorker.ECHO_FUNCTION_NAME, ("Hello World!").getBytes()); //遍历作业事件,直到我们打到最后文件 while (!jobReturn.isEOF()) { //下一个作业事件 GearmanJobEvent event = jobReturn.poll(); switch (event.getEventType()) { case GEARMAN_JOB_SUCCESS: //job执行成功 System.out.println(new String(event.getData())); break; case GEARMAN_SUBMIT_FAIL: //job提交失败 case GEARMAN_JOB_FAIL: //job执行失败 System.err.println(event.getEventType() + ": " + new String(event.getData())); default: } } //关闭 gearman.shutdown(); } }
//worker端代码
package com.broada.gearman; import org.gearman.Gearman; import org.gearman.GearmanFunction; import org.gearman.GearmanFunctionCallback; import org.gearman.GearmanServer; import org.gearman.GearmanWorker; public class EchoWorker implements GearmanFunction { //function name public static final String ECHO_FUNCTION_NAME = "reverse"; //job server地址 public static final String ECHO_HOST = "192.168.125.131"; //job server监听的端口 public static final int ECHO_PORT = 4730; public static void main(String... args) { //创建一个Gearman实例 Gearman gearman = Gearman.createGearman(); /* * 创建一个jobserver * * Parameter 1: job server的IP地址 * Parameter 2: job server监听的端口 * *job server收到client的job,并将其分发给注册worker * */ GearmanServer server = gearman.createGearmanServer( EchoWorker.ECHO_HOST, EchoWorker.ECHO_PORT); //创建一个Gearman的worker GearmanWorker worker = gearman.createGearmanWorker(); //告诉工人如何执行工作(主要实现了GearmanFunction接口) worker.addFunction(EchoWorker.ECHO_FUNCTION_NAME, new EchoWorker()); //worker连接服务器 worker.addServer(server); } @Override public byte[] work(String function, byte[] data, GearmanFunctionCallback callback) throws Exception { //work方法实现了GearmanFunction接口中的work方法,本实例中进行了字符串的反写 if(data != null){ String str = new String(data); StringBuffer sb = new StringBuffer(str); return sb.reverse().toString().getBytes(); }else{ return "未接收到data".getBytes(); } } }
*ECHO_HOST = "192.168.125.131"为安装了Gearman并开启geramand服务的主机地址
*int ECHO_PORT = 4730默认端口为4730
相关推荐
gearman-java-0.03,这是一个有关gearman-java-0.03相关的java源代码
Gearman java API和一个小Demo
java实现gearman的job实现的jar包,包括gearman server,client和work客户端API
gearman的java库有两个,一个是gearman service ,一个是gearman java,相比来说service版本更好用一些,并且网上的教程一般是用的这个版本。因此我打好了gearman service的包提供给需要的开发者使用。
java-gearman-service-0.6.6.zip 包,gearman分为3部分,client - server - worker,创建 java 版本的client和worker部分。 其实在gearman中,client和worker的编写不复杂,但是不同厂商提供的API是不大相同的,本...
gearman java 0.6.6版本 java-gearman-service-0.6.6.jar
实测可用
实测可用
Gearman是一个分发任务的程序框架,可以用在各种场合,与Hadoop相比,Gearman更偏向于任务分发功能。它的 任务分布非常 简单,简单得可以只需要用脚本即可完成。Gearman最初用于LiveJournal的图片resize功能,由于...
实测可用
实测可用
java实现gearman的job实现的jar包,包括gearman server,client和work客户端API
gearman下载gearman下载gearman下载gearman下载gearman下载
Gearman中文手册,gearman手册chm,Gearman中文详解,分享gearman技术心得,主要是为了分享技术,所以不要大家的资源分。
gearman 文档,gearman 是个集群计算框架,通过对其扩展能够充分利用集群计算
Gearman 的C#开发API和一个简单自带demo,vs2008.
Gearman中文手册,gearman手册chm,Gearman中文详解,分享gearman技术心得,主要是为了分享技术,所以不要大家的资源分。
GearMAN讲解及所带来的变革 全面介绍Gearman原理、应用
Gearman环境搭建可能会用到的资料. gearmand-1.1.12.tar.gz libevent-2.0.22-stable.tar.gz libuuid-1.0.3.tar.gz
Laravel开发-php-gearman Gearman作业服务器工人助手