Limiting the message queue size

I am currently trying to run the message broker so that each queue has a maximum size on the messages that are contained within it. However, when setting this value by the administration console, it is completely ignored and more messages are successfully added to the queue.
I have also tried limiting the number of message in a particular queue, my problem is that when this limit is reached more messages are added and stored in the brokers memory, but not persisted. An error is still thrown by the broker, although this is a generic error which means there is no way of knowing if the message is in the queue or not which leads to duplicate messages being sent to the queue.
Any help on configuring the size of a message queue via either method will be greatly appreciated.
Thanks,
James.

Hello,
Yes it is possible .
From the ICM script and before you send the call to the queue , make a IF statement :
SkillGroup.(Skill group Name).RouterCallsQNow<=15
ABout the threshold i am not sure but the above if the calls in queue reached 16 you can send it to a play prompt then drop it.
Amer

Similar Messages

  • Limiting the CVP queue size

    Hi All,
    Is there a way to limit the CVP queue size? Is it possible to drop calls  once a check is run on the current queue size and if the threshold/max  has been reached then further calls will be dropped.
    Can this be done with Canceling Queuing node in ICM scripting? I  understand this might require some scripting both at ICM and VXML level.
    Any help much appreciated.
    TIA,
    Subhrojyoti

    Hello,
    Yes it is possible .
    From the ICM script and before you send the call to the queue , make a IF statement :
    SkillGroup.(Skill group Name).RouterCallsQNow<=15
    ABout the threshold i am not sure but the above if the calls in queue reached 16 you can send it to a play prompt then drop it.
    Amer

  • Is there any way to config the maximum queue size?

    Hi all:
    I wander to know how can I configure my iMQ3.5 to limite the maximum message number in a queue instance?
    And if the producer is too fast, how can I limite the input rate of producer?
    Thanks for your help!
    BR.

    For destinations in IMQ 3.5, you can configure the parameters maxTotalMsgBytes and maxNumMsgs (from version 3.5, these parameters apply to queues AND topics).
    The Enterprise edition gives you the following options to configure the behaviour when the producer is faster than the consumer: slowing producers (FLOW_CONTROL), throwing out oldest messages (REMOVE_OLDEST), throwing out lowest priority messages according to age of the messages (REMOVE_LOW_PRIORITY), and/or throwing out the newest message (REJECT_NEWEST).
    Thomas
    www.arjuna.com

  • How to check the messages stuck up in the queues.

    hi experts,
    i have implemented the message queues in the EOIO form. if any message is stuck up in the inbound or the outbound queue. where would i will be able to check it.
    i have the answers of checking it up in SXMB_MONI and runtime workbench.
    is there any other way where i can get info about where the message has stuck up
    regards,
    Alpa.

    Hi,
    you could use transactions SMQ1 and SMQ2.
    For more information:
    XI Asynchronous Message Processing: Understanding XI Queues -Part I
    http://help.sap.com/saphelp_nw04/helpdata/en/7b/94553b4d53273de10000000a114084/frameset.htm
    Regards
    Patrick
    Edited by: Patrick Koehnen on Oct 22, 2008 2:51 PM

  • MDB read message queue too slow

    For some reason only a small number of MDB in the pool are accessing the message queue. The queue is growing rather fast and I wish to know how I can increase the read rate of my MDB's. Should I create another bean type to read the same queue. This does not seem like the ideal solution.
              Thank you
              bea user
              

    The JMS Performance Guide white-paper contains information
              on how to configure an MDB to run more instances concurrently.
              One thing to realize is that the number of instances is limited
              by the size of the thread pool that the MDB is running in.
              You can find a link to the white-paper here:
              http://dev2dev.bea.com/technologies/jms/index.jsp
              Tom
              bea user wrote:
              > For some reason only a small number of MDB in the pool are accessing the message queue. The queue is growing rather fast and I wish to know how I can increase the read rate of my MDB's. Should I create another bean type to read the same queue. This does not seem like the ideal solution.
              >
              > Thank you
              > bea user
              

  • How to transaction in the message driven bean?

              hello
              i write a message driven bean,that monitor the weblogic message queue,when a "Order"
              object is witten to the queue,the mdb get it and write it to a entity bean "Orderinfo".all
              of above logic is within the "onMessage" method of the mdb.
              i want to encapsulate the flow in a transaction,see my code snippet of the onMessage
              method:
              ObjectMessage objMsg = (ObjectMessage) msg;
              OrderVO orderVO = (OrderVO) objMsg.getObject();
              System.out.println(orderVO.booklist);
              OrderinfoHome orderinfoHome = (OrderinfoHome) ctx.lookup(
              "java:/comp/env/orderinfo");
              Orderinfo orderinfo = orderinfoHome.create(orderVO.orderID);
              orderinfo.setAddress(orderVO.address);
              orderinfo.setCustname(orderVO.custName);
              orderinfo.setEmail(orderVO.email);
              orderinfo.setBooklist(orderVO.booklist);
              orderinfo.setPrice(new BigDecimal(orderVO.price));
              and deploy descriptor snippet(ejb-jar.xml):
              <assembly-descriptor>
              <container-transaction>
              <method>
              <ejb-name>orderMDB</ejb-name>
              <method-name>*</method-name>
              </method>
              <trans-attribute>Required</trans-attribute>
              </container-transaction>
              </assembly-descriptor>
              i think during this transaction,there are two action:geting the object from the
              queue and saving it to entity bean.in order to test the transaction,i modify the
              jndi name of entity bean in the code to a WRONG one.redeploy my program,and send
              a message to the queue,the mdb is activated,then the exception is thrown because
              of the wrong jndi name.after that,i check the message queue,find that it is empty.why?i
              think if the second action of the transaction is fail,the transaction should roll
              back,the message should be send BACK to the queue.
              i also ty to use the "javax.transaction.UserTransaction" in the onMessage method,but
              the follwing exception is thrown:
              javax.transaction.NotSupportedException: Another transaction is associated with
              this thread.................................
              who can help me,if any wrong with me,and how to use the transaction with the message
              driven bean?
              thank you.
              

    The transaction should rollback if the MDB throws an
              exception. Try changing your MDB code to
              call "setRollbackOnly()" on the EJB
              context (instead of throwing an exception) to see
              if that works. If calling "setRollbackOnly()" fixes
              the problem - then please contact customer support
              and report a bug.
              zbcong wrote:
              > hello
              >
              > i write a message driven bean,that monitor the weblogic message queue,when a "Order"
              > object is witten to the queue,the mdb get it and write it to a entity bean "Orderinfo".all
              > of above logic is within the "onMessage" method of the mdb.
              > i want to encapsulate the flow in a transaction,see my code snippet of the onMessage
              > method:
              >
              >
              > ObjectMessage objMsg = (ObjectMessage) msg;
              > OrderVO orderVO = (OrderVO) objMsg.getObject();
              > System.out.println(orderVO.booklist);
              > OrderinfoHome orderinfoHome = (OrderinfoHome) ctx.lookup(
              > "java:/comp/env/orderinfo");
              > Orderinfo orderinfo = orderinfoHome.create(orderVO.orderID);
              > orderinfo.setAddress(orderVO.address);
              > orderinfo.setCustname(orderVO.custName);
              > orderinfo.setEmail(orderVO.email);
              > orderinfo.setBooklist(orderVO.booklist);
              > orderinfo.setPrice(new BigDecimal(orderVO.price));
              >
              >
              > and deploy descriptor snippet(ejb-jar.xml):
              >
              >
              > <assembly-descriptor>
              > ............
              > ...........
              >
              > <container-transaction>
              > <method>
              > <ejb-name>orderMDB</ejb-name>
              > <method-name>*</method-name>
              > </method>
              > <trans-attribute>Required</trans-attribute>
              > </container-transaction>
              > </assembly-descriptor>
              >
              >
              > i think during this transaction,there are two action:geting the object from the
              > queue and saving it to entity bean.in order to test the transaction,i modify the
              > jndi name of entity bean in the code to a WRONG one.redeploy my program,and send
              > a message to the queue,the mdb is activated,then the exception is thrown because
              > of the wrong jndi name.after that,i check the message queue,find that it is empty.why?i
              > think if the second action of the transaction is fail,the transaction should roll
              > back,the message should be send BACK to the queue.
              >
              > i also ty to use the "javax.transaction.UserTransaction" in the onMessage method,but
              > the follwing exception is thrown:
              >
              > javax.transaction.NotSupportedException: Another transaction is associated with
              > this thread.................................
              >
              > who can help me,if any wrong with me,and how to use the transaction with the message
              > driven bean?
              >
              > thank you.
              >
              >
              

  • Delete message queues

    I had iconnection problems between one of the POA and MTA and I restored this connection after a couple days.
    now I can see the poa open on the MTA bus the message between the post-offices are not working.
    I thinking the delete the message queue because I believe that there is possible problem with the queue ( any bad message that blocked it).
    How can I clean the POA queue ?
    Tks.

    * ffernandesv,
    down the MTA, under the MTA directory, rename the MSLOCAL\MSHOLD\<postoffice>\ folder of the troubling PO. The folder will get recreated when you restart the MTA.
    Also down the POA and rename the WPCSIn and WPCSOUT directory under the POA's directory structure.
    HTH
    Uwe

  • Message queue like in C++ threads

    Hi,
    I have a question. Does java support threads sending messages to each other like in C++ threads on Windows?
    On Win32, a thread sends message to another thread. This message gets queued up in a message queue, I think, by the OS. The receiver thread can Peek or Get a message from the message queue by doing a such a request.
    Thanks.
    Tri

    That code does not check my "claim". You never directly modify the list in that code. This code does verify my "claim" ... lol
    import java.util.*;
    public class test {
    public static void main(String[] args) {
      List list = new LinkedList();
      list.add(new Object());
      Iterator itr = list.iterator();
      list.add(new Object());
      itr.next();
    }Save compile it.. run it... you'll get ConcurrentModificationException. This isn't a "claim" of mine. Iterators in java are what's called "Fail Fast". This means if you directly modify the underlying collection, then try to use the iterator again, it fails, in java with an Exception.
    In your code you posted above you had a "list.add(p);" that's a direct modification of the list. Once that happens, all iterators are invalid, and will throw an exception if used. With more then one thread this can get kinda weird. That's why Doug Lea has created the util.concurrent package. Check out the read write locks. You can put them over a collection with just a few lines of code. Much faster then fully synchronized collections. This package will appear in java version 1.5 ... check out JSR 166. Links inside the site below.. for more info.
    http://g.cs.oswego.edu

  • Data structure for simulation of message queue

    Hello,
    I have undertaken a project of simulating the point to point and publish/subscribe protocols of message queueing. This whole project would be done just in Java. There won't be any system level programming. Which data structure in Java would be the most efficient one for the message queue?

    Hello,
    I have undertaken a project of simulating the point to point and publish/subscribe protocols of message queueing. This whole project would be done just in Java. There won't be any system level programming. Which data structure in Java would be the most efficient one for the message queue?

  • JES5 on HPUX C API Message Queue problem

    OK. I know there's not too many of you out there, but I've been trying to compile a simple "C" helloworld pub/sub application using GCC. The examples shows using 'aCC' instead of 'gcc' to compile on HPUX. I'm able to compile using gcc, but the application core dumps.
    Is the Message Queue, C-API & library compatable with applications compiled with gcc on the HPUX platform? Or will i have to use HP's Ascii C Compiler to get it to work.
    gcc build options:
    g++ -x c -fPIC -DHPUX11 -D_REENTRANT -I/opt/sun/mq/include -o Producer -L/opt/sun/mq/lib -L/opt/sun/private/lib -lnss3 -lmqcrt -Wl,+b,/opt/sun/private/lib Producer.c
    Error during execution:
    /usr/lib/dld.sl: Unresolved symbol: __shlinit (code) from /opt/sun/mq/lib/libmqcrt.sl
    Abort(coredump)
    Thanks
    Message was edited by:
    weinhard

    After switching to HP's ANSI C compiler i get the exact same error message.
    Any ideas as to what the permissions should be on the symbolic link to the real shared library. The installed permisstion/owners are:
    lrwxr-xr-x   1 bin        bin             29 Sep 12 00:45 libmqcrt.sl -> /opt/sun/mq/lib/libmqcrt.sl.1

  • Purchasing Ability to Exceed Message/Attachment Size Limit

    Is it possible to purchase the ability to exceed the message/attachment size limit on iCloud?  I keep running into it when I need to send out PDF image files.

    I'm afraid not.

  • Index content of a message queue

    Hi,
    Is it possible to index the content of the message queue. Do we use Correlation ID to reference to some messages?

    Hi,
    Is it possible to index the content of the message
    queue. Do we use Correlation ID to reference to some
    messages?This would diverge from the principles of the JMS spec. Better to offload your messages into a DB table where you can index, prioritize, etc to a much greater degree than you could in a classic MOM.

  • .SysMachineMsgq: message queue blocking

    Hi,
    I am getting the following error message:
    064222.hostname!TMSYSEVT.14351.3071440608.0: WARN: .SysMachineMsgq: hostname message queue blocking
    Is there anyway to pinpoint exactly which application and or which service is causing the blocking?
    Thank you,
    Ivan

    Ivan,
    You can look in the userlog for a "LIBTUX_CAT:672 ERROR: Message operation
    failed because the message queue or the system is full" message. That will
    tell you the process in which the msgsnd() failed, although it will not tell
    you the specific queue that was full. If the queue full condition is not
    something transient, you can use the "ipcs -q -a" command to examine the
    number of bytes currently on each queue on the machine.
    If you need to automate the process of searching the ULOG, the T_ULOG class
    in TM_MIB(5) can be used.
    The event message for the SysMachineMsgq event deliberatly contains very few
    details, since the process where msgsnd() failed uses a message to inform
    the event server of the failure and if a message queue is full, then there
    might be a problem with sending a large message to the TMSYSEVT server.
    (There is a check to prevent looping if the message send to TMSYSEVT fails.)
    Ed
    <Ivan Novick> wrote in message news:[email protected]..
    Hi,
    I am getting the following error message:
    064222.hostname!TMSYSEVT.14351.3071440608.0: WARN: .SysMachineMsgq:
    hostname message queue blocking
    Is there anyway to pinpoint exactly which application and or which service
    is causing the blocking?
    Thank you,
    Ivan

  • Where do I find 'MQ Cluster Monitor' and 'Message Queue Universal Client' ?

    This video on mq.dev.java.net uses two utilities called the 'MQ Cluster Monitor' and the 'Message Queue Universal Client'. The narrator says that these are 'shipped with the Message Queue product'.
    I dont see the utilities in my Open MQ installation. What am I missing ?
    - Hemant Bedekar
    RedSeal Solutions

    Cluster Monitor can be launched by typing these commands -
         cd /MessageQueue/mq/examples/jmx
         java -classpath /MessageQueue/mq/lib/imqjmx.jar:. MQClusterMonitor
    Universal Client can be launched by typing these commands -
         cd /MessageQueue/mq/examples/applications/uclient
         java -classpath /MessageQueue/mq/lib/imqjmx.jar:. UniversalClient
    - Hemant Bedekar
    RedSeal Solutions

  • "Message Queue facility inactive"?

    Hi all,
    When I run ipcs command, I got:
    $ ipcs
    IPC status from <running system> as of Wed Mar 28 15:06:55 PST 2001
    Message Queue facility inactive.
    T ID KEY MODE OWNER GROUP
    Shared Memory:
    m 0 0x50000e9b rw-rr-- root root
    Semaphores:
    $
    Does this mean the Message/Shared Mem/Semaphore is not active? How do I make them active? Thanks in advance for your help!
    Phi;

    Hi Phil,
    The system V IPC components are dynamically loaded on Solaris, so aren't in the system until you try and use them. Run a program that creates a message queue and ipcs will then report about the message queue facility.
    Hope that helps.
    Ralph
    SUN DTS

Maybe you are looking for