Juni 1st, 2006

Timer in SessionBeans

Posted by frank in Java, J2EE

Mit Hilfe des TimerServices können in SessionBeans zeitverzögerte oder auch wiederholte Aufgaben gelöst werden. Durch den J2EE 5 Standard, auch bekannt als EJB3, kann dies sogar mit sehr wenigen Handgriffen erledigt werden. Folgender Code implementiert ein SessionBean mit einem sekündlich wiederholenden Timer:
SessionBean-Interface:

public interface TimerTest {
    public void runTimer();
}

SessionBean-Klasse:

import java.util.Date;

import javax.annotation.Resource;

import javax.ejb.Local;
import javax.ejb.Stateless;

import javax.ejb.Timeout;
import javax.ejb.Timer;

import javax.ejb.TimerService;

@Stateless
@Local(TestTimer.class)
public class TestTimerBean implements TestTimer {

    @Resource
    private TimerService timer;

    public void runTimer() {
        timer.createTimer(new Date(System.currentTimeMillis() + 1000), 1000, “test”);
        System.out.println(“started timerbean”);
    }

    @Timeout
    public void timeout(Timer timer) {
        System.out.println(“timeout “ + timer.getInfo());
    }
}

No Responses to ' Timer in SessionBeans '

Subscribe to comments with RSS or TrackBack to ' Timer in SessionBeans '.

Leave a reply

:mrgreen: :neutral: :twisted: :shock: :smile: :???: :cool: :evil: :grin: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: