java集合类深的实例用法
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章主要讲解了"java集合类深的实例用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java集合类深的实例用法"吧!在做云计算xenserve
千家信息网最后更新 2024年11月26日java集合类深的实例用法
这篇文章主要讲解了"java集合类深的实例用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java集合类深的实例用法"吧!
在做云计算xenserverAPI 连接xenserver和关闭xenserver时候,由于有定时任务每分钟刷新一次,定时任务中存取数据时候会经常的连接和关闭xenserver,造成xenserver的连接阻塞,所以把连接放入队列中进行连接和断开…………
/** * xenserverAPI调用接口 * @author hanxuan * @version 2016-12-14 */public class XenPool {private static Logger logger = Logger.getLogger(XenPool.class);private static final int XENSERVER_POOL_CAPACITY=20;private static Map> pool = new ConcurrentHashMap(100);public XenPool(){}public synchronized static Connection getConnect(XenServer xenServer) { URL url =null;try { url = new URL(xenServer.Hostname); } catch (MalformedURLException e) { e.printStackTrace();return null; } String host=url.getHost(); Queue queue = pool.get(host); Connection connection = null;if (queue != null) { Object conn = queue.poll();if (conn != null) { connection = (Connection) conn; } }if (connection==null){try { connection = new Connection(new URL(xenServer.Hostname), XenServer.REPLY_WAIT, XenServer.CONNECT_WAIT); } catch (MalformedURLException e) {logger.error("xenserver[" + xenServer.Hostname + "]建立连接异常!",e); }try { Session.loginWithPassword(connection, xenServer.Username, SystemService.decryptPassword(xenServer.Password), APIVersion.latest().toString()); } catch (Types.XenAPIException e) {logger.error("xenserver[" + xenServer.Hostname + "]XenAPIException异常!",e); } catch (XmlRpcException e) {logger.error("xenserver[" + xenServer.Hostname + "]XmlRpcException异常!",e); } }return connection; }public static void disconnect (Connection connection) { String host= null;try { host = connection.getConfig().getServerURL().getHost(); } catch (Exception e) { e.printStackTrace();return; } Queue queue = pool.get(host);if (queue==null){ queue = new ArrayBlockingQueue(XENSERVER_POOL_CAPACITY);pool.put(host, queue); }boolean flag=queue.offer(connection);if (!flag){//当连接不用时放到队列里 try { Session.logout(connection); } catch (Types.XenAPIException e) {logger.error("xenserver[" + host + "]释放异常!",e); } catch (XmlRpcException e) {logger.error("xenserver[" + host + "]释放异常!",e); } } }}
感谢各位的阅读,以上就是"java集合类深的实例用法"的内容了,经过本文的学习后,相信大家对java集合类深的实例用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
实例
学习
任务
内容
时候
队列
不用
就是
思路
情况
接口
数据
文章
更多
知识
知识点
篇文章
跟着
问题
存取
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
企业运用数据库案例
服务器快速选择usb启动
大专计算机网络技术学啥
数据库框架java
遨游网络技术有限公司
互联网科技公司工资核算制度
饥荒 联机版怎么创造服务器
利用java做软件开发
数据库书查询题
惠州餐饮软件开发联系人
服务器能放在自己的公司吗
同济大学管理学院服务器
唐山移动dns服务器
混音软件开发
云基础服务器生命周期管理
数据库专员
平面设计和网络安全哪个专业好
重庆服务器托管最新市场报价
软件开发工程师高级
简单数据库管理系统实现
网络安全征集内容
信息网络安全工程就业方向
dell服务器调整u盘启动
网易我的世界电脑能加服务器吗
服务器跑yolov5
高级筛选后没有显示数据库
勒索病毒再现网络安全成关注焦点
登录网络安全风险
南阳网络技术培训
杭州高游网络技术地址