0

Is it possible to use custom database name (not endpoint) for persisting nservicebus host sagas using ravenDb?

I use NServiceBus 3.3 and RavenDB 2.5. and initialize endpoind in such way:

public class RavenConfig : IWantCustomInitialization
{
    public void Init()
    {
          Configure.Instance.RavenPersistence("AllHostsRavenDB");
          Configure.Instance.RavenSagaPersister();
          Configure.Instance.RavenSubscriptionStorage();
          Configure.Instance.UseRavenTimeoutPersister();
    }
 }

My App.config contains:

<connectionStrings>
  <add name="AllHostsRavenDB" 
     connectionString="Url=http://localhost:8080; DefaultDatabase=ABC;" />
</connectionStrings>
Dzianis Yafimau
  • 2,034
  • 1
  • 27
  • 38

2 Answers2

1

I finally got it working! I changed my custom intitialization from:

public class RavenConfig : IWantCustomInitialization
{
    public void Init()
    {
      Configure.Instance.RavenPersistence("AllHostsRavenDB");
      Configure.Instance.RavenSagaPersister();
      Configure.Instance.RavenSubscriptionStorage();
      Configure.Instance.UseRavenTimeoutPersister();
    }
}

to:

public class RavenConfig : IWantToRunBeforeConfigurationIsFinalized
{
    public void Run()
    {
        Configure.Instance.RavenPersistence("AllHostsRavenDB");
        Configure.Instance.RavenSagaPersister();
        Configure.Instance.RavenSubscriptionStorage();
        Configure.Instance.UseRavenTimeoutPersister();
    }
}
Dzianis Yafimau
  • 2,034
  • 1
  • 27
  • 38
0

From the documentation:

To control the database name in code, instead of via the configuration, use the Configure.RavenPersistence(string connectionStringName, string databaseName) signature. This can be useful in a multitenant scenario.

http://docs.particular.net/nservicebus/ravendb/#nservicebus-3-and-nservicebus-4-overriding-the-defaults

Would that solve your problem?

wlabaj
  • 468
  • 2
  • 6
  • You should be able to use `Configure.RavenPersistence("AllHostsRavenDB", databaseName_has_to_be_guid)` I think, but when I try I keep getting exceptions from raven about not specifying valid guid (although I'm pretty sure it's valid :)). I'll investigate and update you. – wlabaj Aug 25 '16 at 14:49