I agree .As per other mail rather than trying to make some new api or something 
esoteric.It be much better to simply update NMS api to 2.0 e.g. add shared 
durable and shared non durable consumer methods to api. Along with others.This 
then give you what you need KPNMS is meant to be a port of the JMS api in .NET 
And with those methods in 2.0 youd be able to do what you needSent from my 
Samsung Galaxy smartphone.
-------- Original message --------From: Justin Bertram <[email protected]> 
Date: 09/01/2020  23:04  (GMT+00:00) To: [email protected] Subject: Re: 
Artemis: AMQP create queue based on FQQN This seems a little strange to me.The 
power of JMS is that it is broker agnostic. It's just an API of fairlygeneric 
messaging concepts for which any broker can implement a client.The weakness of 
JMS is that it is Java based. NMS, as I understand it, wasmeant to mitigate 
that weakness by porting the same basic API to .Net (andthe same goes for CMS 
with C++). The goal was to have an API for which anybroker could implement a 
client. Early implementations could talk toActiveMQ (via the OpenWire 
protocol), Tibco EMS, and IBM WebSphereMQ. Oneimplementation was even 
apparently built on Microsoft's MSMQ API. There wasalso a STOMP implementation 
and then later an AMQP one. The benefit ofthese two is that they used standard 
communication protocols and thereforecould be used with any broker which 
supported that protocol. So, forexample, a messaging application using NMS AMQP 
could talk to RabbitMQ,Apache Qpid, ActiveMQ 5.x, or ActiveMQ Artemis.You're 
taking a standard communication protocol (i.e. AMQP) and putting anAPI on top 
of it that mirrors the ActiveMQ Artemis address model. Thisruins the 
flexibility that AMQP provides and marries client applications toa single 
broker. Furthermore, AMQP doesn't "know" about routing types,addresses, and 
queues. It has different concepts which we *map* onto theArtemis addressing 
model in the broker.The Artemis addressing model is low-level in order to be 
able to supportall kinds of different protocols which each have their 
ownsimilar-but-slightly-different models.Why don't you just implement the core 
protocol in .Net? It appears to methat if you use AMQP you're going to have to 
somehow shoehorn in Artemisaddressing model concepts on the client and then 
interpret those on thebroker. You are certainly free to implement the client 
the way you want,but I don't think I would endorse broker changes to support 
it. If you usedthe core protocol then you'd have access to everything.Aside 
from that, what's wrong with the APIs for other AMQP or STOMP clientsfor 
.Net?JustinOn Thu, Jan 9, 2020 at 4:12 PM Krzysztof <[email protected]> wrote:> 
@Clebert> So the idea is to reduce the impedance mismatch between Artemis 
address> model (which is geat!) and the concepts from jms/nms (not so great, 
at> least for folks from .net world, who used to work with rabbit mq before).>> 
I would like to be able to create a consumer and attach it by defining its> 
address, routing type (Multicast, Anycast) and queue name. It would be nice> if 
I could define if the subscription is shared and durable as well. If> this 
particular queue doesn't exist, currently the exception is thrown. I> would 
like to change this behavior, to create the queue dynamically. The> same way as 
queues are created for jms 2.0 subscriptions. Sample api would> look like 
this>> var consumer = await connection.CreateConsumerAsync("test-consumer",> 
RoutingType.Anycast, "q1");>> @Justin> I'm using AMQP. The very early POC is 
here> https://github.com/Havret/ActiveMQ.Net>> On Thu, Jan 9, 2020 at 3:16 AM 
Justin Bertram <[email protected]> wrote:>> > What protocol is the client 
going to use?> >> >> > Justin> >> > On Sun, Dec 29, 2019 at 3:53 PM Krzysztof 
<[email protected]> wrote:> >> > > I'm just wondering if it should be possible 
to create queue based on> the> > > value specified via FQQN. Currently you 
cannot attach to the queue if> it> > is> > > not pre-configured.> > >> > > I'm 
working on POC of .NET ActiveMQ client and I am trying to give the> > > 
potential user as flexible API as possible.> > >> > > The draft API assumes 
that it should be feasible to specify address,> > > routing type (Multicast, 
Anycast), queue name, durability, and whether> > the> > > queue should be 
shared or not.> > >> > > This way user would be able to leverage most of the 
Artemis Address> Model> > > configuration options directly from the code 
without pre-configuration> > > anything on the broker side.> > >> > > What do 
you think?> > >> >>

Reply via email to