/** * 关闭服务器上的策略 * * @param serverList * @author zhangjh 新增日期:2012-9-5 * @since ipmi_task */ private void closePolicy(List<Object[]> serverList, TbPolicy p) { for (Object[] cc : serverList) { TbPolicySever serverPolicy = (TbPolicySever) cc[0]; TbServer server = (TbServer) cc[1]; SerInfo ser = new SerInfo(); ser.setHost(server.getIdracIp()); ser.setUser(server.getIdracUser()); ser.setPasswd(server.getIdracPassword()); PolicyEntity e = ipmiPolicy.getPolicyById( ser, serverPolicy.getPolicyidInServer(), policyType2Domain(p.getPolicyType())); if (e == null) { logger.info( "4.[" + ser.getHost() + "]的<" + serverPolicy.getPolicyidInServer() + ">策略未建立,不必关闭."); continue; } if (e.isPolicyEnabled()) { ipmiPolicy.setPolicyStatus( ser, serverPolicy.getPolicyidInServer(), false, policyType2Domain(p.getPolicyType())); logger.info( "4.设置[" + ser.getHost() + "]的<" + p.getPolicyName() + ">(" + policyType2Name(p.getPolicyType()) + ")策略,策略ID为<" + e.getPolicyId() + ">,,策略状态设置为关闭."); } if (serverPolicy.getBiningState() != 0) { serverPolicy.setBiningType(e.getPolicyType()); serverPolicy.setBiningState(0); policyServerDAO.saveOrUpdate(serverPolicy); } } logger.info("5.关闭绑定该策略的所有服务器,完毕!"); }