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派生),检索和保存实体都通过 ...
随机推荐
- PostgreSQL的创建表
PostgreSQL的CREATE TABLE语句是用来在任何指定的的数据库中创建一个新表. 语法 CREATE TABLE语句的基本语法如下: CREATE TABLE table_name( co ...
- 关于scut使用WebService
起初是看见官方例子里天界行的项目使用了WebService想试一下.用来做充值回调,后来发现由于版本更新已经弃用了 问了下管理员,由于天界行直接从iis服务端移植过来所以还保留了Webservice的 ...
- Android内存管理(4)*官方教程 含「高效内存的16条策略」 Managing Your App's Memory
Managing Your App's Memory In this document How Android Manages Memory Sharing Memory Allocating and ...
- 【AStar】初赛第一场
1. All X1.1 基本思路k和c的范围都不大,因此可以考虑迭代找循环节,然后求余数,判定是否相等.这题还是挺简单的.1.2 代码 /* 5690 */ #include <iostream ...
- Charles是Mac的Fiddler抓包工具
windows下面我们经常使用 Fiddler 抓包工具进行代理等一系列操作.然而,在 Mac 下的 Fiddler 勉强能运行,但是其挫的都不想说它了.今天看到朋友推荐这款 Charles Mac下 ...
- HeadFirst Jsp 07 (使用 jsp)
Jsp 变成 Servlet, 容器会查看你的JSP, 把它转换成java源代码, 再编译成完整的Java servlet类. Jsp 不需要你的编译, 容器会自动替换成servlet. 在 jsp中 ...
- Bootstrap介绍以及配置
一.Bootstrap概述: 1.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的一个用于快速开发 Web 应用程序和网站的前端框架. 2.用于开发响应式布局.移动设备优先的 W ...
- git项目实战常用workflow和命令
一个从无到有的项目大体经历-创建项目目录,创建repo,配置过滤集,配置git user,导入已有基础代码入库,将库放到central去,建立分支,修改代码,checkin代码,分支上 测试验证代码, ...
- volley(5) 参数total_remain:totalqty, data:[{ bar_status:XX , bar_code: "XX",bar_remain:XX, bar_whcode:"XX" , bar_prodcode:"XX",bar_id:XX,bar_location: "XX", pr_detail: "XX" , bar_batchcode:method:POST
1. 来源 : WHCombineBatchFragment.java 2. 部分代码 WHCombineBatchFragmentCombineBtnClickEvent whc2;private ...
- .net remoting 客户端与服务端绑定事件,一部电脑当服务器,另一部当客户端,发布后没法接收远程错误信息。
可以是用下面代码抛出远程错误,客户端和服务端都要设置,因为服务端事件回调时角色变成了远程客户端了. RemotingConfiguration.CustomErrorsMode = CustomErr ...