Last Updated: Nov 28, 2012 10:59AM IST
从NServiceBus3.0开始,RavenDB成为了NServiceBus的机制之一,可以用于持久化timeout,Sagas,Subscriptions等信息。
告诉NServiceBus去使用RavenDB用于持久化,只需要调用Configure.RavenPersistence(),它使用默认的配置,以及如下所述的规约:
1.假如没有master node被配置,那么NServiceBus将会认为RavenDB服务器运行在http://localhost:8080, 同时也是RavenDB默认的URL.
2.假如有master node被配置,那么url将会是: http://{masternode}/:8080
3. 假如一个名为 “NServiceBus.Persistence” 的连接字符串被发现,那么connectionString属性的值将会被使用。
这样你就可以完全控制你的终结点将会使用哪个Raven server。
假如NServiceBus检测到任何Raven相关的存储被使用,比如Saga, Subscription,Timeouts等,那么上面所述将会自动为你配置好,所以本质上你不需要明确地去配置Raven,除非你需要覆盖默认配置。
在一些情况下默认的配置也许对你来说不足够好:
· 1你想要使用自己的连接字符串–假如你正在为你的数据使用Raven,那么你也许想要share连接字符串,你可以通过Configure.RavenPersistence(string connectionString)签名来实现,其告诉NServiceBus连接到字符串指定的服务器,RavenDB默认的连接字符串是“RavenDB”.
· 2你想要明确一个特定数据库名称 – 假如你想要在代码中控制数据库的名称,而不是通过配置实现,那么你可以使用Configure.RavenPersistence(string connectionString,string databaseName) 签名. 这在tenantscenario下是非常有用的。
What database will be used?
在连接到Raven服务器之后,我们需要决定使用哪个真实的数据库。 除非我们能够在连接字符串中发现默认的数据库,否则NServiceBus将会使用终结点名称来作为数据库的名称。 所以假如你的终结点名称是“MyServer”那么数据库的名称也将会是 “MyServer”. 每个终结点都会有一个单独的数据库,除非你明确地去使用连接字符串来覆盖这个默认行为。 如果数据库不存在,RavenDB会自动创建。
关于终结点名称这个概念的详细的解释可以在这里找到:hereandin thisFAQentry.
Can I use the IDocumentStore used byNServiceBus for my own data?
不行,Raven客户端是被整合到了NServiceBus程序集中,所以假如你为了自己的目的要去使用Raven,那么你需要去参考Raven客户端,以及设置你自己的文档存储。
How do I look at the data?
只需要打开浏览器,输入Raven服务器的URL即可,这将会打开the Raven DBmanagementstudio.
分享到:
相关推荐
NServiceBus.Gateway.RavenDB 的官方网关持久性实现 通过我们的了解有关NServiceBus.Gateway.RavenDB的更多信息 如果您有兴趣捐款,请按照的说明进行操作 运行测试 运行测试需要RavenDB 4.2和一个名为...
CQRS-NServiceBus-EventStore-ElasticSearch 展示使用 NServiceBus EventStore 和 ElasticSearch 的 CQRS 架构的原型。 更多信息在我的博客:
NServiceBus 是一个.Net平台下开源的消息服务框架,这类产品有时也被称作ESB(Enterprise Service Bus)——企业服务总线。NServiceBus也是dotnet世界里面最流行的开源企业服务总线。 NServiceBus 是一个用于构建企业...
添加对支持,以将其持久化到Sql数据库。 文献资料 运行测试 有针对多个数据库引擎的测试。 这些可以安装在您的机器上或在docker容器中运行。 这些测试需要在环境变量中设置连接字符串(请记住,Visual Studio和...
由.net开源ESB框架NServiceBus开发的Demo
NServiceBus.Persistence.AzureStorage 和的官方持久性实现。 通过我们的了解有关NServiceBus.Persistence.AzureStorage的更多信息。 如果您有兴趣捐款,请按照的说明进行操作。运行测试之前测试需要连接到Azure ...
Learning NServiceBus, 2nd Edition
最流行的开源企业服务总线NServiceBus for .Net
安装此选项以启用NServiceBus以便通过SQL Server进行消息传递 安装 在执行其他任何操作之前,请确保已在环境中启动并运行SQL Server。 还要确保可以从设置中的所有计算机上访问它。 将NServiceBus.SqlServer添加到...
利用Core(SQL)API的NServiceBus持久性。 这是一个组件。 有关文档,包括用法和示例,可在“。 在本地运行测试 所有测试项目都使用NUnit。 可以使用Visual Studio中包含的测试运行器或使用来执行测试项目。 ...
要构建NServiceBus,只需在Visual Studio中打开NServiceBus.sln 。 您将在/ binaries中找到构建的程序集。 如果看到构建失败,请检查是否没有将NServiceBus的源放在深子目录中,因为MSBuild不支持长路径名(大于248...
NServiceBus 是一个用于构建企业级 .NET系统的开源通讯框架。它在消息发布/订阅支持、工作流集成和高度可扩展性等方面表现优异,因此是很多分布式系统基础平台的理想选择
验证.NServiceBus 添加支持以验证。社区支持预期所有开发人员都将或拥有以使用NServiceBusExtensions。赞助商通过 支持这个项目。 公司头像将在此处显示,并带有网站链接。 该头像还将被添加到下的所有GitHub存储库...
NServiceBus 开源EBS安装文件
NServiceBus.AwsLambda
NServiceBus.Newtonsoft.Json 的官方序列化程序实现通过我们的了解有关NServiceBus.Newtonsoft.Json的更多信息 如果您有兴趣捐款,请按照的说明进行操作
NServiceBus OracleAQ 该库提供了在 NServiceBus 框架中使用 Oracle Advanced Queuing (Oracle AQ) 作为传输的能力。...使用 NServiceBus OracleAQ 传输的好处之一是能够从数据库 PL/SQL 过程或代码块发送消息。
nServiceBus and BizTalk Server.docx
NServiceBus.Hyperion 通过二进制序列化器添加对消息序列化的支持。内容社区支持预期所有开发人员都将或拥有以使用NServiceBusExtensions。赞助商通过 支持这个项目。 公司头像将在此处显示,并带有网站链接。 该...