当前位置: 首页 > 知识库问答 >
问题:

如何编写JMS代理?

高寒
2023-03-14

关于代理,Java消息服务是如何工作的?我看到了创建producer的教程和示例

共有1个答案

蔚楷
2023-03-14

JMS API本质上是一个客户端API。它定义了客户端用来与代理交互的API。假设实现的行为符合JMS规范,那么代理的实现方式是完全任意的。这给了那些实现JMS代理的人足够的自由,以适合他们自己的需求和约束的方式来实现它。这也意味着JMS API没有定义创建和配置代理(无论是什么代理)的实例。

此外,JMS规范建立了一种约定,即客户端能够在JNDI找到它们的“管理对象”(即连接工厂和目的地)。JMS 2规范的第5.1节规定:

尽管受管对象接口并不显式依赖于JNDI,但JMS建立了一种约定,即JMS客户机通过使用JNDI在名称空间中查找它们来找到它们。

由于此约定,大多数 JMS 提供程序还提供了一个 JNDI 实现,以便与 JMS 实现一起使用。ActiveMQ 通过 org.apache.activemq.jndi.ActiveMQ初始化上下文工厂类来提供此功能。此 JNDI 实现的用法和配置将在 ActiveMQ 文档中进一步讨论。

由于使用 JNDI 只是一种约定,因此大多数 JMS 提供程序都有访问管理对象的替代方法。例如,ActiveMQ 允许您使用特定于 ActiveMQ 的类以编程方式实例化连接工厂或目标。

要将 JMS 客户机连接到其相应的代理,您首先需要决定是要使用 JNDI 还是特定于提供程序的机制。一般来说,JNDI 是首选方法,因为它是可插拔的(使用在应用程序类路径上的 jndi.properties 文件中定义的属性),这使得在需要时更容易在 JMS 代理之间切换。做出这个决定后,你就会获得一个 javax.jms.连接工厂的实例,并使用它来创建你的 javax.jms.连接等。在此之后,有很多关于如何编写 JMS 客户端的教程和文档。

最终,当连接到ActiveMQ时,在客户机应用程序中不需要严格使用JMS和JNDI API以外的任何东西。

 类似资料:
  • 问题内容: 我想在php脚本中创建表..有什么办法可以在php脚本中创建表? 问题答案: 你可以喜欢 PHP中的HTML: 或者你可以写像。 HTML中的PHP: 意思是: 您可以使用打开一个PHP标记,现在添加您的PHP代码,然后使用关闭该标记,然后编写html代码。需要添加更多PHP时,只需使用打开另一个PHP标签。

  • 了解如何在“代码”视图中工作并充分利用 Dreamweaver 的编码功能。 可通过多种方式在 Dreamweaver 中处理代码。 您可以使用“新建文档”对话框打开新的代码文件,然后开始键入您的代码。在 Dreamweaver 中创建新的代码文件 键入时,会显示代码提示以帮助您选择代码和避免打字错误。如果需要,可使用 Dreamweaver 的有用的快捷文档获取 CSS 的相关帮助。 还可以使用

  • 本文向大家介绍如何编写高质量JS代码,包括了如何编写高质量JS代码的使用技巧和注意事项,需要的朋友参考一下 想写出高效的javascript类库却无从下手; 尝试阅读别人的类库,却理解得似懂给懂; 打算好好钻研js高级函数,但权威书上的内容太零散, 即使记住“用法”,但到要“用”的时候却没有想“法”。 也许你和我一样,好像有一顾无形的力量约束着我们的计划,让我们一再认为知识面的局限性,致使我们原地

  • 我有一些我需要的特定代码,为了能够有某些我不想每次都写的I/O东西,我只想能够添加一个Java类,这样它就已经有了那些代码,我试着做了: 基本上这个东西需要在xml中,但我不知道如何正确地编写它,我以为到处都写${filename}就可以了,但它不起作用。总而言之,我希望文件的名称写在我写“${filename}”的地方,我该怎么做呢?

  • 问题内容: 我有一个表格,单击提交按钮: 我想在同一文件中执行一些任务(数据库任务),然后 我希望通过重定向将表单数据发送到test.php 这是我的代码 但无法提交表单,如果我在onClick上调用javascript代码,则可以正常工作。此代码中的问题是什么,有没有解决的办法 问题答案: 只需在if函数中回显javascript

  • 问题内容: 我想在php脚本中创建表..有什么办法可以在php脚本中创建表。 问题答案: 你可以喜欢 PHP中的HTML: 或者你可以写像。 HTML中的PHP: 意思是: 您可以使用打开一个PHP标记,现在添加您的PHP代码,然后使用关闭该标记,然后编写html代码。需要添加更多PHP时,只需使用打开另一个PHP标签。