Как запланировать обслуживание в Apache Феликсе? - PullRequest
1 голос
/ 13 апреля 2020

Я развернул некоторые OSGI декларативных служб в своем комплекте. После запуска моего пакета эти Сервисы активируются и выполняют некоторый код в run () Thread. Тем не менее, я хотел бы запланировать время запуска run ().

@Component(name = "ABC"
          ,immediate = true
          ,enabled = true)
public class test {

    private volatile boolean isStarted;

    @Activate
    public void activate() {
        System.out.println("activate");
        final Thread t = new Thread() {
            public void run() {
                runIt();
            }
        };
        t.setDaemon(true);
        isStarted = true;
        t.start();
    }

    @Deactivate
    public void deactivate() {
        System.out.println("DEactivate");
        isStarted = false;
    }

    private void runIt() {
        while (isStarted) {
            System.out.println("OK");
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}
...