RabbitMQ | RabbitMQ入门-浏览了几乎全部的官方文档 | Pub Sub library

 by   BrightStarry Java Version: Current License: No License

kandi X-RAY | RabbitMQ Summary

kandi X-RAY | RabbitMQ Summary

RabbitMQ is a Java library typically used in Messaging, Pub Sub applications. RabbitMQ has no bugs, it has build file available and it has low support. However RabbitMQ has 8 vulnerabilities. You can download it from GitHub.

因为本来只是自己学习时的一个项目,没有想着发出来,所以可能比较混乱. 建议如下阅读步骤(标题): 安装->分布式->集群->简介->交易所->官方标准api->注意点 几乎整理了官方文档中的大部分常用功能. yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel. rpm --import yum install rabbitmq-server-3.7.2-1.el7.noarch.rpm. 系统启动时启动 chkconfig rabbitmq-server on 服务启动 service rabbitmq-server start 服务停止 service rabbitmq-server stop 服务是否启动 service rabbitmq-server status webSocket插件启用 rabbitmq-plugins enable rabbitmq_web_mqtt. String queueName = channel.queueDeclare().getQueue();.

            kandi-support Support

              RabbitMQ has a low active ecosystem.
              It has 29 star(s) with 13 fork(s). There are no watchers for this library.
              It had no major release in the last 6 months.
              RabbitMQ has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of RabbitMQ is current.

            kandi-Quality Quality

              RabbitMQ has 0 bugs and 0 code smells.

            kandi-Security Security

              RabbitMQ has 8 vulnerability issues reported (1 critical, 2 high, 3 medium, 2 low).
              RabbitMQ code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              RabbitMQ does not have a standard license declared.
              Check the repository for any license declaration and review the terms closely.
              Without a license, all rights are reserved, and you cannot use the library in your applications.

            kandi-Reuse Reuse

              RabbitMQ releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              RabbitMQ saves you 201 person hours of effort in developing the same functionality from scratch.
              It has 493 lines of code, 24 functions and 13 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed RabbitMQ and discovered the below as its top functions. This is intended to give you an instant insight into RabbitMQ implemented functionality, and help decide if they suit your requirements.
            • Main entry point
            • Re receive channel
            • Wait for a period of time
            • Utility method to do a few seconds
            • Sends the command
            • Send request to server
            • Start the RabbitMQ application
            Get all kandi verified functions for this library.

            RabbitMQ Key Features

            No Key Features are available at this moment for RabbitMQ.

            RabbitMQ Examples and Code Snippets

            No Code Snippets are available at this moment for RabbitMQ.

            Community Discussions


            Losing messages when using RabbitMQ with .NET Core WebAPI
            Asked 2021-Jun-15 at 11:21

            I am trying to receive and send simple messages from two web APIs using RabbitMQ. It is a pretty simple code for now, and I am trying to see if both the APIs are properly able to communicate with each other. The issue is that I am not receiving all the messages and unable to establish a pattern between those that I am losing and those I am receiving. Below is the sample code.

            For sending messages



            Answered 2021-Jun-15 at 08:26

            I think, if you change your acknowledge mode, the problem will be fixed: change your consumer part like this:

            Source https://stackoverflow.com/questions/67981773


            Java RabbitMQ connection is already closed
            Asked 2021-Jun-15 at 10:14

            I need to push messages to external rabbitmq. My java configuration successfully declares queue to push, but every time I try to push, I have next exception:



            Answered 2021-Jun-15 at 07:19

            I'm struggling to understand how that code fits together, but this part strikes me as definitely wrong:

            Source https://stackoverflow.com/questions/67981368


            RabbitMQ does not load the advanced.config file
            Asked 2021-Jun-14 at 09:19

            We are looking to upgrade to the latest version of RabbitMQ so I have installed Erlang 24.0 and RabbitMQ 3.8.16 onto a Windows 10 PC for testing. I have the two RabbitMQ configuration files (rabbitmq.conf and advanced.config) stored in a folder called C:\RabbitMQ. The advanced.config contains static shovel configuration. I cannot get RabbitMQ to recognise the advanced.config file. Has anyone encountered this problem before?

            We have earlier installs of RabbitMQ (i.e. Erlang 22.1 an RabbitMQ 3.8.2) running on Windows Server 2019 and these earlier versions load both config files with no issues.

            All of our RabbitMQ installations store the config files in a folder called C:\RabbitMQ. We then set three environment variables to ensure that RabbitMQ recognises the folder and files:

            • RABBITMQ_ADVANCED_CONFIG_FILE - C:\RabbitMQ\advanced
            • RABBITMQ_BASE - C:\RabbitMQ
            • RABBITMQ_CONFIG_FILE - C:\RabbitMQ\rabbitmq

            I have followed the advice on the RabbitMQ config page https://www.rabbitmq.com/configure.html with regard to verifying the config file location.

            I have also run the rabbitmq-diagnostics command which shows that only one config file is being loaded:

            If I run the same command on our earlier installation then I can see that both files are being loaded:



            Answered 2021-Jun-14 at 09:19

            We tested it internally and everything works as expected.

            Note that:

            Source https://stackoverflow.com/questions/67962479


            AsyncApi and RabbitMq
            Asked 2021-Jun-11 at 19:02

            How do I put my RabbitMq exchange to an asyncapi definition?

            In the examples I found this ...



            Answered 2021-Jun-11 at 19:02

            There is an entire exchange property you can use for the channel binding for AMQP. The binding you are currently using is the operation binding.

            This means that you can define it as such

            Source https://stackoverflow.com/questions/67941467


            Rabbitmq msg_store_transient of a queue is consuming all disk space
            Asked 2021-Jun-11 at 17:28

            erlang version = 1:24.0.2-1

            rabbitmq-server version = 3.8.16-1

            Recently installed latest rabbitmq on Ubuntu20. I verified that all was working fine and consumer was consuming the notification from messaging queue as required.

            After approximately a day, rabbbitmq crashed as there was 0 disk space left.

            After analysis found that around 10G was consumed by msg_store_transient, to which restarting rabbitmq solved the issue. But after a day, it happens again.

            Can someone help me further?



            Answered 2021-Jun-06 at 12:54

            most likely you are consuming messages without sending back the basic_ack, see for example here the ch.basic_ack

            What to do:

            • check the unacked messages see:
            • check if you are using too many not persistent messages
            • check if you are using too many not persistent queues

            Source https://stackoverflow.com/questions/67851369


            How to call a generic method in generic service?
            Asked 2021-Jun-11 at 14:51

            I have a generic class that one of its fields is a generic service. In this class, I have a method with the name InitialQueue that its purpose is to call one of the generic service methods that I give it to InitialQueue method. My problem is that I do not have any idea how to invoke the method.



            Answered 2021-Jun-10 at 15:39

            As mentioned by Mong Zhu, if you qualify more of your incoming generics such as

            Source https://stackoverflow.com/questions/67922859


            Specifying local helm dependency
            Asked 2021-Jun-11 at 11:33

            I am trying to add a rabbitmq service using a bitnami helm chart. the chart contains one dependent helm chart which is called common. The whole application itself is deployed using a parent helm chart and each service has its own separate helm chart. the Helm chart structure looks like this-



            Answered 2021-Jun-11 at 11:33

            You don't need to unpack the charts/*.tgz file. If they're in that directory (and still packed up) then Helm will use them to run the deployment. Helm won't contact the external chart repository on its own, only when you run the helm dependency commands.

            After you run helm dep up your filesystem layout should look like

            Source https://stackoverflow.com/questions/67912506


            How to properly handle with AMQP connections to and api with multiple producers
            Asked 2021-Jun-11 at 07:52

            I'm developing an api that communicates with other services from an event architecture using RabbitMQ Topics. Several routes from my API will publish events and I would like to have a single live connection at all times in my API. That way, at every new request I just create a new channel, and keep only one connection (I decided to do this after reading about how expensive an amqp 0-9-2 connection is).

            For now I have something like this:



            Answered 2021-Jun-11 at 07:52

            form the official pika documentation

            Is Pika thread safe?

            Pika does not have any notion of threading in the code. If you want to use Pika with threading, make sure you have a Pika connection per thread, created in that thread. It is not safe to share one Pika connection across threads, with one exception: you may call the connection method add_callback_threadsafe from another thread to schedule a callback within an active pika connection.

            so your solution can work with a single thread

            Source https://stackoverflow.com/questions/67909244


            How to mock MassTransit Header values in unit test using NSubstitute
            Asked 2021-Jun-09 at 12:03

            I'm trying to create a unit test that will test my MassTransit (RabbitMq) consumer. My consumer is expected a bus header key called UserName. I've simplified my consumer class as follows. I need to find a way to mock the bus header data otherwise the test will always raise an exception when it executes context.Headers.TryGetHeader("UserName", out object value)

            I'm using the NSubstitute mocking library. So how do I mock the ConsumeContext type, and set a mock header value? I prefer a solution with NSubstitute



            Answered 2021-Jun-09 at 12:03

            You don’t mock header values when using MassTransit, you just have to set them when you’re sending the message using the test harness. There is absolutely zero need for a mocking framework.

            Source https://stackoverflow.com/questions/67899303


            Symfony RabbitMQ Bundle in AWS (managed service): Any way to get this working?
            Asked 2021-Jun-09 at 09:33

            We really tried a lot but it still can not get the Symfony RabbitMQ bundle (https://github.com/php-amqplib/RabbitMqBundle) running in AWS (with Docker). AWS only allows AMQPS and port 5671 to be opened in the AWS managed service.

            This is our current configuration in detail:



            Answered 2021-Jun-09 at 09:33

            Finally solved - you have to define a custom AMQPChannel with a custom AMQPConnection with SSL options and then set this AMQPChannel to the producer:

            Source https://stackoverflow.com/questions/67890842

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            Pivotal RabbitMQ, versions 3.7.x prior to 3.7.21 and 3.8.x prior to 3.8.1, and RabbitMQ for Pivotal Platform, 1.16.x versions prior to 1.16.7 and 1.17.x versions prior to 1.17.4, contain a web management plugin that is vulnerable to a denial of service attack. The "X-Reason" HTTP Header can be leveraged to insert a malicious Erlang format string that will expand and consume the heap, resulting in the server crashing.
            RabbitMQ versions 3.8.x prior to 3.8.7 are prone to a Windows-specific binary planting security vulnerability that allows for arbitrary code execution. An attacker with write privileges to the RabbitMQ installation directory and local access on Windows could carry out a local binary hijacking (planting) attack and execute arbitrary code.
            Pivotal RabbitMQ, 3.7 versions prior to v3.7.20 and 3.8 version prior to v3.8.1, and RabbitMQ for PCF, 1.16.x versions prior to 1.16.7 and 1.17.x versions prior to 1.17.4, contain two endpoints, federation and shovel, which do not properly sanitize user input. A remote authenticated malicious user with administrative access could craft a cross site scripting attack via the vhost or node name fields that could grant access to virtual hosts and policy management information.
            Pivotal RabbitMQ, versions prior to v3.7.18, and RabbitMQ for PCF, versions 1.15.x prior to 1.15.13, versions 1.16.x prior to 1.16.6, and versions 1.17.x prior to 1.17.3, contain two components, the virtual host limits page, and the federation management UI, which do not properly sanitize user input. A remote authenticated malicious user with administrative access could craft a cross site scripting attack that would gain access to virtual hosts and policy management information.
            Pivotal RabbitMQ for PCF, all versions, uses a deterministically generated cookie that is shared between all machines when configured in a multi-tenant cluster. A remote attacker who can gain information about the network topology can guess this cookie and, if they have access to the right ports on any server in the MQ cluster can use this cookie to gain full control over the entire cluster.
            An issue was discovered in these Pivotal RabbitMQ versions: all 3.4.x versions, all 3.5.x versions, and 3.6.x versions prior to 3.6.9; and these RabbitMQ for PCF versions: all 1.5.x versions, 1.6.x versions prior to 1.6.18, and 1.7.x versions prior to 1.7.15. RabbitMQ management UI stores signed-in user credentials in a browser's local storage without expiration, making it possible to retrieve them using a chained attack.
            puppetlabs-rabbitmq 3.0 through 4.1 stores the RabbitMQ Erlang cookie value in the facts of a node, which allows local users to obtain sensitive information as demonstrated by using Facter.
            CVE-2016-9877 CRITICAL
            An issue was discovered in Pivotal RabbitMQ 3.x before 3.5.8 and 3.6.x before 3.6.6 and RabbitMQ for PCF 1.5.x before 1.5.20, 1.6.x before 1.6.12, and 1.7.x before 1.7.7. MQTT (MQ Telemetry Transport) connection authentication with a username/password pair succeeds if an existing username is provided but the password is omitted from the connection request. Connections that use TLS with a client-provided certificate are not affected.
            CRLF injection vulnerability in the management plugin in RabbitMQ 2.1.0 through 3.4.x before 3.4.1 allows remote attackers to inject arbitrary HTTP headers and conduct HTTP response splitting attacks via the download parameter to api/definitions.

            Install RabbitMQ

            You can download it from GitHub.
            You can use RabbitMQ like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the RabbitMQ component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone BrightStarry/RabbitMQ

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Pub Sub Libraries


            by greenrobot


            by apache


            by celery


            by apache


            by apache

            Try Top Libraries by BrightStarry


            by BrightStarryJava


            by BrightStarryJava


            by BrightStarryJava


            by BrightStarryJava


            by BrightStarryJava