gorealis/vendor/git.apache.org/thrift.git/contrib/Rebus
Renan DelValle 8d445c1c77
Moving from govendor to dep, updated dependencies (#48)
* Moving from govendor to dep.

* Making the pull request template more friendly.

* Fixing akward space in PR template.

* goimports run on whole project using ` goimports -w $(find . -type f -name '*.go' -not -path "./vendor/*" -not -path "./gen-go/*")`

source of command: https://gist.github.com/bgentry/fd1ffef7dbde01857f66
2018-01-07 13:13:47 -08:00
..
Properties Moving from govendor to dep, updated dependencies (#48) 2018-01-07 13:13:47 -08:00
ServiceImpl Moving from govendor to dep, updated dependencies (#48) 2018-01-07 13:13:47 -08:00
App.config Moving from govendor to dep, updated dependencies (#48) 2018-01-07 13:13:47 -08:00
Program.cs Moving from govendor to dep, updated dependencies (#48) 2018-01-07 13:13:47 -08:00
README.md Moving from govendor to dep, updated dependencies (#48) 2018-01-07 13:13:47 -08:00
RebusSample.csproj Moving from govendor to dep, updated dependencies (#48) 2018-01-07 13:13:47 -08:00
RebusSample.sln Moving from govendor to dep, updated dependencies (#48) 2018-01-07 13:13:47 -08:00
sample.thrift Moving from govendor to dep, updated dependencies (#48) 2018-01-07 13:13:47 -08:00

Sample code for the combination of Thrift with Rebus.

Rebus is a .NET service bus, similar to NServiceBus, but more lightweight. It ihas been mainly written by Mogens Heller Grabe and is currently hosted on GitHub (https://github.com/rebus-org/Rebus)

As with all ServiceBus or MQ scenarios, due to the highly asynchronous operations it is recommended to do all calls as "oneway void" calls.

The configuration can be done via App.Config, via code or even mixed from both locations. Refer to the Rebus documentation for further details. For this example, since we are effectively implementing two queue listeners in only one single process, we do configuration of incoming and error queues in the code.

If you want to communicate with non-NET languages, you may need a customized serializer as well, in order to override Rebus' default wire format. Please refer to the Rebus docs on how to do that (it's not that hard, really).

Additional requirements:

  • RabbitMQ .NET client (see nuget)