rebus-org / Rebus.Oracle

:bus: Oracle transport for Rebus
https://mookid.dk/category/rebus
Other
5 stars 10 forks source link

Add DataBus storage #18

Closed jods4 closed 5 years ago

jods4 commented 5 years ago

This is done on top of #20.

Mostly copied from SQL Server implementation, including tests.

Design is the same as other databus:

All 79 tests green on Oracle 11.

Fixes #11

jods4 commented 5 years ago

@mookid8000 While doing this, I noticed that data bus operation (insert or read) are never inside the Rebus scoped transaction.

They are always on their own connection, not the ambient connection from transport. At best, they will enlist in a distributed transaction if there is one.

Is this the intended design?

EDIT: I guess I can answer my own question: Yes it's intended design as data bus may not be in a stockage that is transactionnal with DB (e.g. file storage). That's one more reason why data bus needs to be garbage collected and can't be cleaned up automatically by Rebus.

thomasdc commented 5 years ago

Any plans to apply your changes to Rebus.Oracle.Devart as well? We're currently using that one. The code is mostly copy pasted from Rebus.Oracle.

jods4 commented 5 years ago

@thomasdc not really as I'm not using Devart. Once everything is merged, feel free to copy the new code into Devart if you want!