Apusic应用服务器

6.0文档

深圳市金蝶中间件有限公司

2009年06月15日


I. 发行说明
1. 概述
1.1. 关于本发行说明
1.2. 发行说明修订历史记录
2. 金蝶Apusic应用服务器6.0功能修订说明
2.1. 新特性概述
2.2. 新增及增强功能
2.3. 已解决问题(包含Bug修复)
II. 技术概览
3. 概述
4. 体系结构
4.1. Apusic服务器、Apusic域和Apusic实例
4.2. Apusic体系结构组成
5. Apusic Core内核
6. 容器
6.1. Web Container
6.1.1. JSP/Servlet容器
6.1.2. JSF引擎
6.1.3. Portlet容器
6.1.4. 虚拟主机
6.1.5. Http Connector
6.1.6. WebDav
6.2. EJB Container
6.3. Client Container
6.4. 容器Session管理
6.4.1. Http Session
6.4.1.1. In-memory Cache
6.4.1.2. 存储
6.4.1.3. Session Failover
6.4.1.4. Session Stick
6.4.1.5. Session Timeout
6.4.2. Stateful Session Bean
7. 基础服务
7.1. JCA Services
7.2. Naming
7.3. JTA
7.4. 死锁检测
7.5. 并发控制
7.6. JDBC
7.7. JDBC 语句缓存
7.8. 连接池
7.9. JMS
7.10. JavaMail
7.11. JMX
8. Web Services
8.1. Web Services引擎
8.1.1. JAX-WS 规范
8.1.2. 对Java EE 5.0的支持
8.1.3. 金蝶Apusic应用服务器6.0的消息安全机制
8.2. UDDI
9. 安全框架
9.1. JAVA授权和鉴定服务(JAAS)
9.2. Java EE 容器的授权合约(JACC)
9.3. Apusic Security Extensions
9.4. Apusic SSO
9.5. 身份鉴定
9.6. 授权
9.7. 加密
9.8. 安全数据存储
10. 管理与监控
10.1. 管理接口
10.2. 管理工具
10.2.1. Apusic管理控制台
10.2.2. Web管理控制台
10.2.3. Shell Script
11. 集群服务
11.1. Web集群
11.2. JNDI集群
11.3. EJB集群
11.4. JMS集群
11.4.1. 消息路由
11.4.2. 消息队列
12. 技术汇总
13. Apusic Platform
13.1. Apusic Studio
13.2. 金蝶Apusic消息中间件
14. 金蝶Apusic应用服务器6.0新特性
III. 快速开始
15. 概述
15.1. 金蝶Apusic应用服务器6.0的基本介绍
15.2. 相关资源
15.3. 默认路径和文件名
16. 基本功能快速入门
16.1. Apusic应用服务器6.0管理工具
16.2. 启动服务器
16.2.1. 在Windows上启动服务器
16.2.2. 在Linux上启动服务器
16.3. 停止服务器
16.3.1. 在Windows上停止服务器
16.3.2. 在Linux上停止服务器
17. 部署应用程序
17.1. 应用打包和部署简介
17.2. 部署应用程序
17.2.1. 目录结构
17.2.2. 准备工作
17.2.3. 自动部署
17.2.4. 使用appctl工具部署
17.2.5. 通过WebAdmin部署
17.2.6. 通过AdminConsole部署
17.2.7. 通过Apusic Studio部署
18. 配置集群服务
18.1. 创建集群服务
18.2. 开启集群服务
18.3. 查看修改集群服务
19. 使用负载均衡器
19.1. Apusic LoadBalancer
19.1.1. 负载均衡策略
19.1.2. Apusic LoadBalancer的Session复制策略
19.1.3. 失效转移
19.1.4. 配置负载均衡
19.2. 第三方LoadBalancer
19.2.1. Session复制策略
19.2.2. 配置集群
19.2.3. 配置Session复制
20. 小结
IV. 安装指南
21. 前言
22. 系统配置要求
23. 产品安装
23.1. 获取金蝶Apusic应用服务器6.0安装包
23.2. Windows下基于图形界面的安装
23.3. 压缩包方式的安装
24. 安装后的工作
24.1. 了解金蝶Apusic应用服务器6.0的目录结构
24.2. 运行金蝶Apusic应用服务器6.0
24.3. 启动远程管理工具
24.4. 启动并访问信息中心
24.5. 使用FirstStep工具
24.6. 关闭服务器
24.7. 卸载服务器
25. License注册
25.1. 金蝶Apusic应用服务器6.0开发版
25.2. 注册金蝶Apusic应用服务器6.0正式版
V. 管理指南
前言
26. 启动和停止服务器
26.1. 命令行启动或停止服务器
26.1.1. 使用startapusic启动脚本
26.2. 开始菜单(限于Windows)
26.3. Windows系统服务(限于Windows)
26.4. 使用firststep工具启动服务器
27. 配置Classloader
27.1. Classloader的基本概念
27.1.1. 类装载的方式
27.1.2. 一个基本的Classloader的层次结构
27.1.3. 基本的Classloader
27.1.4. 自定义Classloader
27.1.5. Caller Classloader和线程上下文Classloader
27.1.6. JVM中类的唯一性
27.2. Apusic的Classloader体系
27.2.1. JavaEE应用对Classloader的要求
27.2.2. Apusic的Classloader和它们的层次结构
27.2.3. ServletClassLoader的特性
27.2.3.1. 类的动态加载
27.2.3.2. ServletClassLoader的多层结构
27.2.3.3. Session中对象的类动态装载
27.2.3.4. 类装载的Web优先策略
27.2.4. 类装载查看服务
28. 日志服务
28.1. 理解日志服务子系统
28.1.1. 日志管理器(LogManager)
28.1.2. 日志级别
28.1.3. 日志记录器对象(Logger)
28.1.4. 日志输出(Handler)
28.2. 管理与配置
28.2.1. 编辑logging.xml文件
28.2.2. 记录客户端IP
29. 基于JMX的可植入服务配置
29.1. 理解JMX
29.2. 可植入服务命名
29.2.1. 域名(domain name)
29.2.2. 标识属性(key attribute)
29.2.3. 命名的字符串表示
29.3. 配置和管理可植入服务
30. 线程池服务配置
30.1. 默认的公共线程池配置
30.2. 多路复用线程池配置
30.3. WebServer线程池配置
31. 管理多路复用
31.1. 理解多路复用
31.2. 管理与配置
31.2.1. apusic.conf文件中相关配置属性说明
31.2.2. SSL配置
31.2.2.1. TLS/SSL简介
31.2.2.2. 建立自己的认证授权机构CA
31.2.2.3. 生成服务器端证书
31.2.2.4. 颁发并发布个人证书
31.2.2.5. 配置服务器允许双向认证
31.2.2.6. 测试双向认证
32. 管理Apusic Web服务器
32.1. 管理与配置
32.2. 配置Web应用
32.2.1. 部署Web应用
32.2.2. 配置web上下文根路径
32.3. 配置虚拟主机
32.4. WebDAV配置
33. 管理Session服务
33.1. 管理与配置
33.2. 管理Session失效时间
34. 使用Apache作为Web代理
34.1. HTTP Proxy
34.2. AJP Proxy
35. 使用Microsoft IIS作为Web代理
35.1. 理解ACP(Apusic Connector Protocol)
35.2. 安装
35.3. 管理与配置
36. 管理JDBC服务
36.1. 理解数据库连结池
36.2. 数据库连结池管理与配置
36.2.1. 编辑datasources.xml文件
36.2.1.1. datasource元素
36.2.1.2. property
36.2.1.3. remote-acl
36.2.1.4. 结果集缓存
36.2.1.5. 语句缓存
36.2.1.6. 连接失效检测
36.3. 活动连接监控
36.4. JDBC事件监控
37. 消息服务配置
37.1. 理解Apusic消息服务
37.2. 消息路由与存储
37.2.1. 配置消息存储目录
37.2.2. 配置消息路由
37.2.2.1. 理解消息路由
37.2.2.2. 配置和管理路由
37.3. 管理消息服务
37.3.1. 配置连接工厂
37.3.2. 配置消息目的地(Destination)
37.3.2.1. 配置消息队列
37.3.2.2. 配置消息主题
37.3.3. 安全相关配置
37.3.3.1. 安全角色
37.3.3.2. 消息目的地(Destination)访问许可
37.3.3.3. 范例
38. 管理事务服务
38.1. 配置事务服务
39. 管理命名服务
39.1. 配置命名服务
40. 管理应用服务器域
40.1. 应用服务器域的概念
40.2. 应用服务器域的管理
41. 应用服务器安全提供程序
41.1. 安全框架介绍
41.2. 内置安全提供程序
41.2.1. 文件存储配置
41.2.2. JDBC存储配置
41.2.3. LDAP存储配置
41.3. 自定义安全提供程序
41.3.1. 实体信息的存储与读取
41.3.2. 实现身份验证提供程序
41.3.3. 实现授权提供程序
41.3.4. 配置映射
42. 管理集群
42.1. 集群的基本概念及相关术语
42.1.1. 可扩展性(Scalability)
42.1.2. 可用性(Availability)
42.1.3. 可靠性(Reliability)
42.1.4. 失效转移(Fail-Over)
42.1.5. 负载均衡(Load Balance)
42.1.6. 会话粘滞(Session Stick)
42.1.7. 幂等性(Idempotent)
42.2. J2EE集群
42.2.1. 负载均衡
42.2.2. 失效转移
42.3. Apusic集群
42.3.1. Web集群
42.3.1.1. Apusic负载均衡
42.3.1.1.1. 负载均衡策略
42.3.1.1.2. Apusic负载均衡器的Session 复制策略
42.3.1.1.3. 失效转移
42.3.1.1.4. 配置负载均衡
42.3.1.2. 第三方负载均衡
42.3.1.2.1. Session复制策略
42.3.1.2.2. Session的存储
42.3.1.2.3. 配置Web集群
42.3.1.2.4. Web集群失效转移
42.3.1.3. Apusic Session复制粒度
42.3.1.4. Web集群方案
42.3.2. JNDI集群
42.3.2.1. 本地JNDI和JNDI集群
42.3.2.2. JNDI 负载均衡和JNDI失效恢复
42.3.2.3. JNDI集群配置
42.3.3. EJB集群
42.3.3.1. EJB负载均衡和EJB高可用性
42.3.3.2. EJB集群配置
42.3.3.3. EJB集群实践
42.3.4. JMS集群
42.3.4.1. 消息路由
42.3.4.1.1. 理解Apusic消息服务
42.3.4.1.2. 配置消息路由与存储
42.3.4.1.3. 管理消息服务
42.3.4.2. 集群队列
42.3.4.2.1. 配置集群队列
42.3.4.2.2. 使用集群队列
43. 配置和管理工具
43.1. appctl工具
43.2. apclient工具
43.3. firststep工具
43.4. dep工具
43.5. AdminMain工具
43.5.1. 选项
43.5.2. 用法
43.5.3. 关于服务的说明
43.6. JSPC工具
44. 使用Jconsole监控
44.1. 用Jconsole监控和操作Apusic应用服务器
A.
A.1. 附录:jserv.conf
A.2. 附录:缺省的apusic.conf配置文件
A.3. 附录:缺省的datasources.xml配置文件
A.4. 附录:缺省的jms.xml配置文件
A.5. 附录:缺省的logging.xml配置文件
A.6. 附录:缺省的server.xml配置文件
A.7. 附录:缺省的auth.cfg配置文件
A.8. 附录:缺省的clientauth.cfg配置文件
A.9. 附录:缺省的acp_isapi.properties配置文件
VI. 开发指南
45. Web开发手册
45.1. Apusic JSP 开发
45.1.1. JSP概述
45.1.1.1. 什么是JSP
45.1.1.2. JSP如何处理请求
45.1.2. Apusic JSP变动及其升级
45.1.2.1. 从JSP2.0到JSP2.1的主要变动
45.1.2.1.1. JSP 2.1支持统一表达语言Unified Expression Language
45.1.2.2. 从JSP1.2到JSP2.0的主要变动
45.1.2.2.1. JDK要求
45.1.2.2.2. JSP 2.0支持表达语言expression language
45.1.2.2.3. JSP 2.0中加入了JSP fragment
45.1.2.2.4. JSP 2.0中加入了SimpleTag
45.1.3. Apusic JSP开发指南
45.1.3.1. JSP页面的生命周期
45.1.3.2. 初始化和结束一个JSP页面
45.1.3.3. 创建静态内容
45.1.3.4. 创建动态内容
45.1.3.4.1. 使用内置对象
45.1.3.4.2. 对象的作用范围
45.1.3.4.3. JSP元素(Element)
45.1.3.5. 表达式语言
45.1.3.5.1. 使表达式语言失效
45.1.3.5.2. 使用表达式语言
45.1.3.5.3. 变量
45.1.3.5.4. 文字
45.1.3.5.5. 操作符
45.1.3.5.6. 保留关键字
45.1.3.5.7. 举例列表
45.1.3.6. 使用JavaBeans
45.1.3.6.1. JavaBeans 设计惯例
45.1.3.6.2. 创建和使用JavaBeans
45.1.3.6.3. 设置JavaBeans的属性
45.1.3.6.4. 得到JavaBeans 的属性
45.1.3.7. 在JSP页面中包含其他内容
45.1.3.8. 传递控制到其他Web组件
45.1.3.9. 在JSP页面中包含Applet
45.1.3.10. 使用Apusic JSP预编译
45.2. Apusic Http Servlets 开发
45.2.1. Http Servlets 概述
45.2.1.1. 什么是Servlet
45.2.1.2. 使用Servlet的目的
45.2.1.3. Servlet开发概述
45.2.1.4. Servlet与JavaEE
45.2.1.5. Servlet API参考
45.2.2. Apusic Http Servlets变动及其升级
45.2.2.1. 从Servlet2.4到Servlet2.5的主要变动
45.2.2.1.1. 依赖于J2SE5.0
45.2.2.1.2. 支持注解(Annotation)
45.2.2.1.3. 更便利的web.xml的配置
45.2.2.2. 从Servlet2.3到Servlet2.4的变动
45.2.2.2.1. Servlet 2.4版使用XML Schema作为部署描述文件定义
45.2.2.2.2. Servlet 2.4版在加入了ServletRequest监听器
45.2.2.2.3. Servlet 2.4版增强了请求分发器的过滤功能
45.2.2.2.4. Servlet 2.4版可以定义网站的字符编码方式
45.2.3. Apusic Http Servlets编程初步
45.2.3.1. Servlet生命周期
45.2.3.2. 编写一个基本HTTP Servlet的步骤
45.2.3.3. 高级特征
45.2.4. Apusic Http Servlets编程进阶
45.2.4.1. 初始化Servlet
45.2.4.2. 使用注解
45.2.4.2.1. @Resource与@Resources
45.2.4.2.2. @PostConstruct与@PreDestroy
45.2.4.2.3. @EJB
45.2.4.2.4. @WebServiceRef
45.2.4.2.5. @Persistence系列注解
45.2.4.2.6. @DeclareRoles
45.2.4.2.7. @RunAs
45.2.4.3. 编写Service方法
45.2.4.3.1. 取得客户端请求
45.2.4.3.2. 提供HTTP响应
45.2.4.4. 处理多线程情况
45.2.4.5. 维护客户端状态
45.2.4.5.1. 访问Session
45.2.4.5.2. 使属性和Session相关联
45.2.4.5.3. Session管理
45.2.4.5.4. Session跟踪
45.2.4.6. 访问Servlet环境(Servlet Context)
45.2.4.7. 使用Apusic Services
45.2.4.8. 调用其他Web资源
45.2.4.8.1. 包含其他Web资源
45.2.4.8.2. 传递控制给其他Web组件
45.2.4.9. 结束一个Servlet
45.2.5. Apusic Http Servlets高级开发
45.2.5.1. Servlet Filtering
45.2.5.1.1. 编写过滤器类
45.2.5.1.2. 定制请求和响应
45.2.5.1.3. 映射过滤器
45.2.5.2. Application Events
45.2.5.2.1. 配置事件监听类
45.2.5.2.2. 编写事件监听类
45.2.5.2.3. 事件监听类模板
45.3. JSP扩展标记
45.3.1. JSP 扩展标记介绍
45.3.2. 使用扩展标记
45.3.2.1. 声明扩展标记
45.3.2.2. 扩展标记的类型
45.3.3. 定义扩展标记
45.3.3.1. 标记库描述符
45.3.3.2. 标记处理类(Tag Handlers )
45.3.3.3. 简单标记
45.3.3.4. 带属性的标记
45.3.3.5. 带标记体的标记
45.3.3.6. 定义脚本变量的标记
45.3.3.7. 协作标记
45.3.4. 标记处理类如何被调用
45.4. Apusic JSF
45.4.1. 什么是JavaServer Faces?
45.4.2. JSF页面的生命周期
45.4.2.1. 重建视图阶段(Restore View Phase)
45.4.2.2. 应用视图值阶段(Apply Request Values Phase)
45.4.2.3. 处理校验阶段(Process Validations Phase)
45.4.2.4. 更新模型值阶段(Update Model Values Phase)
45.4.2.5. 调用应用阶段(Invoke Application Phase)
45.4.2.6. 显示应答阶段(Render Response Phase)
45.4.3. UI组件模型
45.4.3.1. UI组件类
45.4.3.2. 组件显示模型
45.4.3.3. 转换模型
45.4.3.4. 事件和监听器模型
45.4.3.5. 校验模型
45.4.4. 导航(Navigation)模型
45.4.5. Backing Bean管理
45.4.6. 更多参考:
46. EJB开发手册
46.1. 简介
46.1.1. Enterprise JavaBean简介
46.1.1.1. 作为组件模型的EJB
46.1.1.1.1. 特征
46.1.1.1.2. 使用EJB组件模型的优势
46.1.1.2. EJB组件模型
46.1.1.2.1. 客户端类型
46.1.1.2.2. EJB组件模型的组成部分
46.1.1.3. EJB的类型
46.1.2. Session Bean
46.1.2.1. 什么是Session Bean
46.1.2.2. Session Bean的生存时间
46.1.2.3. 会话状态
46.1.2.3.1. 无状态的Session Bean
46.1.2.3.2. 有状态的Session Bean
46.1.3. Entity Bean
46.1.3.1. 什么是Entity Bean
46.1.3.1.1. Session Bean与Entity Bean
46.1.3.1.2. 容器管理持久性(Container-managed Persistence,CMP)
46.1.3.1.3. 容器管理关系(Container-managed Relationship,CMR)
46.1.3.1.4. 容器管理关系的方向
46.1.3.2. Entity Bean的特征
46.1.3.2.1. 持久性
46.1.3.2.2. 持久业务数据的对象表示
46.1.3.2.3. 表示相同的底层数据的多个Entity Bean实例
46.1.3.2.4. 可查找的Entity Bean
46.1.4. Message-driven Bean
46.1.4.1. Message-driven Bean 的产生原因
46.1.4.2. Message-driven Bean 作为一般的JMS 使用者(consumer)
46.1.4.3. Message-driven Bean 与其他Enterprise Bean
46.1.5. 使用接口定义客户访问
46.1.5.1. 远程访问
46.1.5.2. 本地访问
46.1.5.3. 本地接口与容器管理关系
46.1.5.4. 方法参数和返回值
46.1.5.5. 远程还是本地
46.1.5.6. 执行效率与组件接口类型
46.1.6. Enterprise Bean的内容
46.1.7. EJB组件模型的灵活性
46.1.8. 何时使用EJB组件
46.2. 会话Bean
46.2.1. 会话Bean
46.2.1.1. 容器与会话Bean
46.2.1.2. 会话Bean的会话状态
46.2.1.2.1. 有状态Session Bean实例的钝化与激活
46.2.1.2.2. 会话状态
46.2.1.2.3. 事务操作与状态域
46.2.2. 组件模型单元
46.2.2.1. Home接口
46.2.2.1.1. 远程Home接口
46.2.2.1.2. 本地Home接口
46.2.2.2. 业务(组件)接口
46.2.2.2.1. 远程接口
46.2.2.2.2. 本地接口
46.2.2.3. 组件类
46.2.2.3.1. 在组件类中使用注解
46.2.2.3.2. javax.ejb.SessionBean接口
46.2.2.3.3. SessionContext接口
46.2.2.3.4. 可选的SessionSynchronization接口
46.2.2.3.5. 串行化的会话Bean方法调用
46.2.2.3.6. 业务方法必须遵守的规则
46.2.2.3.7. 代码范例
46.2.3. 生存周期
46.2.3.1. 有状态Session Bean的生存周期
46.2.3.2. 无状态Session Bean的生存周期
46.3. Message-driven Bean
46.3.1. Message-driven Bean
46.3.1.1. Message-driven Bean与EJB容器、客户端、消息系统
46.3.2. 组件模型单元
46.3.2.1. 组件类
46.3.2.1.1. javax.ejb.MessageDrivenBean接口
46.3.2.1.2. javax.jms.MessageListener接口
46.3.2.1.3. javax.ejb.MessageDrivenContext接口
46.3.2.1.4. 串行化的调用
46.3.2.1.5. 消息处理的并发
46.3.2.1.6. Message-driven Bean方法的事务上下文
46.3.2.1.7. 消息接收确认(Message Acknowledgement)
46.3.2.1.8. 指定队列(Queue)或主题(Topic)
46.3.2.1.9. 异常处理
46.3.2.1.10. 遗漏的PreDestroy调用
46.3.2.2. 必须遵守的规则
46.3.2.2.1. 组件类
46.3.2.2.2. onMessage方法
46.3.2.2.3. ejbRemove方法
46.3.3. 生存周期
46.4. Entity Bean
46.4.1. 概览
46.4.1.1. 数据的对象视图
46.4.1.2. 组件结构
46.4.1.3. Primary Key
46.4.2. 客户端
46.4.2.1. JNDI
46.4.2.2. 远程客户
46.4.2.3. 本地客户
46.4.3. 容器与Entity Bean
46.4.3.1. 通过JNDI定位远程Home接口
46.4.3.2. 通过JNDI定位本地Home接口
46.4.4. 组件模型
46.4.4.1. Home接口
46.4.4.1.1. 远程Home接口
46.4.4.1.2. 本地Home接口
46.4.4.2. Primary Key
46.4.4.3. 组件接口
46.4.4.3.1. 远程接口
46.4.4.3.2. 本地接口
46.4.4.4. 组件类
46.4.5. 生存周期
46.5. Bean管理持久性的Entity Bean
46.5.1. 概述
46.5.2. Bean管理持久性的Entity Bean
46.5.2.1. 打开与释放资源
46.5.2.2. 实例的创建
46.5.2.3. 实例状态与持久存储
46.5.2.4. 实例的清除
46.5.3. 必须遵守的规则与范例
46.5.3.1. 组件类
46.5.3.1.1. ejbCreate方法
46.5.3.1.2. ejbPostCreate方法
46.5.3.1.3. ejbRemove方法
46.5.3.1.4. finder方法
46.5.3.1.5. 业务方法
46.5.3.1.6. Home方法
46.5.3.2. Home接口
46.5.3.3. 组件接口
46.5.4. 异常处理
46.5.4.1. 系统级异常
46.5.4.2. 应用级异常
46.5.4.3. 组件异常类型
46.6. 容器管理持久性的Entity Bean
46.6.1. 概述
46.6.2. 容器管理持久性的Entity Bean
46.6.2.1. CMP模型
46.6.2.2. 例子说明
46.6.2.3. 抽象持久性模式(Abstract persistence schema)
46.6.2.3.1. 容器管理持久性域(cmp-field)
46.6.2.3.2. 容器管理关系(cmr)与容器管理关系域(cmr-field)
46.6.2.3.3. 辅助值对象(dependent value object)
46.6.2.3.4. 自动建表与自动生成主键
46.6.2.3.5. 装载单元
46.6.2.3.6. 关系的赋值语义
46.6.2.4. Primary Key
46.6.2.5. 实例的清除
46.6.2.5.1. remove方法
46.6.2.5.2. 级联(cascade)移除
46.6.2.6. Finder方法
46.6.2.6.1. 单个对象的查找
46.6.2.6.2. 多个对象的查找
46.6.2.6.3. 容器自动生成查询
46.6.2.7. Select方法
46.6.2.7.1. 返回单个对象的select方法
46.6.2.7.2. 返回多个对象的select方法
46.6.2.8. 实例的生存周期与开发中的约定
46.6.2.8.1. 实例的生存周期
46.6.2.8.2. 开发中的约定
46.6.3. 必须遵守的规则
46.6.3.1. 类与接口
46.6.3.2. 组件类
46.6.3.3. 辅助类
46.6.3.4. ejbCreate方法
46.6.3.5. ejbPostCreate方法
46.7. EJB QL
46.7.1. 概述
46.7.2. 定义
46.7.2.1. 抽象持久类型与查询范围
46.7.2.2. 命名
46.7.2.3. 范例
46.7.2.4. 返回值类型
46.7.2.5. FROM子句与定位声明
46.7.2.5.1. 标识符(Identifier)
46.7.2.5.2. 标记变量(indentification variables)
46.7.2.5.3. 范围变量声明
46.7.2.5.4. 集合成员变量声明
46.7.2.5.5. 范例
46.7.2.5.6. 路径表达式
46.7.2.5.7. WHERE子句与条件表达式
46.7.2.6. SELECT子句
46.7.2.7. ORDER BY字句
46.7.2.8. NULL值
46.7.2.9. 相等语义
46.7.2.10. 查询语句的限制
46.7.3. 范例
46.7.3.1. 简单查询
46.7.3.2. 使用关系的查询
46.7.3.3. 使用输入参数的查询
46.7.3.4. 定义select方法的查询
46.7.3.5. EJB QL与SQL
46.7.4. EJB QL BNF
46.8. Java Persistence API
46.8.1. 概览
46.8.2. 实体
46.8.2.1. 什么是实体
46.8.2.2. 实体类的一些需求
46.8.2.3. 持久类的持久值域与持久属性
46.8.2.4. 持久值域
46.8.2.5. 持久属性
46.8.2.6. 实体的主键
46.8.2.7. 主键类
46.8.3. 实体的关系
46.8.3.1. 实体关系的多重性
46.8.3.2. 实体关系的方向
46.8.3.2.1. 双向关系
46.8.3.2.2. 单向关系
46.8.3.2.3. 查询与关系方向
46.8.3.2.4. 级联删除关系
46.8.3.3. 实体的继承关系
46.8.3.3.1. 抽象实体
46.8.3.3.2. 映射超类(Mapped superclass)
46.8.3.3.3. 非实体超类
46.8.3.4. 继承结构映射策略
46.8.3.4.1. 单表映射继承结构策略
46.8.3.4.2. 单表映射具体实体类策略
46.8.3.4.3. 子类连接策略
46.8.4. 管理实体
46.8.4.1. 实体管理器Entity Manager
46.8.4.1.1. 容器管理的实体管理器
46.8.4.1.2. 应用管理的实体管理器
46.8.4.1.3. 使用EntityManager查找实例
46.8.4.2. 管理实体实例的生存周期
46.8.4.2.1. 持久化实体实例
46.8.4.2.2. 清除实体实例
46.8.4.2.3. 同步实体数据到数据库
46.8.4.3. 创建查询
46.8.4.4. 查询中的命名参数
46.8.4.5. 查询中的顺序参数
46.8.5. 持久单元
46.8.5.1. persistence.xml文件
46.9. Java持久查询语言
46.9.1. 新特性
46.9.1.1. 批量更新与删除
46.9.1.2. 连接操作
46.9.1.2.1. 内连接(关系连接)
46.9.1.2.2. 左连接(LEFT JOIN)
46.9.1.2.3. 获取连接(FETCH JOIN)
46.9.1.3. GROUP BY和HAVING子句
46.9.1.4. 投影
46.9.1.5. SELECT子句中的构造表达式
46.9.1.6. 子查询
46.9.1.7. 查询中的命名参数
46.9.2. Java持久查询语言BNF
46.10. EJB的环境
46.10.1. 概述
46.10.2. 环境项(environment entry)
46.10.2.1. 访问环境项
46.10.2.2. 设置环境项
46.10.3. EJB引用
46.10.3.1. 访问EJB引用
46.10.3.2. 声明EJB引用
46.10.3.2.1. ejb-link
46.10.4. 资源管理器的连接创建器引用(resource manager connection factory reference)
46.10.4.1. 使用资源管理器的连接创建器引用
46.10.4.2. 声明连接创建器引用
46.10.4.3. 引用的映射
46.10.4.4. 访问引用
46.10.4.5. 标准的连接创建器类型
46.10.5. 资源环境引用(resource environment references)
46.10.5.1. 声明资源环境引用
46.10.5.2. 访问资源环境引用
46.10.6. javax.transaction.UserTransaction接口
46.11. EJB的事务
46.11.1. 概述
46.11.2. 客户端事务与未指明的事务上下文
46.11.3. EJB的事务划分
46.11.3.1. Bean管理事务(程序型的事务划分)
46.11.3.1.1. 使用Bean管理事务的限制
46.11.3.1.2. 事务上下文
46.11.3.2. 容器管理事务(声明型的事务划分)
46.11.3.2.1. setRollbackOnly与getRollbackOnly方法
46.11.3.2.2. 使用JMS API的考虑
46.11.3.2.3. 事务属性
46.11.3.2.4. 必须遵守的规则
46.11.4. 使用Bean管理事务与容器管理事务
46.12. EJB的安全管理
46.12.1. 安全模型
46.12.1.1. 安全角色(Security Role)与方法权限
46.12.1.2. 安全主体(Security Principal)
46.12.1.3. 安全角色与安全主体的映射
46.12.2. 使用安全模型
46.12.2.1. 声明安全角色
46.12.2.2. 定义方法许可
46.12.2.3. 定义角色映射
46.12.2.4. 调用中的身份传播
46.12.2.5. 关于安全角色引用
46.12.2.6. getCallerPrincipal
46.12.2.7. isCallerInRole
46.12.2.8. 声明代码中使用的安全角色引用
46.13. EJB Timer Service
46.13.1. 概述
46.13.2. 组件模型单元
46.13.2.1. 接口描述
46.13.2.1.1. TimerService接口
46.13.2.1.2. TimedObject接口
46.13.2.1.3. TimerHandle接口
46.13.2.1.4. Timer接口
46.13.2.2. 功能实现框架
46.13.3. 使用EJB Timer Service
46.13.3.1. 使用范围
46.13.3.2. 创建Timer
46.13.3.3. 定义Timer需要执行的内容
46.13.3.4. 取消和保存Timer
46.13.3.5. 获得Timer的信息
46.13.3.6. Timer和交易
47. 客户端开发手册
47.1. 客户端简介
47.1.1. 客户端类型
47.1.1.1. Web客户端
47.1.1.2. 应用客户端
47.1.1.3. CORBA客户端
47.1.1.4. Web Services客户端
47.2. 使用应用客户端容器
47.2.1. 应用客户端容器简介
47.2.2. 开发应用客户端
47.2.2.1. 定位Home接口
47.2.2.2. 创建EJB实例
47.2.2.3. 调用业务方法
47.2.3. 打包应用客户端
47.2.4. 运行应用客户端
47.2.5. 不使用应用客户端容器
47.2.6. 关于范例
47.3. CORBA客户端开发
47.3.1. 开发CORBA客户端
48. 金蝶Apusic应用服务器6.0系统服务
48.1. 数据库连结池开发
48.1.1. 概述
48.1.2. 使用JDBC连接池
48.1.2.1. 服务器端JDBC应用
48.1.2.2. 客户端JDBC应用
48.1.3. 范例
48.2. 消息服务开发
48.2.1. 理解JMS
48.2.1.1. 消息中间件
48.2.1.2. JMS接口描述
48.2.1.3. JMS和其它企业级JAVA API的关系
48.2.1.4. JMS消息模型
48.2.1.5. 消息的同步异步接收
48.2.1.6. PTP模型
48.2.1.7. PUB/SUB模型
48.2.2. 使用JMS
48.2.2.1. 开发JMS Client的步骤
48.2.2.2. PTP模型应用
48.2.2.3. PUB/SUB模型应用
48.2.2.4. 权限设置
48.3. 使用JAAS用户认证
48.3.1. JAAS简介
48.3.1.1. 一个简单的例子
48.3.1.2. JAAS核心类和接口
48.3.1.3. 配置LoginModules
48.3.1.4. 编写Policy文件
48.3.1.5. 运行范例程序
48.3.2. JAAS和Apusic
48.3.3. Apusic JAAS开发
48.4. 使用Apusic事务服务
48.4.1. 事务服务简介
48.4.2. 配置Apusic事务服务
48.4.3. 使用事务服务
48.4.3.1. 在EJB中使用事务服务
48.4.3.2. 在客户端中使用事务服务
VII. 应用程序部署指南
49. 打包和部署Java EE应用
49.1. 打包和部署简介
49.2. 打包和部署Web模块
49.2.1. Web应用的目录结构
49.2.2. Web模块的部署描述文件
49.2.3. Web模块的两种形式
49.2.4. 部署Web模块
49.2.5. 自动部署
49.3. 打包和部署EJB模块
49.3.1. EJB-JAR文件结构
49.3.2. EJB模块的部署描述文件
49.3.3. EJB模块的两种形式
49.3.4. 部署EJB模块
49.3.5. 自动部署
49.4. 打包和部署Java EE应用
49.4.1. Java EE应用的目录结构
49.4.2. Java EE应用的部署描述文件
49.4.3. Java EE应用的两种形式
49.4.4. 部署Java EE应用
49.4.5. 自动部署
49.5. Apusic部署描述文件
49.5.1. apusic-application.xml中的元素
49.5.1.1. apusic-application元素
49.5.1.2. module元素
49.5.1.3. ejb元素
49.5.1.4. entity元素
49.5.1.5. jndi-name元素
49.5.1.6. local-jndi-name元素
49.5.1.7. cmp元素
49.5.1.8. jdbc元素
49.5.1.9. datasource-name元素
49.5.1.10. table-name元素
49.5.1.11. auto-create-table元素
49.5.1.12. auto-generate-key元素
49.5.1.13. field-mapping元素
49.5.1.14. field-name元素
49.5.1.15. column-name元素
49.5.1.16. load-unit元素
49.5.1.17. unit-name元素
49.5.1.18. cmp-field元素
49.5.1.19. cmr-field元素
49.5.1.20. finder元素
49.5.1.21. description元素
49.5.1.22. method元素
49.5.1.23. method-intf元素
49.5.1.24. method-name元素
49.5.1.25. method-params元素
49.5.1.26. method-param元素
49.5.1.27. sql-clause元素
49.5.1.28. is-modified-method-name元素
49.5.1.29. ejb-ref元素
49.5.1.30. ejb-ref-name元素
49.5.1.31. ejb-local-ref元素
49.5.1.32. resource-ref元素
49.5.1.33. res-ref-name元素
49.5.1.34. resource-env-ref元素
49.5.1.35. resource-env-ref-name元素
49.5.1.36. session元素
49.5.1.37. message-driven元素
49.5.1.38. message-driven-destination元素
49.5.1.39. connection-factory-name元素
49.5.1.40. destination-name元素
49.5.1.41. auto-create-destination元素
49.5.1.42. client-id元素
49.5.1.43. durable-subscription-name元素
49.5.1.44. relationship-mapping元素
49.5.1.45. ejb-relation-name元素
49.5.1.46. source-role元素
49.5.1.47. sink-role元素
49.5.1.48. cmp-resource元素
49.5.1.49. java元素
49.5.1.50. web元素
49.5.1.51. context-root元素
49.5.1.52. mail-session元素
49.5.1.53. property元素
49.5.1.54. security-role元素
49.5.1.55. role-name元素
49.5.1.56. principal元素
49.5.1.57. group元素
49.6. application_5_0.xsd
49.7. web-app_2_4.xsd
49.8. ejb-jar_3_0.xsd
49.9. application-client_5_0.xsd
49.10. apusic-application_5_0.dtd
VIII. 管理控制台使用指南
50. 管理Apusic应用服务器
50.1. 创建服务器
50.2. 运行及连接服务器
50.3. 查看服务器基本信息
50.4. 管理应用
50.4.1. 部署应用
50.5. 管理数据源
50.5.1. 创建数据源
50.6. 管理集群
50.6.1. 创建集群服务
50.6.2. 查看修改集群服务
51. 监控Apusic应用服务器
51.1. 准备工作
51.2. 打开监控视图
51.3. 工具栏操作
51.4. 多监控项比较查看
52. 数据源连接监控
52.1. 相关概念说明
52.2. 准备工作
52.3. 查看连接池统计信息
52.4. 查看连接创建信息
53. 数据源事件跟踪
53.1. 准备工作
53.2. 新建跟踪
53.3. 过滤数据
53.4. 死锁分析
IX. 其它事项
54. Apusic应用服务器通过Sun公司的JavaEE应用服务器认证
54.1. 认证说明
54.2. 关于JCP(Java Community Process Java标准制定组织)