public I_C_Queue_Processor createQueueProcessor( final String name, final int poolSize, final int maxPoolSize, final int keepAliveTimeMillis) { final I_C_Queue_Processor queueProcessorDef = InterfaceWrapperHelper.create(ctx, I_C_Queue_Processor.class, ITrx.TRXNAME_None); queueProcessorDef.setName(name); queueProcessorDef.setPoolSize(poolSize); queueProcessorDef.setKeepAliveTimeMillis(keepAliveTimeMillis); InterfaceWrapperHelper.save(queueProcessorDef); return queueProcessorDef; }
@Override public IWorkPackageQueue getQueueForPackageProcessing(final I_C_Queue_Processor processor) { final List<I_C_Queue_PackageProcessor> packageProcessors = Services.get(IQueueDAO.class).retrieveWorkpackageProcessors(processor); final List<Integer> packageProcessorIds = new ArrayList<Integer>(packageProcessors.size()); for (final I_C_Queue_PackageProcessor packageProcessor : packageProcessors) { packageProcessorIds.add(packageProcessor.getC_Queue_PackageProcessor_ID()); } final Properties ctx = InterfaceWrapperHelper.getCtx(processor); final String priorityFrom = processor.getPriority(); return WorkPackageQueue.createForQueueProcessing(ctx, packageProcessorIds, priorityFrom); }