NServiceBus教程-持久化
NServiceBus的各种特性需要持久性。其中有超时、传奇和订阅存储。
四个持久化技术在NServiceBus在使用:
- RavenDB
- nHibernate
- 内存中
- MSMQ
读到安装Raven DB和如何连接 .
使用NHibernate的持久性
从NServiceBus V3.0,支持NHibernate持久性位于一个单独的组装。的配置被进一步简化V4.0 +。
可用是什么?
下面的表总结了什么是可用的,如何配置每个特性。
类型
内存中
RavenDB
nHibernate
MSMQ
超时
X
X
X
v3.3.0不支持
订阅
X
X
X
X
传奇
X
X
X
- - - - - -
网关
X
X
X
- - - - - -
经销商
- - - - - -
- - - - - -
- - - - - -
X
存储你的订阅MSMQ不适合场景需要规模的端点。原因是,订阅队列不能在多个端点之间共享。
如果自我托管,您可以配置每个功能的持久性技术。例如,在RavenDB存储订阅内存和超时,使用这段代码:
static void Main()
{
Configure.With()
.Log4Net()
.DefaultBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.InMemorySubscriptionStorage()
.UnicastBus()
.ImpersonateSender(false)
.LoadMessageHandlers()
.UseRavenTimeoutPersister()
.CreateBus()
.Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());
}
和NServiceBus v4.x
static void Main()
{
Configure.Serialization.Xml();
Configure.Transactions.Enable();
Configure.With()
.Log4Net()
.DefaultBuilder()
.UseTransport<Msmq>()
.PurgeOnStartup(false)
.InMemorySubscriptionStorage()
.UnicastBus()
.RunHandlersUnderIncomingPrincipal(false)
.LoadMessageHandlers()
.UseRavenTimeoutPersister()
.CreateBus()
.Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());
}
当你使用NServiceBus.Host。exe开箱即用的,您可以使用一个可用的配置文件。下面的表显示了持久性技术每个预构建配置文件默认配置。此外,您可以重写默认配置。阅读更多关于配置文件 ,这里太.
下表总结了不同的持久化技术被内置的配置文件。
配置持久性技术之前,为了避免覆盖你的配置,配置文件检查是否使用其他类型的存储。
- - - - - -
内存中
RavenDB
nHibernate
MSMQ
超时
lite
集成/生产
- - - - - -
保持队列管理
订阅
lite
集成/生产
- - - - - -
- - - - - -
传奇
lite
集成/生产
- - - - - -
- - - - - -
网关
lite
多站点
- - - - - -
- - - - - -
经销商
- - - - - -
- - - - - -
- - - - - -
经销商
默认的持久化技术
的 AsAServer角色激活超时经理。这个角色不明确地确定使用哪一个持久化技术。因此,默认超时持久化技术经理(RavenDB)。
类似于 AsAServer角色,不同的概要文件激活不同NServiceBus特性,没有显式配置持久化技术。
阅读更多关于不同的配置文件 .
NServiceBus教程-持久化的更多相关文章
- NServiceBus教程-持久化配置
当配置在NServiceBus v5持久性,秩序是非常重要的.最后赢得持久性配置选项.我们看看一些例子. 示例1 在本例中最后一个配置选项将会覆盖前面的所有选项. v5.2 v5.0 编辑 var c ...
- NServiceBus教程-NServiceBus和WCF
WCF中缺少的最主要的事情是发布/订阅,但为什么你必须建立它自己吗?NServiceBus,你把它弄出来. 下一个重要的事情是容错.异常导致WCF代理休息,需要"刷新"的代码,但调 ...
- NServiceBus教程-消息传递与处理
nservicebus"的容错默认"设计的一部分,基础设施管理事务自动所以你不需要记住所有的线程和状态管理要素配置. 客户端和服务器 理想情况下,服务器代码处理消息事务,但它往往不 ...
- nservicebus教程-目录
表的内容 开始 坚持NServiceBus 扩展 每天 举办 管理和监控 发布订阅 长时间运行的流程 定制 版本控制 常见问题解答 样品 开始 概述 NServiceBus一步一步向导 架构原则 事务 ...
- 『MXNet』专题汇总
MXNet文档 MXNet官方教程 持久化模型 框架介绍 『MXNet』第一弹_基础架构及API 『MXNet』第二弹_Gluon构建模型 『MXNet』第三弹_Gluon模型参数 『MXNet』第四 ...
- 《连载 | 物联网框架ServerSuperIO教程》- 15.数据持久化接口的使用。附:3.2发布与版本更新说明。
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 《物联网框架ServerSuperIO教程》-19.设备驱动和OPC Client支持mysql、oracle、sqlite、sqlserver的持久化。v3.6.4版本发布
19.设备驱动和OPC Client支持mysql.oracle.sqlite.sqlserver的持久化 19.1 概述 ServerSuperIO支持设备驱动和OPC Client采集的数 ...
- Spring Cloud Alibaba基础教程:Nacos的数据持久化
前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...
- Entity Framework入门教程(5)---EF中的持久化场景
EF中的持久性场景 使用EF实现实体持久化(保存)到数据库有两种情况:在线场景和离线场景. 1.在线场景 在线场景中,context是同一个上下文实例(从DbContext派生),检索和保存实体都通过 ...
随机推荐
- 10.cadence.自定义焊盘的创建[原创]
一.自定义图形焊盘 1.设置环境(面板大小,格点) --- ------ 圆形 Shape > Circular ---- 两个DRC错误,证明图形重合了, 将图形复合一下: --- 椭圆类焊盘 ...
- Selenium系列教程(2)
Selenium RC(Selenium远程控制) Selenium RC是一个用Java编写的,允许用户使用无论哪种编程语言对基于Web的应用程序构建测试脚本的工具.Selenium RC克服了Se ...
- 使用Myeclipse完成Hibernate的逆向工程
前面已经提到过Hibernate的开发流程一般有两种: 1.由Domain object > mapping > db 2.由db开始,用工具生成生成mapping 和Domain obj ...
- Jquery-json
第三方插件: jquery.json-2.4.js Jquery-json 是 jQuery 的一个插件,可轻松实现对象和 JSON 字符串之间的转换.可序列化 JavaScript 对象.数值.字符 ...
- 转:ORACLE的JDBC连接方式:OCI和THIN
oracle的jdbc连接方式:oci和thin oci和thin是Oracle提供的两套Java访问Oracle数据库方式. thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracl ...
- core--作业
线程被封装在进程中,进程能不能被封装? 当有多个进程协调一起来完成一项任务的时候,就使用"作业"来完成 作业将进程组合在一起,并创建一个"盒子"来限制进程能够做 ...
- 读取Properties文件工具类
import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java ...
- Kafka Topic动态迁移 (源代码解析)
总结下自己在尝试Kafka分区迁移过程中对这部分知识的理解,请路过高手指正. 关于Kafka数据迁移的具体步骤指导,请参考如下链接:http://www.cnblogs.com/dycg/p/3922 ...
- IOS中用UIFont返回字体的行高、动态改变tableView中Cell的高度
一.动态改变Cell的高度 1.利用tableView代理方法的返回值决定每一行cell的高度 - (CGFloat)tableView:(UITableView *)tableView height ...
- JVM内存结构——运行时数据区
在Java虚拟机规范中将Java运行时数据划分为6种,分别为: PC寄存器(程序计数器) Java栈 堆 方法区 运行时常量池 本地方法栈 一.PC寄存器(程序计数器) PC寄存器(Program C ...