Hi Kunal- I expect you’ll get a wide range of responses here =). ActiveMQ has two brokers, and they do similar things but it essentially comes down to who is the best fit for supporting your organizations’ ActiveMQ infrastructure?
I take exception to Justin’s comments here — ActiveMQ Classic has a fresh round of modernized releases that are more than dependency updates. There is a healthy list of improvements for observability, extensibility, and improvements for support of multi-tenant message flows. Plans are being made for ActiveMQ Classic 7.x, as well as an approach for applying modernization without requiring fork-lift upgrade. I’d also put an asterisk on the notion that recent commits are a reliable indicator of future community engagement. ActiveMQ Classic is very stable, processes billions and billions of messages per day and perhaps doesn’t need as many fixes? Thanks, Matt Pavlovich > On Oct 4, 2024, at 11:07 PM, Justin Bertram <jbert...@apache.org> wrote: > > Development on Classic has slowed considerably since focus has shifted to > Artemis. Most of the folks who've contributed the most code to Classic > historically have either left the project or moved over to Artemis. The > Artemis repo has almost 100 more total committers and almost as many > commits as the Classic repo despite being roughly half its age. That said, > Classic has a dedicated following of folks who are either unable to migrate > (e.g. due to constraints in a legacy environment) or simply don't need to. > For these folks there are regular releases which mainly consist of > dependency upgrades (e.g. to deal with security issues) and bug fixes. > > Ken mentioned that both Artemis and Classic have different feature sets, > and while that's technically true there is, of course, a tremendous amount > of overlap. Pretty much every feature in Classic now has an exact or > functionally equivalent feature in Artemis. > > You'd need to get in touch with Amazon to get more details about what might > or might not be on their roadmap. Generally speaking, we have no visibility > into that as Apache community members. > > > Justin > > On Thu, Oct 3, 2024 at 8:56 PM Kunal Rao <ku...@mechination.com.au> wrote: > >> Thanks Justin. >> I am planning to use Amazon MQ (only supports classic) as a central broker >> and Artemis as satellite brokers with the assumption that artemis is a more >> supported product and classic is treated as legacy with regards to >> development and support. >> Firstly, Is my assumption correct? >> >> We are considering three options: >> 1. Use "classic" everywhere. Amazon MQ can be used as a central broker. >> 2. Use "artemis" everywhere. benefits of Artemis outweigh "classic" and the >> use of managed service in Amazon MQ. >> 3. Hybrid approach. Use Amazon MQ centrally ( hoping artemis is on their >> roadmap) and Artemis on all satellite brokers. >> >> I would love to hear your thoughts on this please. >> >> Once again thanks for the prompt response. >> >> Kunal >> >> On Fri, 4 Oct 2024 at 00:51, Justin Bertram <jbert...@apache.org> wrote: >> >>> Just to clarify...ActiveMQ Classic doesn't support the Core protocol so >>> that is why you can't use a Core bridge to integrate. >>> >>> >>> Justin >>> >>> On Thu, Oct 3, 2024 at 8:29 AM Justin Bertram <jbert...@apache.org> >> wrote: >>> >>>> Yes. You can bridge messages from Artemis to Classic and vice versa. >>>> However, you can't use a Core bridge to do it. Core bridges, as the >> name >>>> suggests, use the Core protocol. A Core bridge can't use the AMQP >>> protocol. >>>> >>>> I recommend Camel since it's mature, powerful, and ubiquitous. You can >>> set >>>> up Camel routes on either Artemis or Classic. Here's [1] an example of >>> how >>>> to do it on Artemis. >>>> >>>> It's also possible to use the JMS bridge that ships with Artemis [2]. >>>> >>>> >>>> Justin >>>> >>>> [1] >>>> >>> >> https://github.com/apache/activemq-artemis-examples/tree/main/examples/features/standard/camel >>>> [2] >>>> >>> >> https://github.com/apache/activemq-artemis-examples/tree/main/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge >>>> >>>> On Thu, Oct 3, 2024 at 2:38 AM Kunal Rao <ku...@mechination.com.au> >>> wrote: >>>> >>>>> Hi, >>>>> >>>>> Is it possible to bridge artemis with classic broker? >>>>> I am trying with AMQP protocol. >>>>> >>>>> I am getting this error >>>>> >>>>> p1broker-1 | 2024-10-03 07:34:50,270 WARN >>>>> [org.apache.activemq.artemis.core.server] AMQ224091: Bridge >>>>> BridgeImpl@6a3012f8 [name=amqp-bridge, >>> queue=QueueImpl[name=p1broker.out, >>>>> postOffice=PostOfficeImpl [server=ActiveMQServerImpl::name=0.0.0.0], >>>>> temp=false]@7af74850 targetConnector=ServerLocatorImpl >> (identity=Bridge >>>>> amqp-bridge) >>>>> [initialConnectors=[TransportConfiguration(name=activemq-classic-amqp, >>>>> >>>>> >>> >> factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=5672&host=centralbroker&protocols=AMQP], >>>>> discoveryGroupConfiguration=null]] is unable to connect to >> destination. >>>>> Retrying >>>>> centralbroker-1 | WARN | Connection attempt from non AMQP v1.0 >> client. >>>>> ARTEMIS,0 >>>>> centralbroker-1 | WARN | Transport Connection to: tcp:// >>>>> 172.19.0.3:33778 >>>>> failed: Connection from client using unsupported AMQP attempted >>>>> >>>>> broker.xml >>>>> ========= >>>>> >>>>> <acceptors> >>>>> >>>>> <acceptor name="artemis"> >>>>> tcp:// >>>>> >>>>> >>> >> 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;amqpMinLargeMessageSize=102400;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300;amqpDuplicateDetection=true;supportAdvisory=false;suppressInternalManagementObjects=false >>>>> </acceptor> >>>>> >>>>> <!-- AMQP Acceptor. Listens on default AMQP port for AMQP traffic.--> >>>>> <acceptor name="amqp"> >>>>> tcp:// >>>>> >>>>> >>> >> 0.0.0.0:5672?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=AMQP;useEpoll=true;amqpCredits=1000;amqpLowCredits=300;amqpMinLargeMessageSize=102400;amqpDuplicateDetection=true;handshake-timeout=0 >>>>> </acceptor> >>>>> >>>>> <!-- STOMP Acceptor. --> >>>>> <acceptor name="stomp"> >>>>> tcp:// >>>>> >>>>> >>> >> 0.0.0.0:61613?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=STOMP;useEpoll=true >>>>> </acceptor> >>>>> >>>>> <!-- HornetQ Compatibility Acceptor. Enables HornetQ Core and STOMP >> for >>>>> legacy HornetQ >>>>> clients. --> >>>>> <acceptor name="hornetq"> >>>>> tcp:// >>>>> >>>>> >>> >> 0.0.0.0:5445?anycastPrefix=jms.queue.;multicastPrefix=jms.topic.;protocols=HORNETQ,STOMP;useEpoll=true >>>>> </acceptor> >>>>> >>>>> <!-- MQTT Acceptor --> >>>>> <acceptor name="mqtt"> >>>>> tcp:// >>>>> >>>>> >>> >> 0.0.0.0:1883?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=MQTT;useEpoll=true >>>>> </acceptor> >>>>> >>>>> </acceptors> >>>>> >>>>> <bridges> >>>>> <bridge name="amqp-bridge"> >>>>> <queue-name>p1broker.out</queue-name> >>>>> <forwarding-address>centralbroker.in</forwarding-address> >>>>> <user>admin</user> >>>>> <password>admin</password> >>>>> <static-connectors> >>>>> <connector-ref>activemq-classic-amqp</connector-ref> >>>>> </static-connectors> >>>>> </bridge> >>>>> </bridges> >>>>> >>>>> >>>>> <connectors> >>>>> <connector name="activemq-classic-amqp"> >>>>> tcp://centralbroker:5672?protocols=AMQP</connector> >>>>> </connectors> >>>>> >>>>> >>>>> activemq.xml >>>>> =========== >>>>> >>>>> <transportConnectors> >>>>> <!-- DOS protection, limit concurrent connections to 1000 and frame >> size >>>>> to >>>>> 100MB --> >>>>> <transportConnector name="openwire" >>>>> uri="tcp://0.0.0.0:61616?maximumConnections=1000& >>>>> wireFormat.maxFrameSize=104857600000" /> >>>>> <transportConnector name="amqp" >>>>> uri="amqp://0.0.0.0:5672?maximumConnections=1000& >>>>> wireFormat.maxFrameSize=104857600" /> >>>>> <transportConnector name="stomp" >>>>> uri="stomp://0.0.0.0:61613?maximumConnections=1000& >>>>> wireFormat.maxFrameSize=104857600" /> >>>>> <transportConnector name="mqtt" >>>>> uri="mqtt://0.0.0.0:1883?maximumConnections=1000& >>>>> wireFormat.maxFrameSize=104857600" /> >>>>> <transportConnector name="ws" >>>>> uri="ws://0.0.0.0:61614?maximumConnections=1000& >>>>> wireFormat.maxFrameSize=104857600" /> >>>>> </transportConnectors> >>>>> >>>>> >>>>> what am i doing wrong? >>>>> >>>>> Cheers >>>>> Kunal >>>>> >>>> >>> >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@activemq.apache.org For additional commands, e-mail: users-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact