起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5927|回复: 3

[结贴] 平台有哪些上下文,及使用方法

[复制链接]

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
发表于 2017-12-20 11:39:52 | 显示全部楼层 |阅读模式
平台有哪些上下文,分别应该在什么时候使用,分别能获取什么样的信息?
及时结贴是个好习惯

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36183
发表于 2017-12-20 14:07:44 | 显示全部楼层
看API中com.justep.system.context.ContextHelper中有个获取Context相关的API

ProcessContext不在这个里面,只能在流程事件中使用
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-12-20 16:39:15 | 显示全部楼层
jishuang 发表于 2017-12-20 14:07
看API中com.justep.system.context.ContextHelper中有个获取Context相关的API

ProcessContext不在这个里面 ...

在业务层,有以下几种类型的上下文:
                1. SessionContext
                        会话上下文,它的作用域是登录到注销。每个用户登录时,业务层创建一个会话上下文,
                直到用户注销或超时为止,都可以在业务层访问这个会话上下文。
                2. RequestContext
                        请求上下文,它的作用域是一个请求内。业务层接收到一个业务请求后,建立一个
                请求上下文,直接此结束为止,都可以在业务层访问这个请求上下文。
                3. ActionContext
                        动作上下文,它的作用域是一个动作内。
                4. ProcessContext
                        流程上下文,它的作用域是一个流程动作内。
                       
                它们之间的关系是:
                1. SessionContext包含RequestContext
                2. RequestContext包含ActionContext
                        在RequestContext中,可以包含若干个ActionContext,这些ActionContext
                形成栈式结构,例如请求A动作,在A动作中调用了B动作,在B动作中调用了C动作,假设
                当前正在C动作,ActionContext的结构如下:
                        A动作的ActionContext --> B动作的ActionContext --> C动作的ActionContext
                其中C动作的ActionContext位于栈的最上层。       
                3. ActionContext包含一个或零个ProcessContext       
               
上下文的帮助类,提供从上下文中取常用信息的函数
        根据作用范围不一样,上下文有三种:
1. 会话上下文SessioinContext
        作用范围:从用户登录到注销期间。
        创建时机:当用户登录时,会创建一个相应的会话上下文,存储在HttpSession中。
        销毁时机:当用户注销时,会销毁相应的会话上下文。
        会话上下文与标准的HttpSession类似,可以跨请求、跨页面共享数据。在登录之后,注销期间,用户都可以通过以下的方式获取会话上下文
SessionContext sc = ContextHelper.getSessionContext();
2. 请求上下文RquestContext
        作用范围:一次请求过程中。
        创建时机:当一个请求到达BIZ服务时,会创建一个相应的请求上下文,存储在会话上下文中。
        销毁时机:当一个BIZ请求结束时,会销毁相应的请求上下文。
RequestContext rc = ContextHelper.getRequestContext();
3. 动作上下文ActionContext
        作用范围:一个动作Action的执行期间;
        创建时机:当一个业务层动作执行之前,会创建一个相应的动作上下文,以栈的方式存储在请求上下文中。
        销毁时机:当某个业务层动作执行结束时,会从请求上下文中移除相应的动作上下文件。
        在一个请求上下文中,允许是同时存在多个动作上下文(动作嵌套调用的情况),动作上下文在请求上下文中是一个栈结构,当前动作上下文
是指正在执行的动作的上下文。
ActionContext ac = ContextHelper.getActionContext();



动作上下文
        在一次请求过程中,允许在动作执行过程中,调用别的动作。每个动作执行过程,会有一个自己的
动作上下文。所以,在一个请求上下文中,允许同时存在多个动作上下文,这些动作上下文形成一个栈
结构。
        动作上下文的获取方式:ContextHelper.getRequestContext().getActionContext();
        在动作上下文中,可以获取以下的信息:
        1. 动作执行相关的环境:Process, Activity, Executor
        2. 动作的参数以及返回结果
        3. 修改动作的参数以及返回结果

流程上下文
        通过流程上下文,可以获取当前流程引擎的以下信息:
        1. 当前任务
                ProcessContext.getTask();
        2. 当前流程控制信息
                ProcessContext.getProcessControl();
        3. 当前流程实例
                ProcessContext.getPI();
        4. 当前环节实例
                ProcessContext.getAI();



及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2017-12-20 16:39:31 | 显示全部楼层
江苏院-吴昊 发表于 2017-12-20 16:39
在业务层,有以下几种类型的上下文:
                1. SessionContext
                        会话上下文,它的作用域是登录到注销。每个 ...

结贴把
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-1 10:39 , Processed in 0.062527 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表