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
-
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,
SubhrojyotiHello,
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.
>
>
-
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.
TriThat 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:
weinhardAfter 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,
IvanIvan,
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 SolutionsCluster 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
-
How can i make hyperlink to local file for dowloading
How can I make hyperlink to a local file for downloading it, it seams that only www links work in web Ui. Thanks
-
Including a web page in my jsf
Hi, I have a tabbed panel (I'm using myfaces' tomahawk) and I want to include in one tab the content of another web page. Is it possible ? Thank you.
-
Bug in new asdoc rules in Flex PMD 1.1
ASDoc rules failing when there is metadata between asdoc comment and attributes/methods/classes https://bugs.adobe.com/jira/browse/FLEXPMD-167
-
How do I write a macro that would look for a string in an entire column
how do I write a macro that would look for a string in an entire column. If the string is found, it will copy that entire row to a new sheet in that same file? I want to look in an entire column lets say "C" for different strings of numbers like 246,
-
OSX 10.9.2 iMac won't scan for new Wifi networks.
Sometimes I will tether the mac to my cell phone (because roomates hog bandwidth). The problem is that when I click the Wi-fi icon in the upper-right hand corner, it shows Wifi networks it has found before but it will not scan for new ones (such as