You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by A K <ma...@gmail.com> on 2021/07/28 11:31:36 UTC

ServiceBus Error- It is not possible for an entity that requires sessions to create a non-sessionful message receiver

Hi Team,

We are using qpid-jms-client-0.57.0 to publish and receive messages from
Azure ServiceBus. ServiceBus provides a feature to receive messages from
session to maintain message order. Please refer here for more details -
https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions

I am able to publish messages with JMXGroupId but not able to receive
messages from session enabled queue.

Getting error - javax.jms.JMSException: *It is not possible for an entity
that requires sessions to create a non-sessionful message receiver*.
TrackingId:***,
SystemTracker:mule-intr-sbus-test-standard:Queue:test-order,
Timestamp:2021-07-28T11:07:49 TrackingId:**, SystemTracker:gateway7,
Timestamp:2021-07-28T11:07:49 [condition = amqp:not-allowed]

Please find attached
1. TestSessionEnable.txt - Sample code
2. Failed_To_Receive_Msgs.txt - Error details with proton logs
3. Publish_Successfully.txt

Could you please suggest any way to receive session enabled messages?
Please let me know for any queries.

Regards,
Abhishek Kumar

Re: ServiceBus Error- It is not possible for an entity that requires sessions to create a non-sessionful message receiver

Posted by Robbie Gemmell <ro...@gmail.com>.
It appears to put an entry in the filter map with a key of
"com.microsoft:session-filter" and a value of the 'session id' name.
This is in fact an illegal filter definition, given the filter values
are to be 'described types' whilst that is not.

As I said in my original reply, there isnt really a way to use this
information currently with the JMS client, it's not set up for that,
even with hackery. The detail would need to be used within the
'consumer builder', which is in the client core and not really
accessible to the application code or even the outer client layer, it
doesn't even exist itself until after the creation is triggered. You
would need to actually replace the class (/do bytecode manipulation?)
to influence it into doing this.

Robbie

On Wed, 28 Jul 2021 at 17:43, A K <ma...@gmail.com> wrote:
>
> Hi Robbie,
>
> NOTE - Just now I subscribed to the user mailing list, so I haven't received email earlier for your reply. I checked through mail archive. Sorry in advance if it creates new email thread.
>
> Thanks for quick reply on my query. Qpid-JMS-Client widely used in our organization, so we are trying to solve this issue with Qpid-JMS-Client which will be easy to roll out.
>
> I did testing with Microsoft SDK and was able to receive messages. Microsoft SDK also uses "proton-j" library .
> Microsoft SDK needs sessionId(JMXGroupId) to receive messages.
>
> Please find attached
> 1. Sample Microsoft SDK code - ReceiveNamedSessionAsyncSample.txt -
> a) referred from - https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/servicebus/azure-messaging-servicebus/src/samples/java/com/azure/messaging/servicebus/ReceiveNamedSessionAsyncSample.java
> b) Used - com.azure:azure-messaging-servicebus:7.3.0
> 2. Sample logs( including proton logs) - Received_Session_Enabled_Message_From_Msft_SDK.txt
>
>
> Can you please cross check attached proton logs from Microsoft SDK? Please suggest your opinion, if we can use Qpid-JMS-Client or not for this purpose? Any hacking ? If not possible then we need to use Microsoft SDK.
>
> Regards,
> Abhishek Kumar
>
>
>
> On Wed, Jul 28, 2021 at 12:31 PM A K <ma...@gmail.com> wrote:
>>
>> Hi Team,
>>
>> We are using qpid-jms-client-0.57.0 to publish and receive messages from Azure ServiceBus. ServiceBus provides a feature to receive messages from session to maintain message order. Please refer here for more details - https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions
>>
>> I am able to publish messages with JMXGroupId but not able to receive messages from session enabled queue.
>>
>> Getting error - javax.jms.JMSException: It is not possible for an entity that requires sessions to create a non-sessionful message receiver. TrackingId:***, SystemTracker:mule-intr-sbus-test-standard:Queue:test-order, Timestamp:2021-07-28T11:07:49 TrackingId:**, SystemTracker:gateway7, Timestamp:2021-07-28T11:07:49 [condition = amqp:not-allowed]
>>
>> Please find attached
>> 1. TestSessionEnable.txt - Sample code
>> 2. Failed_To_Receive_Msgs.txt - Error details with proton logs
>> 3. Publish_Successfully.txt
>>
>> Could you please suggest any way to receive session enabled messages? Please let me know for any queries.
>>
>> Regards,
>> Abhishek Kumar
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: ServiceBus Error- It is not possible for an entity that requires sessions to create a non-sessionful message receiver

