`

使用Executor实现的WebServer

阅读更多
1.通过使用Executor将处理请求任务的提交与它的执行体进行解耦。
eg:
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
/**
 * 用Executor创建数量为100的线程池来构建简易的WebServer
 * @author yale
 *
 */
public class TaskExecutionWebServer
{
	private static final int THREAD_NUM = 100;// 定义线程池中线程数量

	private static final Executor exec = 
			Executors.newFixedThreadPool(THREAD_NUM);
	
	public static void main(String[] args) throws Exception
	{
		ServerSocket socket = new ServerSocket(80);
		
		while(true)
		{
			final Socket connection = socket.accept();
			
			Runnable task = new Runnable(){

				public void run()
				{
					//handelRequest(connection);  
					
				}
				
			};
			exec.execute(task);
		}
	}
	

}




注意:
无论何时当你看到这种形式的代码:

new Thread(runnable).start();

并且你可能最终希望获得一个更加灵活的执行策略时,请认真考虑使用Executor代替Thread。
分享到:
评论

相关推荐

    Azkaban2.5.0 executor-server、web-server下载

    Azkaban分为两个主要组件:Executor Server(执行器服务器)和Web Server(Web服务器),这两个组件在Azkaban2.5.0版本中都有涉及。 **Azkaban Executor Server** 是Azkaban的核心执行部分,负责接收和执行由Web ...

    azkaban-web-server

    - **高可用性**:可以部署多台Azkaban Web Server和Executor Server,实现负载均衡和故障转移。 - **性能调优**:根据实际负载调整Executor Server的数量,优化数据库连接池设置,提高整体性能。 6. **安全与最佳...

    java使用webserver发布服务端和客户端

    在这个项目中,我们将探讨如何使用Java WebServer发布服务端,以及如何创建一个客户端来调用这些服务。 首先,我们从服务端开始。服务端通常包含一个或多个Web服务接口,这些接口定义了可供客户端调用的操作。在JAX...

    1、azkaban介绍、三种(solo-server、two-server和multiple-executor)部署方式及验证

    3. Multiple-Executor Mode:在大型或分布式环境中使用,Web Server和多个Executor Server分布在不同的机器上,同样使用MySQL数据库,提供更高的可扩展性和容错性。 部署Azkaban的Solo Server模式通常涉及以下几个...

    azkaban-web-server-亲测可用

    Azkaban的核心组成部分包括Azkaban Web Server和Azkaban Executor Server。Azkaban Web Server主要负责用户界面、工作流的上传和配置,以及调度逻辑的执行。用户可以通过Web界面提交作业(job)和工作流(workflow)...

    azkaban2.5.0安装插件

    2. **Web Server**(webServer): Azkaban的Web Server提供了一个用户界面,允许用户上传工作流定义、调度作业、查看作业状态和日志。`azkaban-web-server-2.5.0-tar.gz`文件包含了Web Server的代码和资源,包括...

    azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz

    5. **web**:可能包含Executor Server的Web应用资源,虽然Executor Server通常不直接提供Web界面,但这里可能有用于健康检查或其他管理功能的页面。 6. **README**或**docs**:可能包含关于如何安装、配置和运行...

    编译好的azkaban web和exec.zip

    "编译好的azkaban web和exec.zip" 文件包含了Azkaban的主要组成部分——Web服务器和Executor服务,方便用户快速部署和使用,而无需自己进行编译。 **Azkaban Web Server** Azkaban Web Server是Azkaban的前端部分,...

    azkaban 3.4 编译后安装文件,分布式多executor(赠送安装文档)

    5. **启动与停止**:指导用户如何启动Azkaban Server、Web Server和Executor服务,以及在需要时如何停止这些服务。 6. **分布式部署**:详细说明如何在多个机器上部署Executor节点,形成一个集群,以实现任务的负载...

    Schedulis安装文档.pdf

    - HA部署:多个WebServer配合一个或多个ExecutorServer,通过Nginx实现负载均衡和高可用。 4. **普通版环境部署** - 复制、解压安装包。 - 初始化数据库。 - 修改host.properties、Executor Server和Web Server...

    AzkabanV2.5整合包 包含客户端服务端和数据库

    - 启动Executor和WebServer,通常使用start-executor.sh和start-webserver.sh脚本来启动这两个服务。 - 最后,通过Web界面上传项目和定义工作流,设置触发条件,即可开始使用Azkaban调度大数据任务。 4. **与...

    azkaban-web-server-0.1.0-SNAPSHOT.zip

    在部署Azkaban时,首先需要解压"azkaban-web-server-0.1.0-SNAPSHOT"文件,然后配置相关的环境变量,如数据库连接信息、Executor地址等。接着,启动Web服务器和Executor,通过Web界面可以上传工作流定义文件,并进行...

    azkaban-web-server-3.91.0-192-g11b21302.tar.gz

    4. **执行器(Executor)**:Azkaban Web Server与执行器协作,执行器负责实际的作业运行。Web Server接收到用户的执行请求后,会将工作分配给可用的执行器。 5. **权限管理**:Azkaban支持多用户环境,有完善的...

    azkaban2.5.0

    在部署Azkaban 2.5.0时,你需要按照官方文档的指引配置Web Server和Executor,确保它们能正常通信并连接到数据库。同时,你也可能需要根据实际需求调整默认配置,如设置Executor的数量、优化调度策略等。 总之,...

    azkaban2.5安装包

    使用命令行工具,如`tar -zxvf azkaban-executor-server-2.5.0.tar.gz`,`tar -zxvf azkaban-web-server-2.5.0.tar.gz`和`tar -zxvf azkaban-sql-script-2.5.0.tar.gz`分别解压这三个文件。 2. 配置环境变量:在...

    zjt_azkaban155034.rar

    4. **启动服务**:使用`bin/start-azkaban.sh`脚本启动Web Server和Executor。这将启动Azkaban的服务,使其准备好接受工作流的调度和执行。 5. **验证安装**:在浏览器中访问Web Server的URL(通常是`...

    azkaban-db-3.84.4.tar.gz azkaban-exec-server-3.84.4.tar.gz

    3. **执行**:Azkaban Web Server将作业提交给Executor Server执行,Executor Server会按照依赖关系顺序启动作业。 4. **监控**:用户可以通过Web界面实时查看作业执行状态,包括进度、日志输出等。 5. **存储历史**...

    azkban3.84.4安装包

    版本3.84.4的安装包包含了三个核心组件:db、ExecutorServer和WebServer,这些组件共同构成了Azkaban的功能体系。 1. **Azkaban数据库(db)**: Azkaban的数据库是整个系统的基石,用于存储工作流定义、执行历史...

    azkaban.zip

    Azkaban由三个主要组件组成:Azkaban Web Server、Azkaban Executor Server和SQL脚本。下面我们将深入探讨这些组件及其在“azkaban.zip”压缩包中的内容。 首先,`azkaban-web-server-2.5.0.tar.gz`是Azkaban Web ...

    azkaban3.52安装包亲测可用(单机模式和集群模式)

    完成配置后,分别启动solo server或web server和executor server。在浏览器中输入Web服务器的地址,可以登录Azkaban Web界面,进行作业的创建、上传和调度。至此,Azkaban基本安装完成,可以开始使用其强大的工作流...

Global site tag (gtag.js) - Google Analytics