WebLogic Server JMS 综述
孟和
渠道售前咨询顾问
以下内容旨在概述产品的总体发展方向。
此信息仅供参考,不可纳入任何合同。此
信息不承诺提供任何资料、代码或功能,
并且不应该作为制定购买决策的依据。此
处所述有关 Oracle 产品的任何特性或功能
的开发、发布以及相应的日程安排均由
Orac...
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
什么是JNDI?
• JNDI(Java Naming and Directory Interface)一组在
Java应用中统一访问命名和目录服务的API
• JNDI解决的主要问题:
• 使用通用接口来访问不同种类的服务
• 可以同时连接到...
为什么使用JNDI
• 在Oracle WebLogic Server,JNDI起到Java EE对象仓
库和查找服务的作用,包括:
• EJB home stubs
• JDBC DataSources
• JMS connection fa...
JNDI结构
命名服务
• 命名服务提供了一种为对象命名的机制,这样你就可
以在无需知道对象位置的情况下获取和使用对象。
• 命名服务术语:
JNDI树
Context和Subcontext
• Subcontext通过“.”来表示
• 在放置对象之前,必须先创建Subcontext
• 通常,将对象绑定到JNDI树的同时会自动创建JNDI名
指定的Subcontext
管理员需要了解的JNDI
• 为了更加方便进行系统管理工作,系统管理员需要懂
得JNDI
• 检查对象是否已经绑定到JNDI树
• 在JNDI树上对Context进行安全设置
查看JNDI树
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
JMS架构
• JMS – Java Message Service
JMS架构:连接
JMS架构:发送消息
消息模式
• 点对点模式(P2P):
• 消息按照线性顺序存储于队列中
• 一个消息仅传递给一个接收者
• 发布/订阅模式(Pub/Sub):
• 消息存储在主题中
• 消息传递给主题所有订阅者
JMS与事务
• JMS客户端可以同JTA参与到一个分布式事务中
• 相对的, JMS客户端只在JMS会话中确保事务完整性
• 参与事务是可选的
点对点消息模型
发布/订阅消息模型
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
WebLogic JMS实现
• WebLogic JMS是集成在WebLogic Server中的企业级
消息系统。
• 具有如下突出优势:
• 极大提高的性能
• 消息存储持久化
• 分布式Destination
• Unit of Ord...
WebLogic JMS管理
• WebLogic JMS管理主要有两种方式:
• 管理控制台
• 适合于一次创建单个资源、管理少量消息资源
• WLST
• 适合通过脚本批量创建、管理多个资源;脚本可以方便地实
现自动化以及在环境间转换
管理控制台
WLST管理
WLST管理
WebLogic JMS架构
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
WLS JMS Server
• 在WLS中,消息服务由JMS Server实现
• JMS实现对消息的接收和发送
创建JMS Server
为JMS Server设置目标服务器
配置JMS Server
JMS资源
• JMS资源可以作为系统组件也可以作为应用组件
JMS资源组件的配置与部署
• WebLogic Server中的JMS配置存储在JMS组件中
• 配置规范需要遵从weblogicjmsmd.xsd
• 类似标准的J2EE组件
• 管理员可以创建和维护的JMS组件
• 全局系统资源
• 全局...
JMS资源组件的配置与部署(续)
• 组件化的配置带来简便的迁移性,例如:
• 从开发环境到集成测试环境
• 从测试环境到生产环境
• 进行应用迁移时,关于JMS配置:
• 不需要打开EAR文件进行修改
• 不需要太多的手动JMS重新配置
连接工厂(Connection Factories)
• JMS连接工厂主要用来设置缺省的连接参数,包括:
• Message priority
• Message time-to-live (TTL)
• Message persistenc...
创建连接工厂
配置连接工厂
Destination
• Destination是存储在JNDI中的轻量级对
• 是JMS server上发送或接收消息的目标
• JMS destination类型有:
• Queue
• Topic
Queue Destinations
• JMS的点对点消息模式:
• 客户端与一个queue destination通信
• 消息以串行(先进先出)方式被发送到消息接收方
• 每个消息只被发送到一个消息接收者
Topic Destinations
• JMS的发布、订阅模式:
• 客户端与一个topic destination通信
• 消息被广播给所以的订阅者
• 消息被保存,直到最少有一个订阅者接收到
创建Destination
创建Destination (续)
创建Queue Destination
创建Queue Destination(续)
Threshold 和 Quota
• JMS Server和Destination对象可以设置threshold和
quota值
• quota是针对JMS管理对象定义的限制,包括如下值:
• 可存储的最大字节数
• 可存储的最大消息数
• ...
配置Thresholds和Quotas
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
持久化订阅
• 持久化订阅可以确保即使消息接收者有时处于离线状
态,也能正确的接收到消息
• 消息订阅者是否在线是根据其Java对象是否存在来判
断的
• 缺省的,消息订阅者不是持久化的
• 管理员可以配置:
• 消息需要持久化到哪里
• 持久...
需要使用持久化消息的场景
• 持久化消息确保内存中的消息被写到持久存储
• 有如下场景可以配置持久化消息:
• 应用开发需要用到持久化订阅
• 需要确保服务器重启不丢失消息
持久化订阅工作机制
• 如果消息订阅客户端是活动状态的,消息会正常发布
• 如果消息订阅客户端是离线的,当其再次处于活动状
态时,使用其ID来重新获取和发布消息
配置持久化订阅
• 在配置持久化订阅时,管理员需要:
• 创建和配置JMS store
• 配置持久化的连接工厂和destinations
• 关联JMS store与JMS server
• 可以配置JMS store使用:
• file s...
消息持久化
• WLS通过持久化Store提供有质量保障的消息机制:
• 即使服务器重启,消息也会正常收发
• 即使与服务器连接断开、重连,Topic订阅者客户也可以恢复
丢失的消息
• 可以用下面的JMS Persistent Stores:...
创建JMS Store
创建JMS JDBC Store
• 配置JMS JDBC持久化存储包括:
• 创建JDBC DataSource.
• 创建JMS store 并且引用JDBC DataSource.
• 在JMS server的配置中JMS store
•...
创建JMS JDBC Store
将Store指定到JMS Server
持久化连接工厂
配置持久化Destination
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
JMS对象的统计
• WLS提供针对如下JMS对象的统计:
• JMS servers
• Connections
• Destinations
监控JMS Server
监控和管理Destination
JMS消息管理
• 当消息在队列、主题中处理时,有时候需要手动管理
消息:
• 举个例子,遇到某个队列中消息处理堵塞,你需要将消息传递
到不同的队列以使其他消息消费者处理
• WebLogic提供了非常强大的消息管理工具
• 消息管理也支持管理...
WebLogic JMS消息管理特征
• WebLogicJMS消息管理可以方便的:
• 查看消息
• 创建消息
• 转移消息
• 从文件导入消息
• 导出消息
• 删除消息
• 清除队列中消息
• 暂停、恢复操作
查看消息
查看消息
创建消息
转发消息
• 在如下情况下,可以将消息进行转发:
• 源Destination是队列或者处于消费暂停状态持久化订阅者的主
题
• 目标Destination是队列、主题或者不处于生产暂停状态持久化
订阅者的主题
• 消息处于可见(visible...
转发消息
导入/导出消息
• 可以将消息导出到文件,也可以从文件导入消息
• XML格式文件导入
• 消息可以导出为XML和串化格式
• 可以将消息导出到文件,也可以从文件导入消息
• XML格式文件导入
• 消息可以导出为XML和串化格式
• 导入消息...
导入消息
导出消息
导出消息格式
清洗Destination
• 当Destination处于消息堵塞或者需要清理测试中的
Destination,可以删除、清除Destination中的消息
• Destination需要处于消费暂停状态
• 消息必须处于可见(visible...
清洗Destination
暂停、恢复操作
• 当进行JMS环境Debug时,可以暂停、恢复Destination
• 以下操作可以被暂停、恢复:
• 生产消息
• 插入消息
• 消费消息
• 在Server启动、运行时,都可以进行暂停、恢复
JMSDestination...
生产暂停、恢复设置
生产暂停、恢复操作
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
分布式Destination简介
• 分布式Destination是指对客户端透明(逻辑单一)的
一组Destination(队列或主题)
• 分布式Destination:
• 通过JNDI访问
• 提高持续JMS服务的高可用性
• 在多个S...
分布式Destination简介
• 使用分布式Destination的应用具备高可用性
分布式Destination分类
• Uniform distributed destinations
• WebLogic Server在JMS模块目标JMS Server上统一创建JMS
成员
• 所有分布式Destination参数均具一...
负载均衡
• 负载均衡主要特征:
• 使用round robin或者random算法
• 消费者负载均衡在创建时即生效
• 对于分布式队列,所有消息负载到成员队列上
• 对于分布式主题,所有消息复制存在于每个成员主题
• 持久化消息首先负载至配...
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
SAF优缺点
• 优点:
• 实现WebLogic Servers应用间快速可靠的消息传递
• 支持Unit-of-Order方式以保证消息传递次序
• 对应用透明
• 缺点:
• 不兼容将消息传递给WebLogic Server以前版本
• ...
SAF组件
SAF消息流
创建SAF代理
创建SAF代理
设置高级参数
• 在创建完SAF代理,可以设置以下参数:
• 消息重发次数、消息过期时间等
• 消息配额和阈值参数
• 参数一方面定义了SAF代理消息流控制,另一方面也定
义了如何处理过期、毒药消息
配额和阈值
• 配额和阈值包括:
• 字节最低、最高阈值
• 消息最低、最高阈值
• 最大字节数
• 最大消息数
• 最大消息内容大小
创建远程SAF上下文
创建远程SAF上下文
创建SAF错误处理资源
创建SAF错误处理资源
创建导入SAF Destination
创建导入SAF Destination
创建SAF队列/主题
创建SAF队列/主题
集群中配置SAF
监控SAF代理
• 对于一个SAF代理,可以监控:
• SAF代理统计信息
• SAF消息目标远端节点
监控SAF代理
管理SAF代理
• 管理操作包括:
• 暂停、恢复
• 清除
• 处理超时消息等
管理SAF代理
管理SAF代理
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
WebLogic Server Unit-of-Order
• WebLogic Server Unit-of-Order加入并扩展了JMS消息
规范排序规则部分
• Unit-of-Order可以使一个或者一组独立的消息生产者将
消息组成一个...
管理方式设置Unit-of-Order
• Unit-of-Order可以在Connection factory中进行设置;
使用使用该连接工厂的消息都将包含Unit-of-Order值
• System-generated和User-gene...
设置Connection Factory属性
编程方式设置Unit-of-Order
• WLMessageProducer接口
Agenda
• WebLogic JNDI Overview
• WebLogic JMS
• JMS Overview
• WebLogic JMS Overview
• Configuring WebLogic JMS Server & ...
消息桥
• 消息桥是一种连接不同消息件(JMS)进行消息转发
的方式
• WebLogic消息桥可以帮你整合消息应用:
• WebLogic不同版本、实现之间
• WebLogic不同域之间
• WebLogic与其他消息件之间
消息桥与存储转发区别
消息桥使用场景
• 以下情况下,在源目的地与目标目的地之间发送消息:
• 源目的地为队列
• 源目的地如果为主题,需要保证已允许使用消息桥的持久订阅
• 复制消息队列
消息桥组件图
1. 创建消息桥目的地
2. 创建消息桥实例
3. 生效Connection Factory的XA属性
4. 配置消息桥实例
5. 配置资源适配器Resource Adapter
5. 配置资源适配器Resource Adapter
举例:与JBOSS互联
举例:与MQ互联
练习时间
• Lab1 配置数据源
• Lab2 配置JMS服务器和目标
• Lab3 移动与导入导出消息
• Lab4 管理过期消息
04.wls jndi jms
04.wls jndi jms
Upcoming SlideShare
Loading in …5
×

04.wls jndi jms

854 views

Published on

WebLogic 的JNDI和JMS配置

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
854
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
31
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

04.wls jndi jms

  1. 1. WebLogic Server JMS 综述 孟和 渠道售前咨询顾问
  2. 2. 以下内容旨在概述产品的总体发展方向。 此信息仅供参考,不可纳入任何合同。此 信息不承诺提供任何资料、代码或功能, 并且不应该作为制定购买决策的依据。此 处所述有关 Oracle 产品的任何特性或功能 的开发、发布以及相应的日程安排均由 Oracle 自行决定。
  3. 3. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  4. 4. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  5. 5. 什么是JNDI? • JNDI(Java Naming and Directory Interface)一组在 Java应用中统一访问命名和目录服务的API • JNDI解决的主要问题: • 使用通用接口来访问不同种类的服务 • 可以同时连接到多个命名或目录服务上 • 建立起逻辑关联,允许把名称同Java对象或资源关联起来,而 不必知道对象或资源的物理ID • 满足企业级APIs对命名与服务的访问,诸如EJBs、JMS、 JDBC 2.0以及IIOP上的RMI通过JNDI来使用CORBA的命名服 务。
  6. 6. 为什么使用JNDI • 在Oracle WebLogic Server,JNDI起到Java EE对象仓 库和查找服务的作用,包括: • EJB home stubs • JDBC DataSources • JMS connection factories, queues and topics • RMI stubs
  7. 7. JNDI结构
  8. 8. 命名服务 • 命名服务提供了一种为对象命名的机制,这样你就可 以在无需知道对象位置的情况下获取和使用对象。 • 命名服务术语:
  9. 9. JNDI树
  10. 10. Context和Subcontext • Subcontext通过“.”来表示 • 在放置对象之前,必须先创建Subcontext • 通常,将对象绑定到JNDI树的同时会自动创建JNDI名 指定的Subcontext
  11. 11. 管理员需要了解的JNDI • 为了更加方便进行系统管理工作,系统管理员需要懂 得JNDI • 检查对象是否已经绑定到JNDI树 • 在JNDI树上对Context进行安全设置
  12. 12. 查看JNDI树
  13. 13. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  14. 14. JMS架构 • JMS – Java Message Service
  15. 15. JMS架构:连接
  16. 16. JMS架构:发送消息
  17. 17. 消息模式 • 点对点模式(P2P): • 消息按照线性顺序存储于队列中 • 一个消息仅传递给一个接收者 • 发布/订阅模式(Pub/Sub): • 消息存储在主题中 • 消息传递给主题所有订阅者
  18. 18. JMS与事务 • JMS客户端可以同JTA参与到一个分布式事务中 • 相对的, JMS客户端只在JMS会话中确保事务完整性 • 参与事务是可选的
  19. 19. 点对点消息模型
  20. 20. 发布/订阅消息模型
  21. 21. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  22. 22. WebLogic JMS实现 • WebLogic JMS是集成在WebLogic Server中的企业级 消息系统。 • 具有如下突出优势: • 极大提高的性能 • 消息存储持久化 • 分布式Destination • Unit of Order • 自动的透明客户端重连接 • 存储转发SAF
  23. 23. WebLogic JMS管理 • WebLogic JMS管理主要有两种方式: • 管理控制台 • 适合于一次创建单个资源、管理少量消息资源 • WLST • 适合通过脚本批量创建、管理多个资源;脚本可以方便地实 现自动化以及在环境间转换
  24. 24. 管理控制台
  25. 25. WLST管理
  26. 26. WLST管理
  27. 27. WebLogic JMS架构
  28. 28. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  29. 29. WLS JMS Server • 在WLS中,消息服务由JMS Server实现 • JMS实现对消息的接收和发送
  30. 30. 创建JMS Server
  31. 31. 为JMS Server设置目标服务器
  32. 32. 配置JMS Server
  33. 33. JMS资源 • JMS资源可以作为系统组件也可以作为应用组件
  34. 34. JMS资源组件的配置与部署 • WebLogic Server中的JMS配置存储在JMS组件中 • 配置规范需要遵从weblogicjmsmd.xsd • 类似标准的J2EE组件 • 管理员可以创建和维护的JMS组件 • 全局系统资源 • 全局standalone组件 • 企业应用组件
  35. 35. JMS资源组件的配置与部署(续) • 组件化的配置带来简便的迁移性,例如: • 从开发环境到集成测试环境 • 从测试环境到生产环境 • 进行应用迁移时,关于JMS配置: • 不需要打开EAR文件进行修改 • 不需要太多的手动JMS重新配置
  36. 36. 连接工厂(Connection Factories) • JMS连接工厂主要用来设置缺省的连接参数,包括: • Message priority • Message time-to-live (TTL) • Message persistence • Transactional behavior • Acknowledgement policy • Flow control • WLS提供一个缺省的客户端连接工厂: • 使用WebLogic的缺省连接设置 • 绑定在JNDI树上: weblogic.jms.ConnectoryFactory
  37. 37. 创建连接工厂
  38. 38. 配置连接工厂
  39. 39. Destination • Destination是存储在JNDI中的轻量级对 • 是JMS server上发送或接收消息的目标 • JMS destination类型有: • Queue • Topic
  40. 40. Queue Destinations • JMS的点对点消息模式: • 客户端与一个queue destination通信 • 消息以串行(先进先出)方式被发送到消息接收方 • 每个消息只被发送到一个消息接收者
  41. 41. Topic Destinations • JMS的发布、订阅模式: • 客户端与一个topic destination通信 • 消息被广播给所以的订阅者 • 消息被保存,直到最少有一个订阅者接收到
  42. 42. 创建Destination
  43. 43. 创建Destination (续)
  44. 44. 创建Queue Destination
  45. 45. 创建Queue Destination(续)
  46. 46. Threshold 和 Quota • JMS Server和Destination对象可以设置threshold和 quota值 • quota是针对JMS管理对象定义的限制,包括如下值: • 可存储的最大字节数 • 可存储的最大消息数 • threshold是触发message paging、flow control和 logged warnings的限制值,包括: • 字节数的上限和下限 • 消息数的上限和下限
  47. 47. 配置Thresholds和Quotas
  48. 48. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  49. 49. 持久化订阅 • 持久化订阅可以确保即使消息接收者有时处于离线状 态,也能正确的接收到消息 • 消息订阅者是否在线是根据其Java对象是否存在来判 断的 • 缺省的,消息订阅者不是持久化的 • 管理员可以配置: • 消息需要持久化到哪里 • 持久化连接工厂和destination
  50. 50. 需要使用持久化消息的场景 • 持久化消息确保内存中的消息被写到持久存储 • 有如下场景可以配置持久化消息: • 应用开发需要用到持久化订阅 • 需要确保服务器重启不丢失消息
  51. 51. 持久化订阅工作机制 • 如果消息订阅客户端是活动状态的,消息会正常发布 • 如果消息订阅客户端是离线的,当其再次处于活动状 态时,使用其ID来重新获取和发布消息
  52. 52. 配置持久化订阅 • 在配置持久化订阅时,管理员需要: • 创建和配置JMS store • 配置持久化的连接工厂和destinations • 关联JMS store与JMS server • 可以配置JMS store使用: • file store • JDBC store (连接池)
  53. 53. 消息持久化 • WLS通过持久化Store提供有质量保障的消息机制: • 即使服务器重启,消息也会正常收发 • 即使与服务器连接断开、重连,Topic订阅者客户也可以恢复 丢失的消息 • 可以用下面的JMS Persistent Stores: • File system • JDBC (需要一个已经存在的Data Source)
  54. 54. 创建JMS Store
  55. 55. 创建JMS JDBC Store • 配置JMS JDBC持久化存储包括: • 创建JDBC DataSource. • 创建JMS store 并且引用JDBC DataSource. • 在JMS server的配置中JMS store • 所需要的资源(包括数据库表等)会自动被创建
  56. 56. 创建JMS JDBC Store
  57. 57. 将Store指定到JMS Server
  58. 58. 持久化连接工厂
  59. 59. 配置持久化Destination
  60. 60. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  61. 61. JMS对象的统计 • WLS提供针对如下JMS对象的统计: • JMS servers • Connections • Destinations
  62. 62. 监控JMS Server
  63. 63. 监控和管理Destination
  64. 64. JMS消息管理 • 当消息在队列、主题中处理时,有时候需要手动管理 消息: • 举个例子,遇到某个队列中消息处理堵塞,你需要将消息传递 到不同的队列以使其他消息消费者处理 • WebLogic提供了非常强大的消息管理工具 • 消息管理也支持管理控制台、WLST方式
  65. 65. WebLogic JMS消息管理特征 • WebLogicJMS消息管理可以方便的: • 查看消息 • 创建消息 • 转移消息 • 从文件导入消息 • 导出消息 • 删除消息 • 清除队列中消息 • 暂停、恢复操作
  66. 66. 查看消息
  67. 67. 查看消息
  68. 68. 创建消息
  69. 69. 转发消息 • 在如下情况下,可以将消息进行转发: • 源Destination是队列或者处于消费暂停状态持久化订阅者的主 题 • 目标Destination是队列、主题或者不处于生产暂停状态持久化 订阅者的主题 • 消息处于可见(visible)、延迟(delayed)或者排队 (ordered)状态 • 源Destination与目标Destination必须在同一个集群中
  70. 70. 转发消息
  71. 71. 导入/导出消息 • 可以将消息导出到文件,也可以从文件导入消息 • XML格式文件导入 • 消息可以导出为XML和串化格式 • 可以将消息导出到文件,也可以从文件导入消息 • XML格式文件导入 • 消息可以导出为XML和串化格式 • 导入消息的目标Destination可以是队列或者持久化订 阅者的主题 • 目标Destination必须处于生产暂停状态
  72. 72. 导入消息
  73. 73. 导出消息
  74. 74. 导出消息格式
  75. 75. 清洗Destination • 当Destination处于消息堵塞或者需要清理测试中的 Destination,可以删除、清除Destination中的消息 • Destination需要处于消费暂停状态 • 消息必须处于可见(visible)、延迟(delayed)或者 排队(ordered)状态 • 处理中,Destination将被锁定
  76. 76. 清洗Destination
  77. 77. 暂停、恢复操作 • 当进行JMS环境Debug时,可以暂停、恢复Destination • 以下操作可以被暂停、恢复: • 生产消息 • 插入消息 • 消费消息 • 在Server启动、运行时,都可以进行暂停、恢复 JMSDestination操作
  78. 78. 生产暂停、恢复设置
  79. 79. 生产暂停、恢复操作
  80. 80. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  81. 81. 分布式Destination简介 • 分布式Destination是指对客户端透明(逻辑单一)的 一组Destination(队列或主题) • 分布式Destination: • 通过JNDI访问 • 提高持续JMS服务的高可用性 • 在多个Server的不同物理Destination之间进行负载均衡
  82. 82. 分布式Destination简介 • 使用分布式Destination的应用具备高可用性
  83. 83. 分布式Destination分类 • Uniform distributed destinations • WebLogic Server在JMS模块目标JMS Server上统一创建JMS 成员 • 所有分布式Destination参数均具一致性 • Weighted distributed destinations • 分布式Destination成员被用户手动配置
  84. 84. 负载均衡 • 负载均衡主要特征: • 使用round robin或者random算法 • 消费者负载均衡在创建时即生效 • 对于分布式队列,所有消息负载到成员队列上 • 对于分布式主题,所有消息复制存在于每个成员主题 • 持久化消息首先负载至配置有JMS store的成员上 • 负载首选客户端本地Server成员或者处于一个事务中的成员
  85. 85. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  86. 86. SAF优缺点 • 优点: • 实现WebLogic Servers应用间快速可靠的消息传递 • 支持Unit-of-Order方式以保证消息传递次序 • 对应用透明 • 缺点: • 不兼容将消息传递给WebLogic Server以前版本 • 不能与第三方JMS产品互通
  87. 87. SAF组件
  88. 88. SAF消息流
  89. 89. 创建SAF代理
  90. 90. 创建SAF代理
  91. 91. 设置高级参数 • 在创建完SAF代理,可以设置以下参数: • 消息重发次数、消息过期时间等 • 消息配额和阈值参数 • 参数一方面定义了SAF代理消息流控制,另一方面也定 义了如何处理过期、毒药消息
  92. 92. 配额和阈值 • 配额和阈值包括: • 字节最低、最高阈值 • 消息最低、最高阈值 • 最大字节数 • 最大消息数 • 最大消息内容大小
  93. 93. 创建远程SAF上下文
  94. 94. 创建远程SAF上下文
  95. 95. 创建SAF错误处理资源
  96. 96. 创建SAF错误处理资源
  97. 97. 创建导入SAF Destination
  98. 98. 创建导入SAF Destination
  99. 99. 创建SAF队列/主题
  100. 100. 创建SAF队列/主题
  101. 101. 集群中配置SAF
  102. 102. 监控SAF代理 • 对于一个SAF代理,可以监控: • SAF代理统计信息 • SAF消息目标远端节点
  103. 103. 监控SAF代理
  104. 104. 管理SAF代理 • 管理操作包括: • 暂停、恢复 • 清除 • 处理超时消息等
  105. 105. 管理SAF代理
  106. 106. 管理SAF代理
  107. 107. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  108. 108. WebLogic Server Unit-of-Order • WebLogic Server Unit-of-Order加入并扩展了JMS消息 规范排序规则部分 • Unit-of-Order可以使一个或者一组独立的消息生产者将 消息组成一个单元 • 这些消息将保证按照创建顺序发送给消费者 • 消息使用名称属性用于标识Unit-of-Order
  109. 109. 管理方式设置Unit-of-Order • Unit-of-Order可以在Connection factory中进行设置; 使用使用该连接工厂的消息都将包含Unit-of-Order值 • System-generated和User-generated两种类型
  110. 110. 设置Connection Factory属性
  111. 111. 编程方式设置Unit-of-Order • WLMessageProducer接口
  112. 112. Agenda • WebLogic JNDI Overview • WebLogic JMS • JMS Overview • WebLogic JMS Overview • Configuring WebLogic JMS Server & Resources • Configuring WebLogic JMS Store • Configuring and monitoring WebLogic JMS Objects & Message • Distributed Destination • WebLogic JMS Store-and-Forward • WebLogic Server Unit-of-Order • WebLogic Server Messaging Bridge
  113. 113. 消息桥 • 消息桥是一种连接不同消息件(JMS)进行消息转发 的方式 • WebLogic消息桥可以帮你整合消息应用: • WebLogic不同版本、实现之间 • WebLogic不同域之间 • WebLogic与其他消息件之间
  114. 114. 消息桥与存储转发区别
  115. 115. 消息桥使用场景 • 以下情况下,在源目的地与目标目的地之间发送消息: • 源目的地为队列 • 源目的地如果为主题,需要保证已允许使用消息桥的持久订阅 • 复制消息队列
  116. 116. 消息桥组件图
  117. 117. 1. 创建消息桥目的地
  118. 118. 2. 创建消息桥实例
  119. 119. 3. 生效Connection Factory的XA属性
  120. 120. 4. 配置消息桥实例
  121. 121. 5. 配置资源适配器Resource Adapter
  122. 122. 5. 配置资源适配器Resource Adapter
  123. 123. 举例:与JBOSS互联
  124. 124. 举例:与MQ互联
  125. 125. 练习时间 • Lab1 配置数据源 • Lab2 配置JMS服务器和目标 • Lab3 移动与导入导出消息 • Lab4 管理过期消息

×