Disadvantage of using multiple queues?

is there a way to allow only a specific client to retrieve a specific message using a single queue? i would like to have multiple clients sending and recieving messages to a queue but they may not be sending them and retrieving them in any specific order. i want to have it so when a message gets sent, only a specific client will be able to receive that message. so if i have several clients waiting to recieve messages from the queue, the client that the message is for will be the only one to get the message. is there a way to set an ID number or something on the messages designating which client should read them? or is it better to use multiple queues where each client will have its own specific queue that it will be reading from? is there any performance disadvantages to creating multiple queues?

Hi,
Your receivers can use a message selector based on a JMS property that is set accordingly by your senders. Regarding performances it is mainly dependent on the number of consumer types you want to use and of the number of destination that are already deployed on your JMS server. A consumer that uses message selector is slower than a standard consumer then it is better to use multiple destinations. However, the JMS server may be overloaded if too many destinations are deployed. You should do some tuning of your JMS server to find out the best suitable solution for your needs.
Arnaud
http://arjuna.com

Similar Messages

  • How to implement multiple queues in one circular buffer?

    Spoiler (Highlight to read)
    Recently I have successfully shared data of 2D array among different vis in a project, using circular buffer.
    However, there is only one circular buffer allowed in one project for one data type.
    I want different vis, running and getting data from circular buffer in different speed, all getting data as a queue from circular buffer. Like the circular buffer's read continuous mode.
    The problem is that after a vi reads in continuous mode, the read data is deleted from the circular buffer. Then other vis can not use them any more and can not keep track where they should begin to read again.
    So if it is possible that there are multiple pointers or queues in circular buffer to keep track the progress of different vis, and data only update when it gets input from DAQ but not deleted when read?   

    LawrenceChong wrote:
    Spoiler (Highlight to read)
    Recently I have successfully shared data of 2D array among different vis in a project, using circular buffer.
    However, there is only one circular buffer allowed in one project for one data type.
    I want different vis, running and getting data from circular buffer in different speed, all getting data as a queue from circular buffer. Like the circular buffer's read continuous mode.
    The problem is that after a vi reads in continuous mode, the read data is deleted from the circular buffer. Then other vis can not use them any more and can not keep track where they should begin to read again.
    So if it is possible that there are multiple pointers or queues in circular buffer to keep track the progress of different vis, and data only update when it gets input from DAQ but not deleted when read?   
    THe last time I wrote a multi-subscriber cirular buffer was in LV 6. Since then I have found that polymorphic queues perform much better so I now use multiple queues. One queue for each subscriber of the data. The subscribers are then responsible for maintaining their own histories.
    So just use multiple queues.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • One queue or multiple queues?

              Hi all,
              I have a JMS-based app that performs a few business functions, and each business
              function is handled by a single MDB. These MDBs see moderate traffic volumes
              (<5000 msg/day), and my question is this:
              Is it better to leave this design as-is, or is it better to merge these MDBs
              and their
              corresponding queues and use JMS selector to decide what biz function to perform?
              -j
              

    Performance-wise it is better to use multiple queues, but
              your message rate is likely too low for this to make
              a difference.
              There is another advantage to using multiple queues:
              they make it easier for system administrators to
              see the statistics for different business processes, and
              possible to manage each differently.
              John wrote:
              > Hi all,
              >
              > I have a JMS-based app that performs a few business functions, and each business
              > function is handled by a single MDB. These MDBs see moderate traffic volumes
              > (<5000 msg/day), and my question is this:
              >
              > Is it better to leave this design as-is, or is it better to merge these MDBs
              > and their
              > corresponding queues and use JMS selector to decide what biz function to perform?
              >
              > -j
              

  • Multiple Queues(Content Specific) - Can't get more than two queues

    Hi,
    I have a ccBPM scenario, which collects messages read by the file adapter and then sends them grouped.
    It's working fine in many different configurations, but I'd like to configure it in a way described in the PDF "How Tou2026 Configure Inbound Processing in ccBPM Part II: Queue Assignment", which is using Multiple queues - content specific.
    If I put 2 queues (after defining a correlation for a message field batchID), it works fine. The messages with batchID=A are processed by one instance process from queue 001, and the messages with batchID=B are processed by another instance process from queue 002.
    But if I put 4 queues (SWF_INB_CONF), all the message still keep going to just 2 queues, and not 4. There is no problem, because still the messages with batchID = X are all processed by the same instance process, but I want to add more parallelization to the process using 4 queues.
    I've refreshed cache and reactivated, but it will still work with 2 queues and not 4. I've also made sure that the files read have 4 different batchIDs equally distributed among all the files.
    I don't know what I'm missing...
    Thanks!

    Solved it with SAP help.
    It seems that even if you config 4 queues (content-specific) to be used in SWF_INB_CONF, it is normal that not all queues allowed are used at runtime. The messages are distributed to the queues based on the correlation defined for the process, narrowing down the result afterwards to the number of allowed queues using a hash algorithm.
    Often it is necessary to specify 50-100% more queues to load the actually intended number of queues with messages.
    I could reach 4 queues really used setting the parameter to 10 queues.

  • Multiple queue receivers with disjoint message selectors - portable?

    Hi all,
    I was wondering whether an application that uses multiple queue receivers with disjoint message selectors would be portable across different JMS providers.
    I fear it's not - at least the spec clearly states that the implementation of message delivery to multiple receivers is provider specific, and I couldn't find any comment that this would be different with disjoint selectors. But I wanted to check with you - maybe I missed anything?
    What could be an alternative then (in case you want to avoid multiple queues)? Using a topic with durable subscribers?
    Regards,
    Sabine

    Hi Nimo,
    accepted - as long as the JMS spec requires the JMS provider to support multiple receivers. And that's exactly the point where I'm not sure...
    Literally it states:
    "For PTP, JMS does not specify the semantics of concurrent QueueReceivers for the same queue; however, JMS does not prohibit a provider from supporting this."
    The formulation "does not prohibit" makes me think that JMS allows providers also not to support this, for example, to throw an exception when a second consumer is created for the same queue, or not to serve it at all with messages as long as the first consumer is active. Not that I think it would be a very useful implementation - I just want to know if it would be possible. In that case, the application would not be portable.
    Regards,
    Sabine

  • How do I use same MDB for multiple Queues? Deployment ?

              Here is what I am trying to do
              I have written one MDB that I want to use for multiple queues. I have seen posting
              mentioning that code a new weblogic-ejb-jar.xml to define other queues as the
              solution.
              Is there any other work around?
              I want to add queues in future as and when needed. I don't want to modify the
              already deployed jar to replace it with new weblogic-ejb-jar.xml everytime I have
              to add another queue for the message-driven-bean. Is is possible to use some kind
              of reference tag and just put weblogic-ejb-jar.xml in a new jar file and deply
              that every time I have a new queue to use for this MDB ( I don't think so, but
              again ???).
              Any help would be greatly appreciated.
              Chris
              

    Sorry -- that's the only solution for now.
              greg
              "Chris" <[email protected]> wrote in message
              news:[email protected]..
              >
              > Here is what I am trying to do
              >
              > I have written one MDB that I want to use for multiple queues. I have seen
              posting
              > mentioning that code a new weblogic-ejb-jar.xml to define other queues as
              the
              > solution.
              >
              > Is there any other work around?
              >
              > I want to add queues in future as and when needed. I don't want to modify
              the
              > already deployed jar to replace it with new weblogic-ejb-jar.xml everytime
              I have
              > to add another queue for the message-driven-bean. Is is possible to use
              some kind
              > of reference tag and just put weblogic-ejb-jar.xml in a new jar file and
              deply
              > that every time I have a new queue to use for this MDB ( I don't think so,
              but
              > again ???).
              >
              > Any help would be greatly appreciated.
              >
              > Chris
              

  • Http to Abap Proxy communication with multiple queues generation in Recevr

    Dear SDNs,
    I need some help in the following scenario, appreciate your suggestions and help .
    I am receiving the messages from sender to PI on http posting, from PI  I am sending the message to SAP system using receiver xi communication channel ( receiver is abap proxy).
    Sender will send the messages in QOS=EOIO, QUEueID=XXXt_100 etc  parameters, when large volumes cases, it is getting delayed to process it using a single queue.
    We are thinking to dynamically  generate multiple queues in PI and send the same queue ids to receiver SAP system to process all the messages quickly in SAP System also.
    Help /Clarifications needed:
    1. XI receiver communication channel in  pi  does not provide any options to generate dynamic queue id based on payload content (using dynamic configuration) and sent it to SAP.
    2. Module Tab in receiver communication channel also got disabled to add  custom adapter modules, can we add custome adapter module on xi receiver channel to generate dynamic queue id ?
    Really appreciate your immediate help and suggestions.
    Thanks.
    Suraj.

    Dear Praveen,
    Thanks lot for the immediate reply, we need to use EOIO, as the messages need to be processed in the same order we send and receive, there is no flexibility in QOS=EOIO, Appreciate if there is any other thoughts?
    Thanks In Advance.
    Suraj.

  • Multiple queue vs single queue - peformance

    Hi All,
    Could pls throw some light on the following design.
    Currenty, We have more than 100 queues and for each there is a different MDB to receive the message.Now, somehow we made a single instance of same MDB listen to all these queues by looking at the input message. The requiement now is, is it possible to club all the queues into single queue as it's asynchronous messaging. The receiver may also try write into the same queue at the end of message processing.If so, how would be performance. Is this performance better than having multiple queues?.
    The message are expecting to be 25 k/day in the queue. And we are using Weblogic server.
    Please let me know if you need more details.
    Thanks
    Srinath

    You could try to use selectors to assign messages to particular MDBs. This way you off load some of the work on the broker but selectors by their nature usually have an impact on broker's performance. It all depends on your application, your expectations, size and the rate of your messages, how long it takes to process them on the client side. There is no simple answer in this case. You would have to test some scenarios to come up with a best solution that fits your requirements. Having said that I personally believe that some degree of partitioning of your queue could be beneficial. On a heavily loaded system it may increase the concurrency of the system and its resilience, particularly if you place the queues in different brokers. Try to imagine your broker as if it was a DB server with just one table (I'm not sure if this is the best analogy but I can't think about anything else at the moment).

  • How can a JMS adapter be configured in BPEL to consume messages from multiple queues ?

    How can a JMS adapter be configured in BPEL to consume messages from multiple queues ?

    If you want to use JMS with AQ as datastore then there is some configuration you need to do to enable this. This is outside SOA Suite per sa, e.g. no adapter required.
    If you want to connect to the AQ direct then use the AQ adapter.
    this blog may be of some help understand the configuration
    http://biemond.blogspot.com/2008/01/oracle-jms-with-esb-and-bpel.html
    cheers
    James

  • HMI using multiple VI´s

    Hi. I'm beggining to use Labview as HMI, but I don't know exactly how to do it. I'd like to build about 4 screens to navigate. I've read that I could use tab control, but when I tried, only the chosen tab was working properly - the others lost data. My application consists in control of a simple educational / research plant (about 3 inputs and 3 outputs), to work with PID / fuzzy control. How can I do this HMI (the easiest way)? Does anyone have a step-by-step tutorial on this subject?
    Mauro
    Labview 8.2
    Solved!
    Go to Solution.

    Hi Mauro,
    Bellow there are a link where you can find some information about how to develop a user interface using  Event-Driven, so you can use multiple loops to acquire and present data according the user interaction.
    Developing User Interfaces with Event-Driven Programming
    http://zone.ni.com/devzone/cda/tut/p/id/5785
    Using Local Variables, Queues, and Notifiers to Synchronize Data with Parallel Loops
    http://zone.ni.com/devzone/cda/epd/p/id/3717
    Bellow some information about Design Patterns that can be useful for your application.
    Application Design Patterns: Master/Slave
    http://zone.ni.com/devzone/cda/tut/p/id/3022
    Application Design Patterns: Producer/Consumer
    http://zone.ni.com/devzone/cda/tut/p/id/3023
    I hope that it may help you.
    Regards,
    Osvaldo Santos

  • How to use message queue for inegrating third party with EBS

    Hi Experts,
    We would like to integrate a third party system with EBS using message queues.
    Where we will subscribe to a businnes event and which will populate the messages to messages queue.
    But how can we deque this message in third party systems. We are in R12.1.3 and no FMW installed.
    Any adapater or something is availabe, If so please throw some inputs.
    Thanks
    Bhaart

    Please go to the link
    http://developer.novell.com/extend/composer/1006.html
    and also see the "message filtering" section.
    Where you can find
    Exposing message selection hints in the header portion of a message is a common tactic when multiple receiving apps are pointed at the same queue. The application that is best suited to handling a given message type can harvest just the messages it needs, while other applications can act on messages better suited for them. Administratively, it is more efficient to set up one queue (with multiple receivers accessing it) than to set up multiple queues, each with a dedicated receiver. My question is how can I achieve this Via progamatically ?

  • Hwo to do scenario with multiple queues in jms sender

    Hi users,
    In my scenario jms to idoc i have requirement from two diffrerent queues  i need to pick the data.
    if its two sender communication channels then how to create two sender agreements?
    please help out to me
    Regards

    Hi,
    Use same Queue for same kind of data
    OR
    Create multiple sender agreement by checking the "Sender uses virtual receiver" Option

  • Using Multiple non-successive Analog DAQ Channels

    Hi,
    I need to use multiple analog channels from my DAQ Device in a particular application. Is it necessary to use continuous range of analog channels (e.g. 0,1,2,3,...) or can i use channels in any order (e.g. 2,4,6...)? My DAQ Device has 16 AIOs. What are advantages/Disadvantages of using non-successive channels ?.
    Thanks.

    Hello,
    It is perfectly acceptable to sample on multiple channels that are not in a continuous range, nor do the channels have to be increasing order. In most applications, there are little to no advantages/disadvantages of doing this, other than ease of use for the programmer.
    -Alan A.

  • Disadvantages of using Oracle Coherence

    We are using EclipseLink JPA implementation for data-access and the size of data is small.
    Mostly, optimizing the JPA code and using second level cache should improve the performance of reading/writing data from database.
    After going through the tutorial and leaning about Coherence, very much willing to go for it.
    Although, don't know what are the disadvantages of using Coherence. Any suggestions?
    Thank you for your help.

    Some backgroung information on second-level caching can be found here: http://middlewaremagic.com/weblogic/?p=5407
    Note that it discusses Hibernate, but it is applicable to every ORM framework.
    When using a second-level cache the performance gain is had when the data is read-mostly (or even better reference data)
    There are some consequences of cache aside that should be kept in mind:
    - If multiple threads require access to the same piece of data that is not in the
    cache, it may result in multiple redundant reads to the database.
    - When an application writes directly to the database, concurrency concerns
    are handled by the database, whether via optimistic or pessimistic locking.
    When writing to a cache in memory, data integrity must be maintained via
    some explicit concurrency control mechanism.
    Coherence provides the following tools:
    - Distributed concurrency control, either through the use of distributed locking
    using the ConcurrentMap API or optimistic updates using EntryProcessor
    using the InvocableMap API.
    - Coherent consistent view of the data from any JVM in a cluster.
    Although Coherence provides these tools to ease the implementation of a distributed
    cache-aside solution, it also provides tools that enable much more efficient and
    easier-to-implement persistence patterns. (http://middlewaremagic.com/weblogic/?p=5954)

  • ITUNES - Are there disadvantages to using different Apple IDs for inistalling the .app?

    ITUNES - Are there disadvantages to using different Apple IDs for inistalling the .app file not overwrite the previous one at itunes?

    In my opinion it is best to use one Apple ID on your computer and iPad. Using multiple IDs causes confusion.
    I also suggest that each person with their own iOS device have their own unique Apple ID. On the computer create different accounts for each user so that iTunes on each account can be associated with the correct Apple ID.

Maybe you are looking for