`
文章列表
内存消息仓库在内存中持有所有持久化消息。没有活跃的涉及超高速缓存,所以你不得不注意JVM和内存同时限制你的设置,是否足够容纳可能在同一时间存在的所有消息。 如果你知道代理将只是存储一定量的消息,内存消息仓库会是有用的,消息通常将快速消耗。但是对于小的想证明于JMS代理交互的测试用例它真的显示出它的威力,但是不要想招致消息仓库开始时间的花费,或者在测试结束后清理消息的麻烦事。 5.5.1配置内存仓库 配置内存仓库很简单。内存仓库是当代理的persistent属性被设置成false(默认情况为true)时使用的实现。这里有一个配置示例: <?xml version="1.0" ...
5.4.3配置JDBC消息仓库 默认JDBC消息仓库配置是简单的。如前面陈述的,默认的JDBC仓库在代理配置中使用Apache Derby,如下:<beans> <broker brokerName="test-broker" persistent="true" xmlns="http://activemq.apache.org/schema/core& ...
ActiveMQ插件式消息仓库API的灵活性允许许多不同的实现选择。最早和更普遍的消息持久化存储实现使用JDBC。 为什么许多组织选择JDBC消息仓库的普遍原因是他们已经有管理关系数据库的专业知识。在上述的消息仓库实现中JDBC持久化在性能上绝不优越。事情的事实是许多业务已经在使用关系数据库所以他们更倾向充分利用它们。 但是使用共享数据库尤其适用于建立多代理的一个多冗余的主从拓扑。当一组ActiveMQ代理被配置来使用共享数据库,它们会尝试连接和攫取锁表中的一个锁,但是只有一个能成功并成为主。其他的代理会成为从,并将处于等待状态,不接受客户端的连接,知道主代理挂掉了。这是ActiveMQ的一般的 ...
AMQ消息仓库,像KahaDB一样,是一个可靠持久化事务性日报(为了幸存于系统崩溃)和高性能索引的组合,它是当消息生产量是应用的主要需求的时候的最佳选择。但是因为它为每个索引使用两个独立的文件,并且每个目标有一个 ...
5.2.1KahaDB消息仓库内部组件 KahaDB消息仓库是所有提供个的消息仓库实现中最快的。它的速度是由于组合了包含数据日志文件的快速的事务性日报,高度优化的消息ID索引,和内存内消息缓存。图5.3(图略)提供了一张上层KahaDB消 ...
从ActiveMQ版本5.3起,对于一般用途的消息,建议使用KahaDB作为消息仓库。这是一个基于文件的消息仓库,它结合了事务性日报,提高了可靠的消息存储和恢复,具有良好的性能和可扩展性。 KahaDB是被调整和设计为快速的消息存储的基于文件的事务性仓库。KahaDB仓库的目标是易用和尽量快。它的基于文件消息数据库的使用意味着没有第三方数据库的先决条件。这个消息仓库使ActiveMQ能被很快下载和运行。除此之外,KahaDB仓库的结构已为消息代理的需要特意改进了。 KahaDB消息仓库为它的索引使用事务性日志并为它的所有目标使用一个索引文件。它已被用到有10000个活跃连接的产品环境,每个连 ...
获得一些在ActiveMQ消息仓库中的消息的存储原理的基础知识是重要的。它会帮助你做配置和提供对在持久化消息传输过程中在ActiveMQ代理中发生了什么一个认识。被发送到队列和主题的消息是被不同地存储的,因为有一些优化可能发生在主题模式而对队列没有意义,如我们将介绍的那样。 对队列的存储是直截了当的--消息主要被先进先出地存储。看图5.1对此的描述(图略)。某时一条消息被调度到单个消费者。只有当消息被消费并答复时才会从代理消息仓库中删除。 对于一个主题的持久订阅者,每个消费者获取一条消息的拷贝。为了节省存储空间,只有消息的一个拷贝被代理存储。存储中的一个持久订阅者对象维护一个指向它的下一个存储消 ...
4.5.2动态网络 迄今我们已经看到如何通过明确的代理URI(传输和网络连接器)建立代理网络并连接它们。如你将在本节看到的,ActiveMQ实现了几个机制,它们能被代理和客户端用 来发现彼此并建立必要的连接。 多路广播连接器 在一个IP网络,IP多路广播是被用来从一个发起者到一组兴趣接收点的简单数据传输(一对多交互)。IP多路广播的一个基本概念被称为组地址。这个组地址是一个在 224.0.0.0到239.255.255.255的范围的地址,它被用在发起者和接收方。发起者使用这个地址作为数据的目的地,然而接收方使用它表示它们在那组数据中的兴趣。 当IP多路广播被配置,ActiveMQ代理使用多 ...
第一种配置和连接代理网络的方法时通过使用静态配置的URI--配置一个可连接的代理URI列表。唯一的先决条件是你要知道你想使用的所有代理的地址。一旦你有了这些地址,你需要知道如何在配置中使用它们。所以让我们看看建立静态代理网络的可用连接器。 静态连接器 静态连接器被用来在一个网络中建立一个多个代理的静态配置。该协议使用了一个组合URI--一个包含其它URI的URI。一个组合URI包含多个在网络连接另外一端的代理地址或URI。 这里是静态协议的URI语法: static:(uri1,uri2,uri3,...)?key=value 你能在ActiveMQ网站(http://mng.bz/r74v)上 ...
代理网创建了由多个ActiveMQ实例组成的群,它们内部相连来满足更高级的消息方案。有许多代理网的拓扑图,它们的目的和它们的详细配置将在第10章详细介绍。之前的章节讨论了提供客户端到代理交互的传输连接器,然而这一章节将讨论提供代理到代理交互的网络连接器。 网络连接器是在代理解配置的通道,使那些代理能相互交互。网络连接器默认是单向通道。一个给定的代理通过转发它收到的消息给连接那一端的代理进行单向传输。此设置通常被称为转发桥。在一些情况下,你可能想要在代理器之间建立一个双向交互通道--一个不仅向外传输给另外一端代理的通道,还能接收从同一个通道的其它代理来的消息。ActiveMQ支持这种双向连接,通常 ...
VM连接器被java应用用来打开嵌入式代理并连上它。使用它意味着在客户端和嵌入式代理间没有网络连接被建立。它们通过代理对象的方法调用直接交互。因为没有应用网络栈,性能提升显著。代理在使用VM协议进行第一次连接的 ...
编程时需要用到正则表达式判断邮件的格式,就顺便学习了一下正则表达式: 写正则表达式时 1,第一步想到的是”具体的元素符“,例如\w,@和.,as \w\+\.\_\%\-\+ PS:\d,\s,\w ... 2,第二步想到的是数量,\w是+,@是single,, as [\w\+\.\_\%\-\+]+@[\w\-]+(\.@[\w\-])+ PS:*,{n,},+,?,{n},{n,m} 3,第三步考虑特殊位置符,例如.的话是不能连续多个:(?!\.{2,}),开始结束用^,$ as ^((?!\.{2,})[\w\+\.\_\%\-\+](?!\.{2,}))+@[\w\-]+(\.@ ...
Global site tag (gtag.js) - Google Analytics