2010-08-09 91 views
1

我想在Glassfish的2.1設置一個計時器的無狀態EJB:Glassfish計時器服務:我做錯了什麼?

@Stateless(mappedName = "ServiceEJB") 
public class ServiceEJB implements ServiceEJBRemote { 

    // other methods ... 

    // defining the timer 
    @Schedule(second="*/15", minute="*", hour="*") 
    public void test(){ 
    System.out.println("++++++++ timer!!! ++++++++++++++++++++"); 
    } 

} 

從我讀過,我需要做的就是部署應用程序,這應該工作。我期待在日誌中看到來自方法測試的打印文本(每15秒)。爲了實現這個目標,我還需要採取其他措施嗎?

謝謝!

+0

你能夠創建一個靜態初始化器來確認該類實際上正在加載嗎?例如static {System.out.println(「LOADED ServiceEJB class」);} – 2010-08-09 09:49:02

+0

您確定您使用的是正確的EJB版本嗎? '@ Schedule'註釋是EJB3.1新增的,而Glassfish 2.1附帶EJB3.0。 – musiKk 2010-08-09 09:55:26

+0

@jowierun - 按預期加載課程 @musikk - 我會嘗試使用GF3.0.1並返回此處。 – Bogdan 2010-08-09 10:33:45

回答

1

繼我對這個問題的評論:

@Schedule註釋的EJB 3.1功能。 Glassfish 2.1使用EJB 3,而Glassfish 3使用EJB 3.1,因此應該更適合。