cancel
Showing results for 
Search instead for 
Did you mean: 

Dinamic Queue

Former Member
0 Kudos

Hi gurus,

The following question has arisen us:

In an integration with SAP R/3, it's desired to use XI like middleware.

A user can make n activities. In each activity, will be generated one file that will be sent to another system (SS) in order to inform to him of this activity. System "SS" will return an answer in a file too. This procedure will repeat n times by each user.

They wish to do is to assign a queue for each user and that all the activities that make this user are transmitted by those queue of XI. When the user finalizes all the activities, the queue will be erased.

In conclusion, to assign a queue dynamically to an activity. Is this posible?

Can have n queue in a system? How is it made?

Kind regards

Accepted Solutions (1)

Accepted Solutions (1)

henrique_pinto
Active Contributor
0 Kudos

If the user name is persisted in the message, you could create an adapter module to set the value of queueid using the username information.

...
msg.setDeliverySemantics(DeliverySemantics.ExactlyOnceInOrder);
msg.setConversationId(queueName);
...

Regards,

Henrique.

Former Member
0 Kudos

Hi,

They want that all the activities of a user happen through one specific queue in order to be able to establish a control of errors; if it happens an error in an activity are possible to be continued receiving activities of other users and they don't remain within queue.

Henrique, this adapter module is standard? Exists some functionality (module) standard that makes the same function?

Thanks

henrique_pinto
Active Contributor
0 Kudos

Adapter modules are like "BADIs" in Adapter Pipeline.

They are a standard way of inserting custom code in the adapter runtime.

Check this document for further info: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3bdc14e1-0901-0010-b5a9-a01e29d7...

Regards,

Henrique.

Answers (3)

Answers (3)

Former Member
0 Kudos

We do generally avoid coupling or extending application functionalities into the middleware (like defining specific queues for users) as a general design principle though a discrete decision like priority handling is acceptable.

Former Member
0 Kudos

Hi,

To assign queue names is possible using the Quality of Service = EOIO. The queue name can be anything you want.

The question is why are specific queue names required for each user. The message from source to target can use whatever queue is available on the system. The queue should not effect the physical destination.

Regards,

Bill

bhavesh_kantilal
Active Contributor
0 Kudos

As far as I know the answer is no.

but why do you need a separate queue for each user as such? Can you provide more details?

Regards

Bhavesh