JSR 289中增加了两个新的类:
(1)public interface ConvergedHttpSession extends javax.servlet.http.HttpSession

这个类提供了访问与HttpSession相关的功能实体的方法,这种情况只发生在聚合的HTTP/SIP容器中。在聚合容器中,HttpSession的实例将被转换成ConvergedHttpSession

类型。

定义的方法如下:

SipApplicationSession getApplicationSession():如果SipApplicationSession存在,则返回;如果不存在,则创建一个新的应用会话,并且在与converged http session关联之后返回。

java.lang.String encodeURL(java.lang.String url):这个方法将HTTP URL与jsessionid进行编码,";jsessionid=http-session-id"。返回编码之后的URL。

java.lang.String encodeURL(java.lang.String relativePath, java.lang.String scheme):将给定的相对路径转化为一个绝对URL,通过附加给定的协议类型(http或https)、当前ServletContext的contextPath和host:port,并将得到的URL与jsessionid进行编码,返回编码后的URL。

(2)public interface SipSessionsUtil

一个实用工具类,为聚合的HTTP/SIP应用和聚合的Java EE/SIP应用提供支持。这个类可通过ServletContext参数javax.servlet.sip.SipSessionsUtil或插入@Resource注解来访问。定义的方法如下:

SipApplicationSession getApplicationSessionById(java.lang.String applicationSessionId):对于给定的applicationSessionId返回相应的SipApplicationSession。参数applicationSessionId字符串与SipApplicationSession.getId()返回值类型相同。只有应用会话属于触发这个方法的应用时,应用会话才会被返回。

SipApplicationSession getApplicationSessionByKey(java.lang.String applicationSessionKey, boolean create):对于给定的applicationSessionKey返回相应的SipApplicationSession。参数applicationSessionKey字符串与SipFactory#createApplicationSessionByKey所用参数类型相同。只有应用会话属于触发这个方法的应用时,应用会话才会被返回。

SipSession getCorrespondingSipSession(SipSession session, java.lang.String headerName):返回相关的SipSession。适用于RFC 3911定义的会话加入(session joining)和RFC 3891定义的会话替换(session replacement)。

此外,还有一些机制用以支持Converged Application。

Encoding URLs:这一机制使得应用将HTTP URL与SipApplicationSession id一起进行编码。编码之后的URL通过某种机制发送给外部的UA。当带有这一URL的HTTP请求返回给聚合容器时,容器必须将这一新的HttpSession与编码的SipApplicationSession进行关联。这一机制类似于encodeURI()作用于SIP session。

从协议会话到应用会话:在一个聚合应用中,经常需要从SIP session或者HTTP Session访问SipApplicationSession。SipSession有一个方法getApplicationSession()来解决此问题;对于HTTP session来讲,则需要使用javax.servlet.sip.ConvergedHttpSession接口来访问,此接口提供了一些有用的方法。

Converged Containers and Applications相关推荐

  1. 使用ArchR分析单细胞ATAC-seq数据(第四章)

    本文首发于我的个人博客, http://xuzhougeng.top/ 往期回顾: 使用ArchR分析单细胞ATAC-seq数据(第一章) 使用ArchR分析单细胞ATAC-seq数据(第二章) 使用 ...

  2. devops和docker_通过免费的2小时Docker课程学习DevOps基础知识

    devops和docker Docker is a powerful DevOps tool for putting your apps into "containers." Do ...

  3. 在 .NET Compact Framework 2.0 中宿主 ActiveX 控件

    适用于: ActiveX Microsoft .NET Compact Framework 版本 2.0 摘要:了解如何在使用 .NET Compact 的应用程序中宿主 ActiveX 控件.本文提 ...

  4. cordova项目适配iPhoneX

    iPhoneX适配踩坑浅谈 Apple每次退出新尺寸的iphone都会掀起一番适配风波,这次没有下巴但有刘海的iPhoneX更是如此,网传横屏下的适配动画更是令不少人汗颜. 其实对于Native Ap ...

  5. .NET及.NET Core系统架构

    .NET 官方架构指南 Microservices and Docker Containers Web Applications with ASP.NET 官网地址:https://www.micro ...

  6. Docker 核心知识点 可视化仪表盘

    作者:半身风雪 上一节:Docker run 掌握核心技术 简介:在学习 Docker 的过程中,我们打交道最多的,除了命令,那就是重中之重的 Dashboard 仪表盘了,这节我将带领大家一起来学习 ...

  7. A002-185-2537-翁格婉(个人期末作业)

    Excel查找结合项目主题说明 1.作业查词说明 1.1第一次查词 1.1.1Requirements baseline(需求基线) 1.1.2Enterprise Architect(企业架构师) ...

  8. 【跟我学oracle18c】第二十九天:Multitenant :19 Monitoring CDBs and PDBs

    全是数据字典 19 Monitoring CDBs and PDBs You can view information about CDBs and PDBs using SQL*Plus or SQ ...

  9. Linking Containers Together

    Docker container中services/applications与主机或者其它containers之间通信的两种方式 port mapping(端口映射) container linkin ...

最新文章

  1. np.random.get_state()
  2. 重磅!Uber发布史上最简单的深度学习框架Ludwig!不懂编程也能玩转人工智能
  3. linux虚拟网卡上网,Linux添加虚拟网卡的多种方法
  4. Anaconda安装后找不到conda.exe
  5. JavaEE平台学习之 01开发第一个Servlet程序
  6. 【超详细教程】告别证书,图文并茂教你免签名XX,三种方法任你选!超简单...
  7. 浅析JSP动态网页开发技术
  8. mysql中查看虚拟环境_进程、虚拟环境、mysql
  9. 201671010402 词频统计软件项目报告
  10. 微星如何于BIOS中开启/关闭AMD虚拟化技术
  11. gitter 卸载_最佳Gitter频道:数学
  12. 不知道RabbitMQ中Exchange类型Internal是什么意思?这边来~
  13. 黑马程序员最新版JavaWeb基础教程-学习笔记
  14. 实例:用C#.NET手把手教你做微信公众号开发(13)--事件消息处理之取消关注
  15. springboot整合tk-mybatis框架搭建
  16. 向5岁小朋友解释什么是微服务
  17. 怎么用域名访问网站?
  18. 【梳理】数据库系统概论 第8章 数据库编程 8.1 嵌入式SQL 8.2 过程化SQL 8.3 存储过程和函数 8.4 ODBC编程
  19. Games101结合Unity Shader入门精要学习笔记(个人向)
  20. 2022上海市安全员C证考题模拟考试平台操作

热门文章

  1. AI 揭晓答案,2022世界杯冠军已出炉
  2. 苹果原生二维码扫描器
  3. 通过Spark Streaming的window操作实战模拟热点搜索词案例实战
  4. 【热点解读】冬奥会上的中国元素
  5. cots 常见问题解答
  6. @vue3 element-plus 按需引入,默认英文组件修改为中文
  7. OSChina 周日乱弹 —— 蜂蜜真好吃
  8. 【沙龙预告】移动媒体产品新趋势
  9. 5G(IMT-2020)简介
  10. 网络游戏服务器修改时间,如何修改游戏服务器时间