Database Reference
In-Depth Information
The data that is typically persisted in these methods have to deal with message informa-
tion such as Timeouts, Subscriptions, sagas' objects, Gateways, and Distributors. The fol-
lowing bullet list provides a brief explanation of this message information:
Timeouts : Timeout entities is the message information that has to be stored when
a timer message is used. Sagas use timeouts, and timers can also be set when
scheduling NSB tasks and messages. This is used with the timeout persister, such
as .UseNHibernateTimeoutPersister() , to persist the data in the SQL
Server database, as shown in the following screenshot:
Subscription : Subscription information is used in publish/subscribe scenarios to
keep track of the subscribers' information. This will typically be the queues that
they are subscribing to and the messages that the subscribers are looking for. By
viewing a publish/subscribe example that is defaulted to RavenDB for the sub-
scription information, we can see the client queues and the message types that
they process.
Sagas : Sagas store their message information in a saga data object that will con-
tain at least the Id , Originator , and OriginalMessageId . This is the
generated information from the saga engine to respond to the client with a rela-
tionship to the original message. If a timeout is set, it will also persist the timeout
information as well. We can configure .UseNHibernateSagaPersis-
ter() to persist the saga entity information to SQL Server as follows:
Gateway storage : Gateway acts like a router to remote sites through HTTP and
HTTPS to forward and receive messages that are remote and cannot use IPSEC or
VPN tunnels. Using .UseNHibernateGatewayPersister( ); in the
Headquarters project for SQL Server will store the gateway messaging res-
ults, as follows, for persistence:
Search WWH ::




Custom Search