Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

13
respostas

Syso não está aparecendo no console

Após subir o servidor, não está sendo escrito de 10 em 10 segs.

package br.com.bring.timer;

import javax.ejb.Schedule;
import javax.ejb.Singleton;
import javax.ejb.Startup;

@Singleton
@Startup
public class Agendador {
    @Schedule(hour="*",minute="*",second="*/10", persistent=false)
    void agendado () {
        System.out.println("VERIFICANDO");

    }

}
13 respostas

Olá, Daniel.

Qual servidor de aplicação você está usando?

Oi Daniel,

Já tentou usar a assinatura com cron?

@Scheduled(cron = "*/10 * * * * *")

Fonte: http://blog.alura.com.br/agendando-tarefas-com-scheduled-do-spring/

Avisa aí se deu certo.

Abraço.

Eu uso o Wildfly 8.0 como application.

Tentei por o Cron no annotation porém o java não entende o "cron"

Olá, Daniel e Rafael.

Essa @Scheduled, com o d no final, é do Spring: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/annotation/Scheduled.html

Como está a parte do <timer-service> na sua configuração?

Oi Alexandre

Eu fiz apenas esse código copiando da demonstração do curso. Será que é alguma configuração no Wildfly? ou o @Startup não está funcionando?

Pode ser configuração!

Como está o seu standalone.xml?

Aliás, é essa configuração que você está usando?

Eu não mexi no standalone.xml do Wildfly. O que especificamente preciso ver la?

Não tem muito segredo.

Deveria estar tipo assim:

            <timer-service thread-pool-name="default" default-data-store="default-file-store">
                <data-stores>
                    <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                </data-stores>
            </timer-service>

Hm entendi. Ele está assim:

<timer-service thread-pool-name="default" default-data-store="default-file-store">
    <data-stores>
        <file-data-store name="default-file-store" relative-to="jboss.server.data.dir" path="timer-service-data"/>
    </data-stores>
</timer-service>

Igualzinho!

Faz o seguinte. Vá no standalone/data e apague o diretório timer-service-data.

Quem sabe! :)

Nada ;(

Não é possível que vou ter que usar outra aplicação haha

Ih! Muito estranho mesmo... :(

Valeu Alexandre,

Nem reparei que um era Schedule e o outro Scheduled.

Qual erro ocorre, Daniel?

Além de não imprimir, aparece algo na saída do console do servidor de aplicação?