RABBITMQ 3.12.1

1. I run my application and I get an Exception "A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond."

Try to see the inner exceptions via the debugger, for more specific info. Probably, there is an issue with the provided credentials and/or server params. Make sure that:

  • if you are connecting to a non-localhost broker, you are not using the guest user. The guest user is created on installation and is available only from localhost. View the RabbitMQ documentation on how to create a new user.

  • the server host and port are correct. You can validate them on appsettings.config in DSW and on appsettings.json in ODIL.

  • the user credentials are correct. Validate them in the same place as the server params above.

  • if you are connecting to a non-localhost broker, that the hosting server allows access to the broker port. View the RabbitMQ documentation on how to test this. If the test fails, contact IT.

  • the broker is up and running. Visit either http://localhost:15672/ (for local brokers) or http://:15672/ (for remote brokers). View the RabbitMQ documentation on how to start/stop the broker.

  • if all the above do not help, to restart the broker. Again this is documented on the RabbitMQ documentation.

2. Where do I update the broker params in OneDealer solution?

Go to \OneDealer\OneDealer.MVC\appSettings.config, the params are grouped under the "Message Queue region"

3. Where do I update the broker params in Integration Layer solution?

Go to \OneDealer.IntegrationLayer\appsettings.json, the params are under the "MessageQueue" object. More info on the IL.App configuration on IL.App - Configuration.

4. How can I quickly debug the MQ flow?

To quickly debug the MQ flow, anywhere (regardless of whether the ODIL is enabled and/or set to Decoupled) add two breakpoints on

  • OneDealer.BusinessPartner.BusinessLayer.Repositories.BusinessPartnerActionRepository.OnAfterUpdate() at the line that checks if IsEntityActionSyncEnabled() and
  • on OneDealer.Common.BusinessLayer.MappingSystem.ThinkRIT.Managers.IntegrationLayerInterfacingManager.CreateOrUpdateBusinessPartner at the line that checks if !isIntegrationDecoupled.

Then go to a Business Partner and click on Save (no need to change anything).

  • When the debugger pauses on the first breakpoint, move the cursor after eligibleCardTypes.Contains(transformedCardType) and continue.
  • When the debugger pauses on the second breakpoint, move the cursor to the else statement.

If everything is ok, you should then see the message being added in the MQ.

5. I do not have local access to the broker; how can I create a new user?

If you do not have local access to the broker, you must use any admin other than guest, in the Management UI to create a new user. If you do not have such a user, or you want to use the CLI, you need local access to the broker, which means you have to request local access from IT

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.