java socket连接池_Java - Socket连接池

本文介绍了Java中Socket连接池的实现,包括SocketAdapter类,用于管理连接状态,以及ConnectionManager类,作为连接管理器,负责创建和初始化连接池。在程序结束时,通过ShutdownThread钩子线程注销连接池。此外,还展示了ConnectionProvider接口及其简单实现MyConnectionProvider,该实现包含初始化、获取连接、销毁连接池等功能。
摘要由CSDN通过智能技术生成

1:SocketAdapter类,此类继承了socket,重载了socket类的close方法,目的是当用户关闭socket的时候,我们并不关闭它只是放在连接池内部。

package com.tarena.socketpool;

import java.net.*;

import java.io.IOException;

/**

*

socket连接的简单实现

*

Description:

*

Copyright: Copyright Tarena(c) 2005

*

Company: Tarena

* @author chengxing

* @version 1.0

*/

public class ConnectionAdapter extends  Socket{

/**

* 连接状态

*/

private boolean status=true;

/**

* 默认的构造函数

*/

public ConnectionAdapter() {

super();

}

public ConnectionAdapter(String host,int port)throws UnknownHostException,IOException{

super(host,port);

}

/**

* 判断此连接是否空闲

* @return boolean 空闲返回ture,否则false

*/

public boolean isFree(){

return status;

}

/**

* 当使用此连接的时候设置状态为false(忙碌)

*/

public void setBusy(){

this.status=false;

}

/**

* 当客户端关闭连接的时候状态设置为true(空闲)

*/

public void close(){

System.out.println(Close : set the status is free );

status=true;

}

public void destroy(){

//Close socket connection

close();

// System.out.println(Close success );

}

}

第二个类连接管理器。

package com.tarena.socketpool;

import java.lang.reflect.*;

import java.util.Properties;

/**

*

连接管理器

*

Copyright: Copyright Tarena(c) 2005

*

Company: Tarena

* @author chengxing

* @version 1.0

*/

public class ConnectionManager {

//测试程序默认的连接池实现类

public static final String PROVIDER_CLASS=com.tarena.socketpool.MyConnectionProvider;

//测试程序的默认ip

public static final String HOST=127.0.0.1;

//测试程序的默认端口号

public static final String PORT=9880;

/**

* 注册钩子程序的静态匿名块

*/

static {

//增加钩子控制资源的释放周期

Runtime runtime = Runtime.getRuntime();

Class c = runtime.getClass();

try {

Method m = c.getMethod(addShutdownHook, new Class[] { Thre

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值