weblogic的JMS中得JMS配置_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3686 | 回复: 0   主题: weblogic的JMS中得JMS配置        下一篇 
    本主题由 koei 于 2011-12-23 13:22:58 移动
匿名用户
发表于: IP:您无权察看 2011-12-22 11:24:38 | [全部帖] [楼主帖] 楼主

<P></P><P>
[h1][size=4][font=楷体]weblogic软件介绍[/font=楷体][/size=4][/h1]
 [font=楷体][size=3]weblogic 是bea公司出品的一个application sever 确切的说事一个基于JavaEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。 [size=4]基本介绍[/size=4] [font=楷体][size=3]webserver是用来构建网站的必要软件用来解析发布网页等功能,它是用纯java开发的。weblogic本来不是由bea发明的,是它从别人手中买过来,然后再加工扩展。目前weblogic在世界application server市场上占有最大的份额,其他还有象金蝶Apusic应用服务器、IBM的websphere,免费的tomcat、resin等中间件。 BEA WebLogic Server拥有处理关键Web应用系统问题所需的性能 、可扩展性和高可用性。   与BEA WebLogic Commerce ServerTM配合使用, BEA WebLogic Server可为部署适应性个性化电子商务应用系统提供完善的解决方案。 [size=4] 特色优势[/size=4]   BEA WebLogic Server具有开发和部署关键任务电子商务Web应用系统 所需的多种特色和优势,包括: 1)领先的标准   对业内多种标准的全面支持,包括EJB、JSB、JMS、JDBC、XML和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。 2)无限的可扩展性   BEA WebLogic Server以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling以及动态网页和EJB组件群集。 3)快速开发   凭借对EJB和JSP的支持,以及BEA WebLogic Server 的Servlet组件架 构体系,可加速投放市场速度。这些开放性标准与WebGain Studio配合时,可简化开发,并可发挥已有的技能,迅速部署应用系统。 4)部署更趋灵活   BEA WebLogic Server的特点是与领先数据库、操作系统和Web服务器 紧密集成。 5)关键任务可靠性   其容错、系统管理和安全性能已经在全球数以千记的关键任务环境中得以验证。 6)体系结构   BEA WebLogic Server是专门为企业电子商务应用系统开发的。企业电子商务应用系统需要快速开发,并要求服务器端组件具有良好的灵活性和安全性,同时还要支持关键任务所必需的扩展、性能、和高可用性。BEA WebLogic Server简化了可移植及可扩展的应用系统的开发,并为其它应用 系统和系统提供了丰富的互操作性。   凭借其出色的群集技术,BEA WebLogic Server拥有最高水平的可扩展 性和可用性。BEA WebLogic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错,如Web购物车;组件群集则处理复杂的复制、负载平衡和EJB组件容错,以及状态对象(如EJB实体)的恢复。   无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关重要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它Web应用系统所不具备的。 [size=4][h1]JMS介绍[/h1][/size=4] JMS即Java Message Service(Java消息服务),是一组Java应用程序接口(Java API),它提供创建、发送、接收、读取消息的服务。是有Sun公司和它的合作伙伴设计的JMS API定义了一组公共的应用程序接口和相应语法,使得Java程序能够和其他消息组件进行通信。 JMS是一种与厂商无关的API,用来访问消息收发系统。现在许多厂商目前都支持JMS,就有我现在用到的weblogic。 JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JML 客户机发送消息。 消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本 (TextMessage)、可序列化的对象 (ObjectMessage)、属性集合 (MapMessage)、字节流 (BytesMessage)、原始值流 (StreamMessage),还有无有效负载的消息 (Message)。 消息收发系统是异步的,也就是说,JMS 客户机可以发送消息而不必等待回应。在 JMS 中,客户机将消息发送给一个虚拟通道(主题或队列),而其它 JMS 客户机则预订或监听这个虚拟通道。当 JMS 客户机发送消息时,它并不等待回应。它执行发送操作,然后继续执行下一条指令。消息可能最终转发到一个或许多个客户机,这些客户机都不需要作出回应。 JMS的通用接口集合以异步方式发送或接收消息。异步方式接收消息显然是使用间断网络连接的客户机,诸如移动电话和PDA的最好的选择。另外, JMS采用一种宽松结合方式整合企业系统的方法,其主要的目的就是创建能够使用跨平台数据信息的、可移植的企业级应用程序,而把开发人力解放出来。 Java消息服务支持两种消息模型:Point-to-Point消息(P2P)发布订阅消息(Publish Subscribe messaging,简称Pub/Sub)。JMS规范并不要求供应商同时支持这两种消息模型,但应该熟悉这两种消息模型的优势与缺点。 P2P消息模型是在点对点之间传递消息时使用。如果应用程序开发者希望每一条消息都能够被处理,那么应该使用P2P消息模型。与Pub/Sub消息模型不同,P2P消息总是能够被传送到指定的位置。 Pub/Sub模型在一到多的消息广播时使用。如果一定程度的消息传递的不可靠性可以被接受的话,那么应用程序开发者也可以使用Pub/Sub消息模型。换句话说,它适用于所有的消息消费程序并不要求能够收到所有的信息或者消息消费程序并不想接收到任何消息的情况。 JMS通过允许创建持久订阅来简化时间相关性,即使消息预订者未激活也可以接收到消息。此外,使用持久订阅还可通过队列提供灵活性和可靠性,而仍然允许消息被发给许多的接收者。 如果session被标记为transactional的话,确认消息就通过确认和校正来自动地处理。 如果session没有标记为 transactional,你有三个用于消息确认的选项。 · AUTO_ACKNOWLEDGE session将自动地确认收到一则消息。 · CLIENT_ACKNOWLEDGE 客户端程序将确认收到一则消息,调用这则消息的确认方法。     · DUPS_OK_ACKNOWLEDGE 这个选项命令session“懒散的”确认消息传递,可以想到,这将导致消息提供者传递的一些复制消息可能会出错。这种确认的方式只应当用于消息消费程序可以容忍潜在的副本消息存在的情况。 queueSession = queueConnection.createQueueSession(false, session.AUTO_ACKNOWLEDGE);//P2P topicSession = topicConnection.createTopicSession(false, session.AUTO_ACKNOWLEDGE); //Pub-Sub [h2][size=4]传递消息的方式[/h2][/size=4] JMS现在有两种传递消息的方式。 标记为NON_PERSISTENT的消息最多投递一次,而标记为PERSISTENT的消息将使用暂存后再转送的机理投递。如果一个JMS服务离线,那么持久性消息不会丢失但是得等到这个服务恢复联机时才会被传递。所以默认的消息传递方式是非持久性的。即使使用非持久性消息可能降低内务和需要的存储器,并且这种传递方式只有当你不需要接收所有的消息时才使用。 JMS规范并不需要JMS供应商实现消息的优先级路线,但是它需要递送加快的消息优先于普通级别的消息。JMS定义了从0到9的优先级路线级别,0是最低的优先级而9则是最高的。更特殊的是0到4是正常优先级的变化幅度,而5到9是加快的优先级的变化幅度。 JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。 · StreamMessage -- Java原始值的数据流 · MapMessage--一套名称-值对 · TextMessage--一个字符串对象 · ObjectMessage--一个序列化的 Java对象 · BytesMessage--一个未解释字节的数据流 [h2][size4]JMS接口的描述[/size=4][/h2] JMS 支持两种消息类型PTP 和Pub/Sub,分别称作:PTP Domain 和Pub/Sub Domain,这两种接口都继承统一的JMS Parent 接口,JMS 主要接口如下所示: JMS Common InterFace ConnectionFactory Connection Destination Session MessageProducer MessageCOnsumer PTP-specific InterFace QueueConnectionFactory QueueConnetion Queue QueueSession QueueSender QueueReceiver/QueueBrowser Pub/Sub-specific InterFace TopicConnectionFactory TopicConnection Topic TopicSession TopicPublisher TopicSubscriber 对这些接口的简单描述: ConnectionFactory :连接工厂,JMS 用它创建连接 Connection :JMS 客户端到JMS Provider 的连接 Destination :消息的目的地 Session: 一个发送或接收消息的线程 MessageProducer: 由Session 对象创建的用来发送消息的对象 MessageConsumer: 由Session 对象创建的用来接收消息的对象 [h2][size=4]JMS消息模型[/size=4][/h2] JMS消息由以下几部分组成:消息头,属性,消息体。 消息头(Header) - 消息头包含消息的识别信息和路由信息,消息头包含一些标准的属性。 属性(Properties) - 除了消息头中定义好的标准属性外,JMS 提供一种机制增加新属性到消息头中。 消息体(Body) - JMS API 定义了5种消息体格式,也叫消息类型,你可以使用不同形式发送接收数据并可以兼容现有的消息格式。 [/font=楷体][/size=3]
该贴由koei转至本版2011-12-23 13:22:58
</P><P></P>


赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论