无法从计划任务中获取安全上下文

时间:2017-06-12 10:04:07

标签: cuba-platform

我收到错误

Think what @NamNH mentioned in your other question.

在核心模块上使用计划任务在应用程序启动时执行一次任务:

@Override
    public void onResume(){
        super.onResume();

        if(!anim.hasStarted()){
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    imageView.startAnimation(anim);
                },200);
        }
    }

我在注入的身份验证实例上尝试了@Authenticated注释和authentication.begin()。

它似乎只是由调度触发的错误,我也有一个空方法体的错误。

我也对替代方法持开放态度,考虑到我需要使用事务而@PostConstruct AppContext.Listener不允许我这样做。

1 个答案:

答案 0 :(得分:1)

也许您正在调用服务方法。拦截此类调用并检查是否存在有效的用户会话,因此它应该在调用时已存在。当从客户端或已经过身份验证的中间件代码调用服务时,它可以正常工作。

在您的情况下,我建议从服务中提取逻辑到托管bean,并从服务和调度程序中调用它。

对于function eligibleAbout(state = { ids: [] }, action = {}){ switch (action.type) { case ADD_DATA: // set according to requirement. case ADD_SELECT: return { ...state, ids: [].concat(state.ids, action.data), } case REMOVE_SELECT: return { ...state, ids: state.ids.filter((id, index) => (index !== action.data)), } default: return state } } ,在AppContext.Listener方法中,您可以执行任何操作,包括程序化事务管理。