Skip to content

how to use rabbitmq as messagebus or queue? #1526

Open

Description

@sampsonye

Foundatio.Rabbitmq use uri-spec as connectionstring (https://www.rabbitmq.com/docs/uri-spec)

but in Exceptionless, we can not build it like uri

image

can give me an example?

Activity

  1. niemyjski commented on Mar 25, 2024

    @niemyjski
    Member

    We probably need to take a pass at redoing all of configuration to be more explicit, but you should be able to do this two ways.

    1. Set the MessageBus connection string to provider=rabbitmq;CONNECTION_STRING_HERE
    2. Set the MessageBus connection string to provider=rabbitmq; then add rabbitmq to the connection strings app config / env section with the raw connection string

    cc @ejsmith

  2. self-assigned this
    on Mar 25, 2024
  3. sampsonye commented on Mar 25, 2024

    @sampsonye
    Author

    We probably need to take a pass at redoing all of configuration to be more explicit, but you should be able to do this two ways.

    1. Set the MessageBus connection string to provider=rabbitmq;CONNECTION_STRING_HERE
    2. Set the MessageBus connection string to ; then add rabbitmq to the connection strings app config / env section with the raw connection stringprovider=rabbitmq

    cc @ejsmith
    all dosn't work fine because exceptionless request connectionstring must like key=value patten
    image
    ParseConnectionString() and BuildConnectionString() method working on it.

  4. niemyjski commented on Mar 26, 2024

    @niemyjski
    Member

    Can you please add a sample connection string that can be bested. If you wouldn't mind adding a test and or updating this that would be a huge help. I know the cache one supports this, might have just been a miss.

  5. sampsonye commented on Mar 27, 2024

    @sampsonye
    Author

    image

  6. sampsonye commented on Mar 27, 2024

    @sampsonye
    Author

    image

  7. niemyjski commented on Mar 27, 2024

    @niemyjski
    Member

    Can you paste that connection string here and also try escaping it with quotes?

  8. added a commit that references this issue on Apr 7, 2024
    92f1121
  9. niemyjski commented on Apr 7, 2024

    @niemyjski
    Member

    I was finally able to dig in and get this fixed. I've submitted a pr for the team to review.

  10. niemyjski commented on Apr 7, 2024

    @niemyjski
    Member

    Thanks for logging this, this is fixed in a nightly build

  11. added a commit that references this issue on Apr 7, 2024
    8dc70d7
  12. niemyjski commented on Apr 7, 2024

    @niemyjski
    Member

    I had to revert this change as it was a pretty big breaking change to configuration. We will address this shortly.

  13. added a commit that references this issue on Apr 9, 2024
    5033f18
  14. added 2 commits that reference this issue on May 19, 2026
    eec2a0b
    8a46b75
  15. niemyjski commented on Aug 12, 2026

    @niemyjski
    Member

    Update: PR #2273 has been expanded into a compatibility-safe infrastructure configuration change and is ready for another review: #2273

    For new configurations, RabbitMQ can now be declared directly as a named technology connection string and will automatically supply MessageBus:

    EX_ConnectionStrings__RabbitMQ: amqps://user:password@rabbitmq:5671/%2F

    Raw amqp:// and amqps:// URIs are preserved, including encoded credentials, virtual hosts, query options, and optional wrapping quotes. The older forms remain supported too:

    EX_ConnectionStrings__MessageBus: 'provider=rabbitmq;server="amqps://user:password@rabbitmq:5671/%2F"'

    The PR also adds focused regression tests and self-hosting documentation, while retaining the existing Redis/Helm/Docker selectors that caused the earlier attempt to be reverted as breaking. RabbitMQ is supported for MessageBus; queues continue to use Azure Queues, SQS, Redis, or the local implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions