Examples of RunnableTaskDescriptor


Examples of org.fenrir.yggdrasil.core.descriptor.RunnableTaskDescriptor

            try{               
                Runnable task = (Runnable)Class.forName(className).getConstructor().newInstance(null);
                ApplicationContext.getInstance().injectMembers(task);
               
                RunnableTaskDescriptor descriptor = new RunnableTaskDescriptor(task, Integer.parseInt(initialDelay), Integer.parseInt(delay));
                descriptor.setActive("true".equals(active));
                tasks.put(id, descriptor);                
            }
            catch(ClassNotFoundException e){
                log.error("No s'ha trobat la tasca amb nom ${}: ${}", new Object[]{id, e.getMessage(), e});
                throw new ApplicationException("No s'ha trobat la tasca amb nom " + id, e);
View Full Code Here

Examples of org.fenrir.yggdrasil.core.descriptor.RunnableTaskDescriptor

     * @param id
     */
    @Override
    public void scheduleTask(String id)
    {
        RunnableTaskDescriptor descriptor = tasks.get(id);
        // Si no està activa no es fa res
        if(descriptor==null || !descriptor.isActive()){
            log.info("No es planifica tasca inactiva: {}", id);
            return;
        }
       
        log.info("Planificant tasca: {} amb execució {}/{} min.",
                new String[]{id, Integer.toString(descriptor.getInitialDelay()), Integer.toString(descriptor.getDelay())});
       
        /* Es pograma la tasca per la seva execució cada X minuts. Si aquesta tarda
         * Si l'interval de temps entre crides es massa curt i es solapa amb el començament
         * de la següent, aquesta es veura endarrerida
         */
        // Es configura l'scheduler (1 thread)
        ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
        // Tasques periodiques
        if(descriptor.isPeriodicTask()){
            scheduler.scheduleWithFixedDelay(descriptor.getTask(), descriptor.getInitialDelay(), descriptor.getDelay(), TimeUnit.MINUTES);
        }
        // Tasques d'una única execució
        else{
            scheduler.schedule(descriptor.getTask(), descriptor.getInitialDelay(), TimeUnit.MINUTES);
        }
        descriptor.setScheduler(scheduler);
    }
View Full Code Here

Examples of org.fenrir.yggdrasil.core.descriptor.RunnableTaskDescriptor

     * @param id
     */
    @Override
    public void scheduleTask(String id, int initialDelay)
    {
        RunnableTaskDescriptor descriptor = tasks.get(id);
        // Si no està activa no es fa res
        if(descriptor==null || !descriptor.isActive()){
            log.info("No es planifica tasca inactiva: {}", id);
            return;
        }
       
        log.info("Planificant tasca: {} amb execució {}/{} min.",
                new String[]{id, Integer.toString(descriptor.getInitialDelay()), Integer.toString(descriptor.getDelay())});
       
        /* Es pograma la tasca per la seva execució cada X minuts. Si aquesta tarda
         * Si l'interval de temps entre crides es massa curt i es solapa amb el començament
         * de la següent, aquesta es veura endarrerida
         */
        // Es configura l'scheduler (1 thread)
        ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
        // Tasques periodiques
        if(descriptor.isPeriodicTask()){
            scheduler.scheduleWithFixedDelay(descriptor.getTask(), initialDelay, descriptor.getDelay(), TimeUnit.MINUTES);
        }
        // Tasques d'una única execució
        else{
            scheduler.schedule(descriptor.getTask(), initialDelay, TimeUnit.MINUTES);
        }
        descriptor.setScheduler(scheduler);
    }
View Full Code Here

Examples of org.fenrir.yggdrasil.core.descriptor.RunnableTaskDescriptor

    }
   
    @Override
    public void shutdownTask(String id)
    {
        RunnableTaskDescriptor descriptor = tasks.get(id);
        if(descriptor!=null){
            descriptor.getScheduler().shutdown();
        }
    }
View Full Code Here

Examples of org.fenrir.yggdrasil.core.descriptor.RunnableTaskDescriptor

    @Override
    public void shutdownAllTasks()
    {
        Iterator<Entry<String, RunnableTaskDescriptor>> iterator = tasks.entrySet().iterator();
        while(iterator.hasNext()){
            RunnableTaskDescriptor descriptor = iterator.next().getValue();
            descriptor.getScheduler().shutdown();
        }
    }
View Full Code Here

Examples of org.fenrir.yggdrasil.core.descriptor.RunnableTaskDescriptor

    }
   
    @Override
    public boolean isTaskScheduled(String id)
    {
        RunnableTaskDescriptor descriptor = tasks.get(id);
        // TODO Revisar comprobació
        if(descriptor!=null){
            return descriptor.isTaskScheduled();
        }
       
        return false;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.