将@Scheduled EJB方法作为特定用户运行

时间:2015-07-17 14:58:29

标签: java ejb schedule

我有一个带有预定方法的bean。该方法调用另一个EJB的refresh()方法,该方法上有@AroundInvoke拦截器。其中的拦截器调用sessionContext.getCallerPrincipal().getName()来查找调用用户并将该信息写入数据库。当登录用户通过Web界面调用相同的refresh()方法时,一切都很酷。但是,当调度程序调用该方法时,我会看到匿名'而不是数据库中的真实用户名。如何以编程方式将调度方法作为特定用户运行?

1 个答案:

答案 0 :(得分:0)

听起来像@RunAs注释的工作! This question有一个与调度程序一起使用的例子。