Skip to content
This repository was archived by the owner on Apr 15, 2025. It is now read-only.
This repository was archived by the owner on Apr 15, 2025. It is now read-only.

Create rule "Local message queue or message hub" #4

@agoncal

Description

@agoncal

This rule highlights use of on-premises message queues which will need replaced with Azure alternatives such as Azure Service Bus or Azure Storage Queues. Specific patterns for identifying these vary based on the specific dependencies, but the most common are:

  • Use of the RabbitMQ.Client namespace which would indicate use of a local RabbitMQ instance.
  • Use of the MassTransit.Bus.Factory.CreateUsingRabbitMq API which also indicates RabbitMQ use.
  • Use of Microsoft.ServiceBus.Messaging APIs with a connection string of the form sb://<host>/<namespace> (as opposed to sb://<namespace>.servicebus.windows.net). This one is a bit nuanced because Microsoft.ServiceBus.Messaging might be used to connect to either on-premises Service Bus instances or Azure-hosted ones, and only on-premises service bus usage is problematic.

These metadata are interesting to both Azure App Service and containerized targets.

Java specific things to review:

  • Usage of JMS, look for javax.jms package usage
  • Usage of Apache MQ / Rabbit MQ clients or other 3rd party clients

Existing WindUp Rules

Existing Azure Documentation

WindUp Discovered Messaging Services

The connect.windup.groovy technology rule already checks for:

  • ActiveMQ
  • RabbitMQ
  • Spring Messaging Client
  • Amazon SQS Client
  • HornetQ Client
  • AMQP Client
  • RocketMQ Client
  • 0MQ Client
  • JBossMQ Client
  • Kafka Client

Supported Azure Messaging Services

### PRs
- [ ] https://github.com/Azure/windup-rulesets/pull/53
- [ ] https://github.com/windup/windup-rulesets/pull/979
- [ ] https://github.com/Azure/windup-rulesets/pull/114

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions