`
JFires
  • 浏览: 41821 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

4.2传输连接器

阅读更多

4.2传输连接器

为了交换信息,生产者和消费者必须连接到代理器。客户端到代理器的连接是通过传输连接器来实现的。ActiveMQ提供了一些客户端协议,可以用来交换信息。ActiveMQ用户对连接的要求是多种多样的。一些用户关注性能,一些用户关注安全或其它指标。ActiveMQ尝试满足所有这些要求,并对每一种使用场景提供一种连接器。

    在这一节,你将学会在ActiveMQ配置文件中配置传输连接器,然后修改股票投资例子来演示这些连接器。接下来的章节,我们将讨论网络连接器可用协议,并介绍内嵌代理器和虚拟机协议。这两个概念使得代理器可以在你的应用中运行,这个主题将在第七章继续讨论。

 

4.2.1配置传输连接器

对于代理器来说,传输连接器是用来接受和监听客户端连接的。如果你看一看ActiveMQ演示例子的配置文件(conf/activemq-demo.xml),你会看到类似如下的配置:

    <transportConnectors>
        <transportConnector name="openwire" uri="tcp://localhost:61616"
             discoveryUri="multicast://default"/>
         <transportConnector name="ssl" uri="ssl://localhost:61617"/>
         <transportConnector name="stomp" uri="stomp://localhost:61613"/>
         <transportConnector name="xmpp" uri="xmpp://localhost:61222"/>
      </transportConnectors>

你可以看到传输连接器定义在<transportConnectors>元素之间。你通过<transport-Connector>元素定义特定的连接器。ActiveMQ可以不同的端口上设置不同协议的连接器。一个连接器必须有自己唯一的名字和URI属性。在这个例子中,URI定义了网络协议和可选参数,通过它们,ActiveMQ将被曝露出来给客户端连接。discoveryUri属性是可选的,这个属性将在4.3.1节讲解。

    上面的片段定义了4个传输连接器。当你通过使用这样的配置文件启动ActiveMQ,你将看到如下日志:

INFO TransportServerThreadSupport - Listening for connections at:
tcp://localhost:61616

INFO TransportConnector - Connector openwire Started
INFO TransportServerThreadSupport - Listening for connections at:
ssl://localhost:61617
INFO TransportConnector - Connector ssl Started
INFO TransportServerThreadSupport - Listening for connections at:
stomp://localhost:61613
INFO TransportConnector - Connector stomp Started
INFO TransportServerThreadSupport - Listening for connections at:
xmpp://localhost:61222
INFO TransportConnector - Connector xmpp Started

 

从客户端角度,传输连接器是一个连接,通过它可以向代理器发送和接收消息。发送和接收消息的内容放在第七章。下面的代码展示了java应用如何使用传输连接器URIs。

ActiveMQConnectionFactory factory =
    new ActiveMQConnectionFactory("tcp://localhost:61616 ");
Connection connection = factory.createConnection();
connection.start();
Session session =
    connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

我们可以看到,在配置文件里定义的URI被客户端用来创建连接。在这个例子中,TCP传输URI将被使用。

注:我们可以在客户端和服务器端是用URI的query部分。通常地,这些参数对于客户端和服务器端都有用,但其中的一些只能用在某一部分。所以,在使用这些特定查询参数前请先查看文档说明。

理解了基本的传输连接器配置之后,我们应该了解ActiveMQ提供了哪些类型的传输连接器。不过在我们讲解特定传输连接器之前,我们先修改股票投资例子,让它使用不同的传输连接器。

 

4.2.2修改股票投资例子

第三章引入了一个股票投资例子,它用ActiveMQ来发布和消费股票交易消息。当时,我们使用标准的连接器URI,因为我们想让这个例子看起来尽量简单。这一章,我们将介绍所有的协议并同意股票投资例子来使用它们。所以,我们要修改该例子,让它使用任意的协议工作。

    列表4.1是main()一个修改后的版本。

Listing 4.1 Modifying stock portfolio publisher to support various connector URIs



 前面的代码保证连接器URI作为第一个参数被传递,并且剩下的参数是额外的目标的名称。现在,生产者可以通过下面的命令来运行:

$ mvn exec:java -Dexec.mainClass=org.apache.activemq.book.ch4.Publisher \
-Dexec.args="tcp://localhost:61616 CSCO ORCL"

...
Sending: {price=65.713356601409, stock=JAVA, offer=65.779069958011,
up=true}
on destination: topic://STOCKS.JAVA
Sending: {price=66.071605671946, stock=JAVA, offer=66.137677277617,
up=true}
on destination: topic://STOCKS.JAVA
Sending: {price=65.929035001620, stock=JAVA, offer=65.994964036622,
up=false}
on destination: topic://STOCKS.JAVA
...

注意到现在有三个参数被传送给生产者。我们也可以用相同的方法来修改消费者。在下面的列表中,被修改后的消费者把第一个参数作为URI来使用。

Listing 4.2 Modifying stock portfolio consumer to support various connector URIs



 为了达到和第三章相同的功能,你必须提供一个额外的URI参数。下面的例子展示了如何做:

$ mvn exec:java -Dexec.mainClass=org.apache.activemq.book.ch4.Consumer \
-Dexec.args="tcp://localhost:61616 CSCO ORCL"

...
ORCL 65.71 65.78 up
ORCL 66.07 66.14 up
ORCL 65.93 65.99 down
CSCO 23.30 23.33 up
...

注意,消息在生产者和消费者之间的流动是和原始例子一样。通过这些修改,现在这个例子可以使用各种协议运行了。现在我们应该深入到特定的连接器里面了。下面的部分你将看到你通过网络连接代理器有什么选择。

  • 大小: 51.2 KB
  • 大小: 36.2 KB
0
1
分享到:
评论

相关推荐

    通信与网络中的使用BLE 4.2的系统设计:更快、更安全、更节能

    提到家庭和工业自动化、物联网(IoT)、可穿戴设备、人机接口设备(HID)众多应用的无线连接协议时,蓝牙一定是首选。为满足各种应用的需求,蓝牙技术联盟(SIG)对蓝牙规格进行了持续改进。发布4.1版大约一年后, SIG在...

    已过BQB认证的Nordic52832方案BLE4.2蓝牙模块SKB369规格书文档.pdf

    蓝牙4.2(BLE)模块SKB369能为各类电子产品快速升级蓝牙连接功能,使其更好的与智能移动设备相融合,可广泛应用于各种电子设备,如智能单品、仪器仪表、医疗设备、智能家居、汽车电子、娱乐设备等。

    电子连接器接触电阻测试程序

    电子連接器接触电阻测试程序(TP-06A) 前言﹕本通讯第23期曾介绍EIA规范有关低阶接触阻抗测试(TP-23A)﹐主要适用于传输讯号用的連接器。本期所介绍接触电阻测试则适用于传输电力之連接器﹐所通之电流高出甚多﹐为...

    远程USB光纤传输系统的研究与设计

    2.4 插锁型连接器协议 20-21 2.5 传输速率 21-22 2.6 信号特性 22-23 2.6.1 信号线状态 22 2.6.2 数据信号编码 22-23 2.6.3 位填充 23 2.6.4 信号传输顺序 23 2.7 传输类型 23-27 2.7.1 批量传输 ...

    光纤通信技术课件 清华大学王建萍 共8章——课程总结 part1

    3.2 光连接器Connector 3.3 光衰减器Attenuator 3.4 光耦合器Coupler 3.5 复用器与滤波器 Multiplexer and Filter 3.6 光隔离器与环行器 3.7 光调制器Modulators 3.8 光开关Switches 3.9 光波长转换器 3.10 光交叉...

    光纤通信技术课件 清华大学王建萍 共8章——课程总结 part2

    3.2 光连接器Connector 3.3 光衰减器Attenuator 3.4 光耦合器Coupler 3.5 复用器与滤波器 Multiplexer and Filter 3.6 光隔离器与环行器 3.7 光调制器Modulators 3.8 光开关Switches 3.9 光波长转换器 3.10 光交叉...

    从小米米家LYWSD03MMC蓝牙4.2温湿度传感器读取数据,包括自定义加密格式__代码_相关文件_下载

    从小米米家LYWSD03MMC蓝牙4.2温湿度传感器读取数据 使用此脚本,您可以读取 LYWSD03MMC(和其他一些)传感器的数据,例如使用 Raspberry Pi。注意 Raspbery Pi 4 的蓝牙范围非常有限。Pi Zero W 提供了更长的射程。 ...

    realvnc V4.2企业版

    文件传输 —— 与 Windows 剪贴板结合,允许通过 VNC 连接在服务器和查看器计算机之间 复制文件而不需要额外的配置.最好的就是,与 VNC Enterprise 系列的其他产品一样,VNC Enterprise Edition for Windows是由原始 ...

    烽火传输,协转,光猫等

    烽火传输,协转,光猫等设备使用说明 ...图2-5 DB37连接器的线序定义 8 图2-6 DC-48V,AC 110V和AC 220V电源插座示意图 9 图2-7 K4位置示意图…. 10 图3-1 点到点的拓扑应用 11 图3-2 点到多点的拓扑应用 11

    Http1.1超文本传输协议中文版

    4.2 消息头 32 4.3 消息主体 33 4.4 消息的长度(Message Length) 34 4.5 常用头域(General Header Fields) 35 5 请求 35 5.1 请求行 36 5.1.1方法 36 5.1.2请求URL(Request-URI) 37 5.2请求的资源 38 5.3请求...

    jk.rar_EVC_EVC 视频_Jkerr_USB 通讯_嵌入式 视频

    5.视频数据传输的发送端的程序在编译通过后通过PCM-7230开发板与PC机的USB数据连接线下载到PCM-7230开发板上的Windows CE 4.2 的操作系统下。与视频数据传输的接收端进行通讯。 6.SendWordCS是嵌入式下传输字符的源...

    光通讯入门与提高

    6.2 光纤连接器 122 6.3 光纤耦合器 126 6.4 波分复用器 133 6.4.1 光波分复用器概述 133 6.4.2 角色散型光波分复用器 135 6.4.3 干涉滤光片 139 6.4.4 光纤熔锥型耦合器 141 6.4.5 集成光波导型波分复用器 143 ...

    单片机数据通信典型应用大全

    4.2 SPI传输模式 4.2.1 SPI主模式 4.2.2 SPI从模式 4.3 SPI传输过程格式 4.3.1 SCK信号的相位和极性控制 4.3.2 CPHA=0传榆格式 4.3.3 CPHA=1传输格式 4.4 利用SPI单片机实现多从机传输系统 4.4.1 STCl2C...

    射频与微波功率放大器设计

    1.4双口网络的互相连接 1.5实际的双口电路 1.5.1单元件网络 1.5.2Ⅱ形和T形网络 1.6具有公共端口的三口网络 1.7传输线 参考文献 第2章 非线性电路设计方法 2.1频域分析 2.1.1三角恒等式法 2.1.2分段线性近似法 2.1.3...

    网络驱动程序设计指南

    4.6.4.2 在总线控制器DMA NIC上接收数据 84 4.6.4.3 在PIO NIC上接收数据 85 4.6.4.4 在内存映射设备上接收数据 85 4.7 保持统计量 85 4.8 802.1P 包的优先权 86 4.8.1 查询802.1p优先权支持 87 4.8.2 802.1优先权的...

    基于TI CC2640照明用电监控之蓝牙功率测量计方案 -电路方案

    (3) 内置蓝牙4.2传输协议 (4) 高达 28KB 系统 SRAM (5) 支持无线升级 (OTA) (6) 超低功耗传感器控制器 (7) 12 位模数转换器 (ADC)、200MSPS、8 通道仿真多任务器 方案规格(1) BLE4.2协议。兼容多少安卓/IOS 系统 (2)...

    信号完整性基础知识(中兴)

    4.5.4. 连接器的隔离盘 53 4.6. 去耦电容极其应用 54 4.6.1. 去耦电容 54 4.6.2. 低频大容量去耦电容(BULK) 55 4.6.3. 高频去耦电容 56 4.6.4. 多层片式陶瓷电容的材料选择 58 4.6.5. 表面贴装电容的布局和布线 58...

    win2000驱动程序设计指南

    数据传输 64 4.1 中断处理 64 4.2 DPC处理程序 66 4.3 带外(OOB)数据包 66 4.3.1 等待发送的OOB数据 67 4.3.2 接收的OOB数据 68 4.4 发送包 69 4.4.1 无连接微端口的多包传送 70 4.4.1.1 ...

    单片机与PC机串行通信综合课程设计.doc

    多工方式:以上三种传输方式都是同一线路传输一种频率信号,为了充分的利用线路 资源,可通过使用多路复用器或多路集线器,采用频分、时分、或码分复用技术, 即可实现在同一线路上资源共享功能,我们称之为多工...

Global site tag (gtag.js) - Google Analytics