Posted by A K <ma...@gmail.com>.
Hi Robbie,

NOTE - Just now I subscribed to the user mailing list, so I haven't
received email earlier for your reply. I checked through mail archive.
Sorry in advance if it creates new email thread.

Thanks for quick reply on my query. Qpid-JMS-Client widely used in our
organization, so we are trying to solve this issue with Qpid-JMS-Client
which will be easy to roll out.

I did testing with Microsoft SDK and was able to receive messages.
Microsoft SDK also uses "proton-j" library .
Microsoft SDK needs sessionId(JMXGroupId) to receive messages.

Please find attached
1. Sample Microsoft SDK code - ReceiveNamedSessionAsyncSample.txt -
a) referred from -
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/servicebus/azure-messaging-servicebus/src/samples/java/com/azure/messaging/servicebus/ReceiveNamedSessionAsyncSample.java
b) Used - com.azure:azure-messaging-servicebus:7.3.0
2. Sample logs( including proton logs) -
Received_Session_Enabled_Message_From_Msft_SDK.txt


Can you please cross check attached proton logs from Microsoft SDK? Please
suggest your opinion, if we can use Qpid-JMS-Client or not for this
purpose? Any hacking ? If not possible then we need to use Microsoft SDK.

Regards,
Abhishek Kumar



On Wed, Jul 28, 2021 at 12:31 PM A K <ma...@gmail.com>
wrote:

> Hi Team,
>
> We are using qpid-jms-client-0.57.0 to publish and receive messages from
> Azure ServiceBus. ServiceBus provides a feature to receive messages from
> session to maintain message order. Please refer here for more details -
> https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions
>
> I am able to publish messages with JMXGroupId but not able to receive
> messages from session enabled queue.
>
> Getting error - javax.jms.JMSException: *It is not possible for an entity
> that requires sessions to create a non-sessionful message receiver*.
> TrackingId:***,
> SystemTracker:mule-intr-sbus-test-standard:Queue:test-order,
> Timestamp:2021-07-28T11:07:49 TrackingId:**, SystemTracker:gateway7,
> Timestamp:2021-07-28T11:07:49 [condition = amqp:not-allowed]
>
> Please find attached
> 1. TestSessionEnable.txt - Sample code
> 2. Failed_To_Receive_Msgs.txt - Error details with proton logs
> 3. Publish_Successfully.txt
>
> Could you please suggest any way to receive session enabled messages?
> Please let me know for any queries.
>
> Regards,
> Abhishek Kumar
>

Re: ServiceBus Error- It is not possible for an entity that requires sessions to create a non-sessionful message receiver

Posted by Robbie Gemmell <ro...@gmail.com>.
It is being refused while creating the receiver, with the described
reason saying "It is not possible for an entity that requires sessions
to create a non-sessionful message receiver.". I expect this means the
server is looking for some ServiceBus-specific detail to be included
during the receiver creation to 'make it sessionful', likely which of
the 'ServiceBus sessions' the receiver is for, which the client
obviously isnt doing because it doesn't know anything about them. I
dont know what the precise detail it's looking for is (perhaps you can
use their clients to figure it out), but even if knowing it there isnt
really any scope in the JMS client currently to influence what's
likely to be low level consumer link detail so I doubt it would be
usable anyway. The simplest route may just be actually using their
clients to utilize such ServiceBus-specific functionality.

Alternatively, since a lot of their 'sessions' is jsut message
selection, maybe they let you select on them.

On Wed, 28 Jul 2021 at 12:31, A K <ma...@gmail.com> wrote:
>
> Hi Team,
>
> We are using qpid-jms-client-0.57.0 to publish and receive messages from Azure ServiceBus. ServiceBus provides a feature to receive messages from session to maintain message order. Please refer here for more details - https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions
>
> I am able to publish messages with JMXGroupId but not able to receive messages from session enabled queue.
>
> Getting error - javax.jms.JMSException: It is not possible for an entity that requires sessions to create a non-sessionful message receiver. TrackingId:***, SystemTracker:mule-intr-sbus-test-standard:Queue:test-order, Timestamp:2021-07-28T11:07:49 TrackingId:**, SystemTracker:gateway7, Timestamp:2021-07-28T11:07:49 [condition = amqp:not-allowed]
>
> Please find attached
> 1. TestSessionEnable.txt - Sample code
> 2. Failed_To_Receive_Msgs.txt - Error details with proton logs
> 3. Publish_Successfully.txt
>
> Could you please suggest any way to receive session enabled messages? Please let me know for any queries.
>
> Regards,
> Abhishek Kumar
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org