如何在ACTIVITI的TaskListener的实现类中获取session和spring dao的类

yyy_0615 2018-10-26 12:40:34
后台采用的是springMVC+spring+mybatis+activiti

但在TaskListener的实现类中自动注入的session和forActivitiMapper都为null,如下是具体代码:
@Service
public class DepartManagerTaskListener implements TaskListener {

/**
*
*/
private static final long serialVersionUID = 1L;

@Autowired
private HttpSession session;
@Autowired
private ForActivitiMapper forActivitiMapper;

@Override
public void notify(DelegateTask task) {
T_SJ_USER loginUser = (T_SJ_USER) session.getAttribute("loginUser");
List<String> managers = forActivitiMapper.getDepartManager(loginUser.getUser_id());
if(managers != null && managers.size() > 0) {
task.setAssignee(managers.get(0));
}
}

}

ps:我在web.xml中还添加了
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>


请教下该如何获取当前登录用户呢?如何获取spring容器中的其他类?是不是我的写法有什么问题?谢谢指教
...全文
613 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
蜜友 2019-04-10
  • 打赏
  • 举报
回复
activiti的监听器是由activiti自己反向生成的实例,所以在里面无法使用spring管理的实体

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