Hi All, Thank you for the suggestions.
With regard to other brokers supporting JMS 2.0, ActiveMQ Artemis allows the creation of multiple shared consumers on a single JMSContext and messages are received as expected. However even the shared consumer example made available in Artemis [1] uses two JMSContexts to create two separate consumers sharing a single subscription. Furthermore the Oracle blog [2], by the JMS 2.0 specification lead, describing the new features in JMS 2.0 also talks about shared subscription in the context of two JVMs or two threads on a single JVM. As suggested, I will check the feasibility of allowing shared subscription for multiple consumers, from a single session, with the current implementation. If this is possible, allowing shared subscriptions for consumers from a single JMSContext would also be straightforward since a single JMSContext is basically the combination of a single connection and a single session. [1] https://github.com/apache/activemq-artemis/blob/master/e xamples/features/standard/jms-shared-consumer/src/main/java/ org/apache/activemq/artemis/jms/example/JMSSharedConsumerExample.java [2] http://www.oracle.com/technetwork/articles/java/jms2mess aging-1954190.html Thanks, Maryam On Tue, Jun 20, 2017 at 9:12 AM, Asitha Nanayakkara <[email protected]> wrote: > Hi Maryam, > > On Mon, Jun 19, 2017 at 5:09 PM, Maryam Ziyad <[email protected]> wrote: > >> Hi All, >> >> We have implemented support for basic functionality with JMS 2.0 as >> proposed [1]. >> >> This includes partial support for JMSContext, JMSProducer and JMSConsumer >> with support for: >> >> - Simple synchronous send/receive >> - Asynchronous receive >> - Durable subscription >> >> We will now be working on providing the new functionality introduced with >> JMS 2.0 including shared subscriptions. >> >> *Shared Subscription* >> >> While the JMS 1.1 API did not allow multiple consumers to share a single >> subscription on a topic, this capability was allowed by MB 3.x.x, via a >> configuration in broker.xml [2]. Now, with JMS 2.0, shared subscription is >> to be allowed on topics at API level. >> > > For this we might need to introduce a new AMQP frame. As Pamod suggested > we might need to have a look at how other brokers have done this. > >> >> The JMS 2.0 specification mentions that the restriction of not allowing >> shared topic subscriptions was removed because "it did not allow sharing of >> work among multiple connections, threads or JVMs" (JMS_SPEC-40). Thus even >> though not explicitly mentioned, could we assume that the consumers sharing >> the subscription are from different connections and thus from different >> sessions and JMSContexts? >> > > Yes. > >> >> In the existing shared consumer implementation in MB 3.x.x, each consumer >> sharing the subscription needs to be created from a separate session. >> Assuming that there would not be cases where we would use the same >> JMSContext/Session to create shared subscribers, providing support for >> shared subscription with JMS 2.0 could be directly based on the existing >> implementation. >> > > AFAIR this is a limitation of MB implementation. There is no restriction > from JMS spec for this. Can you go through the code and check the > feasibility for supporting multiple subscribers from the same session? If > it is not a drastic change we can have a go at it. > > Regards, > Asitha > >> >> Feedback on the above would be highly appreciated. >> >> [1] https://github.com/wso2/andes/pull/907 >> [2] https://docs.wso2.com/display/MB320/Creating+Durable+Top >> ic+Subscriptions >> >> Thank you, >> Maryam >> >> On Mon, Jun 19, 2017 at 1:33 PM, Maryam Ziyad <[email protected]> wrote: >> >>> Hi Pamod, >>> >>> Will there be any frame definitions we might need to change in the >>>> existing AMQP 0_91 to work with JMS 2.0 ? >>>> >>> >>> We have not had to modify any frames so far, to provide basic support >>> for JMS 2.0. However since we are still to implement the new functionality >>> provided by JMS 2.0, we may have to modify the frame definitions to support >>> them. >>> >>> I will update the thread with any modifications required. >>> >>> Thank you, >>> Maryam >>> -- >>> *Maryam Ziyad Mohamed* >>> Software Engineer | WSO2 >>> [image: http://wso2.com/signature] <http://wso2.com/signature> >>> >> >> >> >> -- >> *Maryam Ziyad Mohamed* >> Software Engineer | WSO2 >> [image: http://wso2.com/signature] <http://wso2.com/signature> >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > *Asitha Nanayakkara* <http://asitha.github.io/> > Senior Software Engineer > WSO2, Inc. <http://wso2.com/> > Mob: +94 77 853 0682 <+94%2077%20853%200682> > [image: https://wso2.com/signature] <https://wso2.com/signature> > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- *Maryam Ziyad Mohamed* Software Engineer | WSO2 [image: http://wso2.com/signature] <http://wso2.com/signature>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
