public Set<CLEANUP_CATEGORY> getCleanupCategories(boolean instanceSucceeded) { return processCleanupConfImpl.getCleanupCategories(instanceSucceeded); }
public boolean isCleanupCategoryEnabled(boolean instanceSucceeded, CLEANUP_CATEGORY category) { return processCleanupConfImpl.isCleanupCategoryEnabled(instanceSucceeded, category); }
ProcessCleanupConfImpl(TDeployment.Process pinfo) { for( TCleanup cleanup : pinfo.getCleanupList() ) { if( cleanup.getOn() == TCleanup.On.SUCCESS || cleanup.getOn() == TCleanup.On.ALWAYS ) { processACleanup(successCategories, cleanup.getCategoryList()); } if( cleanup.getOn() == TCleanup.On.FAILURE || cleanup.getOn() == TCleanup.On.ALWAYS ) { processACleanup(failureCategories, cleanup.getCategoryList()); } } // validate configurations Set<CLEANUP_CATEGORY> categories = getCleanupCategories(true); if( categories.contains(CLEANUP_CATEGORY.INSTANCE) && !categories.containsAll(EnumSet.of(CLEANUP_CATEGORY.CORRELATIONS, CLEANUP_CATEGORY.VARIABLES))) { throw new ContextException("Cleanup configuration error: the instance category requires both the correlations and variables categories specified together!!!"); } categories = getCleanupCategories(false); if( categories.contains(CLEANUP_CATEGORY.INSTANCE) && !categories.containsAll(EnumSet.of(CLEANUP_CATEGORY.CORRELATIONS, CLEANUP_CATEGORY.VARIABLES))) { throw new ContextException("Cleanup configuration error: the instance category requires both the correlations and variables categories specified together!!!"); } }
assert !aCleanup.getFilterList().isEmpty(); cleanupInfo.setFilters(aCleanup.getFilterList()); ProcessCleanupConfImpl.processACleanup(cleanupInfo.getCategories(), aCleanup.getCategoryList());
initEventList(); this.processCleanupConfImpl = new ProcessCleanupConfImpl(processDescriptor);
public ProcessCleanupConfImpl(TDeployment.Process pinfo) { for( TCleanup cleanup : pinfo.getCleanupList() ) { if( cleanup.getOn() == TCleanup.On.SUCCESS || cleanup.getOn() == TCleanup.On.ALWAYS ) { processACleanup(successCategories, cleanup.getCategoryList()); } if( cleanup.getOn() == TCleanup.On.FAILURE || cleanup.getOn() == TCleanup.On.ALWAYS ) { processACleanup(failureCategories, cleanup.getCategoryList()); } } // validate configurations Set<CLEANUP_CATEGORY> categories = getCleanupCategories(true); if( categories.contains(CLEANUP_CATEGORY.INSTANCE) && !categories.containsAll(EnumSet.of(CLEANUP_CATEGORY.CORRELATIONS, CLEANUP_CATEGORY.VARIABLES))) { throw new ContextException("Cleanup configuration error: the instance category requires both the correlations and variables categories specified together!!!"); } categories = getCleanupCategories(false); if( categories.contains(CLEANUP_CATEGORY.INSTANCE) && !categories.containsAll(EnumSet.of(CLEANUP_CATEGORY.CORRELATIONS, CLEANUP_CATEGORY.VARIABLES))) { throw new ContextException("Cleanup configuration error: the instance category requires both the correlations and variables categories specified together!!!"); } }
public List<CronJob> getCronJobs() { List<CronJob> jobs = new ArrayList<CronJob>(); for(TSchedule schedule : _pinfo.getScheduleList()) { CronJob job = new CronJob(); try { job.setCronExpression(new CronExpression(schedule.getWhen())); for(final TCleanup aCleanup : schedule.getCleanupList()) { CleanupInfo cleanupInfo = new CleanupInfo(); assert !aCleanup.getFilterList().isEmpty(); cleanupInfo.setFilters(aCleanup.getFilterList()); ProcessCleanupConfImpl.processACleanup(cleanupInfo.getCategories(), aCleanup.getCategoryList()); JobDetails runnableDetails = new JobDetails(); runnableDetails.getDetailsExt().put("cleanupInfo", cleanupInfo); runnableDetails.getDetailsExt().put("pid", _pid); runnableDetails.getDetailsExt().put("transactionSize", 10); job.getRunnableDetailList().add(runnableDetails); } jobs.add(job); } catch( ParseException pe ) { __log.error("Exception during parsing the schedule cron expression: " + schedule.getWhen() + ", skipped the scheduled job.", pe); } } return jobs; } }
ProcessConfImpl(QName pid, QName type, long version, DeploymentUnitDir du, TDeployment.Process pinfo, Date deployDate, Map<QName, Node> props, Cache<String, String> states, EndpointReferenceContext eprContext, File configDir, boolean generateProcessEventsAll) { _pid = pid; _version = version; _du = du; _pinfo = pinfo; _deployDate = deployDate; _configDir = configDir; _props = Collections.unmodifiableMap(props); _statesCache = states; _type = type; _inMemory = _pinfo.isSetInMemory() && _pinfo.getInMemory(); this.generateProcessEventsAll = generateProcessEventsAll; this.eprContext = eprContext; propertiesWatchDog = new WatchDog<Map<File, Long>, PropertiesObserver>(new PropertiesMutable(), new PropertiesObserver()); initLinks(); initMexInterceptors(); initEventList(); processCleanupConfImpl = new ProcessCleanupConfImpl(pinfo); initSchedules(); }
public void setProcessCleanupConfImpl(CleanUpListType cleanUpList) { processCleanupConfImpl.getCleanupCategories(true).clear(); processCleanupConfImpl.getCleanupCategories(false).clear(); if (cleanUpList != null) { List<TCleanup.Category.Enum> sucessCategoryList = new ArrayList<TCleanup.Category.Enum>(); sucessCategoryList.add(TCleanup.Category.Enum.forString(categoryType1.getValue())); ProcessCleanupConfImpl.processACleanup(processCleanupConfImpl.getCleanupCategories(true), sucessCategoryList); failCategoryList.add(TCleanup.Category.Enum.forString(categoryType1.getValue())); ProcessCleanupConfImpl.processACleanup(processCleanupConfImpl.getCleanupCategories(false) , failCategoryList);
public List<CronJob> getCronJobs() { List<CronJob> jobs = new ArrayList<CronJob>(); for(TSchedule schedule : _pinfo.getScheduleList()) { CronJob job = new CronJob(); try { job.setCronExpression(new CronExpression(schedule.getWhen())); for(final TCleanup aCleanup : schedule.getCleanupList()) { CleanupInfo cleanupInfo = new CleanupInfo(); assert !aCleanup.getFilterList().isEmpty(); cleanupInfo.setFilters(aCleanup.getFilterList()); ProcessCleanupConfImpl.processACleanup(cleanupInfo.getCategories(), aCleanup.getCategoryList()); JobDetails runnableDetails = new JobDetails(); runnableDetails.getDetailsExt().put("cleanupInfo", cleanupInfo); runnableDetails.setProcessId(_pid); runnableDetails.getDetailsExt().put("transactionSize", 10); job.getRunnableDetailList().add(runnableDetails); } jobs.add(job); } catch( ParseException pe ) { __log.error("Exception during parsing the schedule cron expression: " + schedule.getWhen() + ", skipped the scheduled job.", pe); } } return jobs; }
public boolean isCleanupCategoryEnabled(boolean instanceSucceeded, CLEANUP_CATEGORY category) { return processCleanupConfImpl.isCleanupCategoryEnabled(instanceSucceeded, category); }
public Set<CLEANUP_CATEGORY> getCleanupCategories(boolean instanceSucceeded) { return processCleanupConfImpl.getCleanupCategories(instanceSucceeded); }
ProcessConfImpl(QName pid, QName type, long version, DeploymentUnitDir du, TDeployment.Process pinfo, Date deployDate, Map<QName, Node> props, ProcessState pstate, EndpointReferenceContext eprContext, File configDir, boolean generateProcessEventsAll) { _pid = pid; _version = version; _du = du; _pinfo = pinfo; _deployDate = deployDate; _configDir = configDir; _props = Collections.unmodifiableMap(props); _state = pstate; _type = type; _inMemory = _pinfo.isSetInMemory() && _pinfo.getInMemory(); this.generateProcessEventsAll = generateProcessEventsAll; this.eprContext = eprContext; propertiesWatchDog = new WatchDog<Map<File, Long>, PropertiesObserver>(new PropertiesMutable(), new PropertiesObserver()); initLinks(); initMexInterceptors(); initEventList(); processCleanupConfImpl = new ProcessCleanupConfImpl(pinfo); initSchedules(); }
public List<CronJob> getCronJobs() { List<CronJob> jobs = new ArrayList<CronJob>(); for (TSchedule schedule : processInfo.getScheduleList()) { CronJob job = new CronJob(); try { job.setCronExpression(new CronExpression(schedule.getWhen())); for (final TCleanup aCleanup : schedule.getCleanupList()) { CleanupInfo cleanupInfo = new CleanupInfo(); assert !aCleanup.getFilterList().isEmpty(); cleanupInfo.setFilters(aCleanup.getFilterList()); ProcessCleanupConfImpl.processACleanup(cleanupInfo.getCategories(), aCleanup.getCategoryList()); Scheduler.JobDetails runnableDetails = new Scheduler.JobDetails(); runnableDetails.getDetailsExt(). put(BPELConstants.ODE_DETAILS_EXT_CLEAN_UP_INFO, cleanupInfo); runnableDetails.setProcessId(processId); runnableDetails.getDetailsExt(). put(BPELConstants.ODE_DETAILS_EXT_TRANSACTION_SIZE, 10); job.getRunnableDetailList().add(runnableDetails); } jobs.add(job); } catch (ParseException pe) { log.error("Exception during parsing the schedule cron expression: " + schedule.getWhen() + ", skipped the scheduled job.", pe); } } return jobs; }
public boolean isCleanupCategoryEnabled(boolean instanceSucceeded, CLEANUP_CATEGORY category) { return processCleanupConfImpl.isCleanupCategoryEnabled(instanceSucceeded, category); }
public Set<CLEANUP_CATEGORY> getCleanupCategories(boolean instanceSucceeded) { return processCleanupConfImpl.getCleanupCategories(instanceSucceeded); }