java集合类深的实例用法
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"java集合类深的实例用法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java集合类深的实例用法"吧!在做云计算xenserve
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
企业即时通讯软件开发技术
光遇测试为什么老显示服务器错误
腾讯云应用服务器配置与管理
服务器6379端口是干啥的
网络安全法61条
如何做服务器电脑
5G基带嵌入式软件开发
bgp服务器安全吗
代理服务器调试
软件开发的人怎么称呼
我的软件开发工程师梦作文
数据库怎么还原数据库
软件开发测试外包排名
软件开发技术交流询问哪些问题
山东人工智能软件开发报价
家用的笔记本上面有数据库么
图解服务器端网络
软件开发个人事迹范文
数据库设置编码
网络安全法doc下载
20年软件开发月收入
服务器的可扩展性有哪些
网络安全事件应急方案
电脑上面新建服务器
什么语句用于删除数据库的记录
我的世界服务器跑酷是什么
思科模拟器邮件服务器
网络安全宣传图片大全小学生
浦东新区国际软件开发定做价格
大学的网络安全与信息化怎么样