[jboss-user] [EJB/JBoss] - Jboss 4.2.2 and TimerService
kyle.bober
do-not-reply at jboss.com
Thu Aug 14 15:09:47 EDT 2008
I have a Stateless session bean that is also a WebService. When I attempt to inject a TimerService and create a new timer Instance the TimerService is always returned as null. It seems the TimerService is never injected. I alos attempted injecting the SessionContext as well using @Resource and obtaining the TimerService via the SessionContext but the SessionContext is also null. Here is the code:
package somepackage;
import java.rmi.RemoteException;
import java.util.Date;
import java.util.Set;
import javax.annotation.Resource;
import javax.ejb.Remote;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import javax.ejb.Timeout;
import javax.ejb.Timer;
import javax.ejb.TimerService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import org.jboss.annotation.ejb.RemoteBinding;
import org.jboss.annotation.ejb.Service;
/**
* Class which contains each of the services calls used by the client side.
* @author pcrane
*
*/
@WebService
@Stateless
@Remote(IMemberService.class)
@RemoteBinding(jndiBinding="MemberService/remote")
public class MemberService implements IMemberService
{
// @Resource
// public SessionContext theSessionContext;
@Resource
public TimerService theTimerService;
@Timeout
public void deleteUnauthorizedMembers(Timer aTimer) throws RemoteException
{
Long memberID = (Long) aTimer.getInfo();
MemberServiceImpl.deleteMember(memberID);
}
/* (non-Javadoc)
* @see com.thesearchagency.transformer.services.member.IMemberService#memberServiceUpdateAccount()
*/
@WebMethod
@WebResult(name = "memberID")
public String memberServicePersistMember(@WebParam(name="memberProfile") MemberServiceUser aUser) throws RemoteException
{
TimerService ts = theSessionContext.getTimerService();
ts.createTimer(timerExecutionDate, aUser.getMemberId());
return MemberServiceImpl.memberServicePersistMember(aUser);
}
}
package somepackage;
import java.rmi.RemoteException;
import java.util.Date;
import java.util.Set;
public interface IMemberService
{
String memberServicePersistMember(MemberServiceUser aUser) throws RemoteException;
}
Please help! I ahve been racking my brain on this for a few hours now and Timers should be fairly easy in EJB3.0!
Thanks,
Kyle
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4170643#4170643
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4170643
More information about the jboss-user
mailing list