@Transactional(propagation = Propagation.REQUIRED) public Model updateApplications(@RequestBody ListWrap<T> param, Model model) { logger.debug("TX BEGIN add ServerApplication With {} ", param); for (T item : param.getList()) { if (!StringUtils.isEmpty(item.getServer_Id()) || !StringUtils.isEmpty(item.getGroup_Id()) || !StringUtils.isEmpty(item.getApp_Id())) { if (item.isRow_Flag() == false) { if (item.getApp_Ext_Opts() == null || item.getApp_Ext_Opts().isEmpty()) { } else { serverApplicationDao.insServerApplication(item); } } else { if (item.getApp_Ext_Opts() == null || item.getApp_Ext_Opts().isEmpty()) { serverApplicationDao.delServerApplication(item); } else { serverApplicationDao.uptServerApplication(item); } } } else { throw new RuntimeException("Has No Parent Application Config"); } } logger.debug("TX FINISH add ServerApplication With {} ", model); return model; }
@RequestMapping("/application/installer/install") public Model installApplication(@RequestBody ListWrap<InstallerVo> params, Model model) { logger.debug("TX BEGIN get Installer Apps With {} ", params); String failItems = ""; for (InstallerVo param : params.getList()) { if (param.isInstall_Chk()) { ServerApplicationVo appServer = serverApplicationDao.getServerApplication(param); logger.debug("Install Logic Check {} ", appServer); if (appServer != null && !appServer.getInstall_Flag().equals("F")) { if (appServer.getInstall_Flag().equals("P")) { failItems += param.getServer_Name(); continue; // throw new RuntimeException(param.getServer_Name() + // " 설치 진행중"); } // SetProcess Status appServer.setInstall_Flag(AppInstallStatus.NOW_PROCESSING); appServer.setInstall_Status("START"); serverApplicationDao.uptServerApplication(appServer); // Application Installer Bean Info Select ApplicationVo application = applicationDao.getApplication(new ApplicationVo(appServer.getApp_Id())); // getApplicationInstallProcessor Bean AppInstallProcessor processorBean = applicationContext.getBean( application.getApp_Processor_Name(), AppInstallProcessor.class); processorBean.setInstallFlag(true); processorBean.setParam(appServer); // Do Install Start installerPool.excuteJob(processorBean); // getInstall Processor Bean } } } if (!failItems.isEmpty()) { failItems += " 설치 진행중"; model.addAttribute("_rslt", failItems); } else { model.addAttribute("_rslt", "SUCCESS"); } logger.debug("TX FINISH get Installer Apps With {} ", model); return model; }