Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ActiveMQ Artemis support? #379

Open
JohnGalt1717 opened this issue Jan 10, 2025 · 5 comments · May be fixed by #386
Open

ActiveMQ Artemis support? #379

JohnGalt1717 opened this issue Jan 10, 2025 · 5 comments · May be fixed by #386

Comments

@JohnGalt1717
Copy link

Related to an existing integration?

Yes

Existing integration

ActiveMQ

Overview

It would be really nice to use the much newer Artimis version of ActiveMQ. I've been able to hack it to sort of work with the current implementation, but having proper support would be amazing.

Usage example

Anywhere that ActiveMQ can be used.

Breaking change?

No

Alternatives

Manual configuration

Additional context

No response

Help us help you

No, just wanted to propose this

@aaronpowell
Copy link
Member

@anoordover any thoughts on this?

@anoordover
Copy link
Contributor

anoordover commented Jan 13, 2025

@aaronpowell

Just to structure my thinking I will inventorize everything I needed to change to get the ActiveMQ hosting working with Artemis:

  1. I needed to use another Image and ImageTag (apache/activemq-artemis and 2.39.0)
  2. I needed to change the environment variables from ACTIVEMQ_CONNECTION_USER to ARTEMIS_USER and ACTIVEMQ_CONNECTION_PASSWORD to ARTEMIS_PASSWORD;
  3. I needed to change the URL for the Jolokia endpoint being called for the health-check to /console/jolokia/read/org.apache.activemq.artemis:broker=%220.0.0.0%22/Started
  4. After trying something I also see that I need to change the volumes being used for Artemis: Data is on /var/lib/artemis-instance and config is on /var/lib/artemis-instance/etc-override

Because this hosting package was my first implementation it is hard for me to design a simple solution to support both ActiveMQ classic and ActiveMQ Artemis from the same hosting package.

With my current knowledge I would change this:

  • Add a optional bool parameter in AddActiveMQ useArtemis to let the user choose between Classic or Artimis;
  • Add a new internal static class with the Registry, Image and ImageTag for artemis;
  • Introduce two private const for the two jolokia paths and change the private method WithJolokiaHealthCheck and add a path parameter to this method;
  • I don't know how to change the location for the volumes yet. Can I store the choice for Classic or Artemis in ActiveMQServerResource?
  • Shall I group the settings that differ in a record implementing an interface for getting the values with two static instances. One for artemis and one for classic?

@JohnGalt1717 do you have any special requirements?

@JohnGalt1717
Copy link
Author

ActiveMqArtemisServerResource.zip

I took a go at my own implementation. I have a different health check URL, but I think it's pretty close?

anoordover added a commit to anoordover/Aspire that referenced this issue Jan 13, 2025
anoordover added a commit to anoordover/Aspire that referenced this issue Jan 13, 2025
anoordover added a commit to anoordover/Aspire that referenced this issue Jan 13, 2025
@aaronpowell
Copy link
Member

I'll take you word on it (I've never used ActiveMQ) 🤣

@anoordover anoordover linked a pull request Jan 14, 2025 that will close this issue
7 tasks
@anoordover
Copy link
Contributor

anoordover commented Jan 14, 2025

@aaronpowell Should I create a second set of example projects using Artemis? If so, what should I name it and where should I place this second set?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants