Performance for messaging queue - queue implemented as single cache entry.

Hey Brian/All,
Has there been any progress on addressing the long standing performance issues with messaging?
i.e. messaging stores a queue within a single cache entry, which means it needs to deserialize, add item, and reserialize every time we add an item to the queue.
For push rep, this means a burst of data can bring messaging to it knees and cause a cluster to fall over (eg: a clear of a large cache, or a remote site that is unavailable causing queues to grow to a very large size).
I have also noticed that when a queue gets very large, the jmx suspend/drain times out, and throws an exception.
Cheers,
Neville.

Hi Friends,
Create a function that needs to be called on the ejbCreate.
Inside this function make the connections as in the snippet below and close it when ejbRemove() or exception.
fis                          = new FileInputStream("D:/MessageRouter_UAT/AppConfig.Properties");
props.load(fis);
fis.close();
String logPath      = props.getProperty("Log_path").trim()+".log";
logHandler      = new FileHandler(logPath);
logHandler.setFormatter(new SimpleFormatter());
logWriter.addHandler(logHandler);
logWriter.setLevel(Level.ALL);
MQEnvironment mqEnv      = null;
mqEnv      = new MQEnvironment();
MQEnvironment.hostname      = props.getProperty("MQ_HOST_NAME").trim();
MQEnvironment.port      = Integer.parseInt(props.getProperty("MQ_PORT").trim());
MQEnvironment.channel      = props.getProperty("CHANNEL_NAME").trim();
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
q_Mgr                = new MQQueueManager(props.getProperty("QUEUE_MANAGER").trim());
queueID                = q_Mgr.accessQueue(props.getProperty("ID_Queue").trim(), MQC.MQOO_OUTPUT);
queueSG                     = q_Mgr.accessQueue(props.getProperty("SG_Queue").trim(), MQC.MQOO_OUTPUT);
queueHK                = q_Mgr.accessQueue(props.getProperty("HK_Queue").trim(), MQC.MQOO_OUTPUT);
queueCL                     = q_Mgr.accessQueue(props.getProperty("CL_Queue").trim(), MQC.MQOO_OUTPUT);
Thanks,
Arun Prithviraj

Similar Messages

  • Public synonym (or similar) for message queue?

    I have problems enqueueing (and dequeueing) from a queue in a different schema than the enqueuer's/dequeuer's.
    If i only write the queue name
    DBMS_AQ.ENQUEUE( queue_name => TheQueue,
    and so on... );
    I get the exception
    ORA-25205: The Queue MyUser.TheQueue does not exist.
    If I also supply the schema name
    DBMS_AQ.ENQUEUE( queue_name => TheSchema.TheQueue),
    and so on... );
    it all works fine.
    For flexibility, I would like to omit the schema name. I tried creating a public synonym for the queue.
    CREATE PUBLIC SYNONYM TheQueue FOR TheQueue;
    This does not give an error, but when executing
    DBMS_AQ.ENQUEUE( queue_name => TheQueue,
    and so on... );
    I get an execption
    SP2-0749: Cannot resolve circular path of synonym TheQueue
    I get the same exception when I do
    DESC synonymName
    as the owner or another user.
    The procedure which executes the enqueue is executed as definer (not current_user).
    Does anyone have an idea how to be able to skip the schema name for the queue when enqueueing/dequeueing?
    Thanks,
    Lena

    There is no way for do that. See "Synonyms on queue tables and queue" on "Application Developers Guide- Advanced queuing"
    Sorry

  • Message Queuing in a single instance: should we use Streams or AQ?

    Hi,
    We are going over the requirments for a new application, and it needs to have some king of queuing mechanism that table level triggers can add tasks to.
    I instantly thought AQ as this is what I last used in the past, however now I see that there is Streams and "Streams AQ".
    Has Streams superceded AQ? Is it a simpler concept / technology that does the same thing, or is it intended for a different role?
    Thanks!
    Kirk Brocas

    AQ has appeared in Oracle8. Streams are only avalable in Oracle 9 (limited capabilities) and 10g, and they are build upon AQ.
    Although using stright AQ from the trigger will solve your problem, the Streams would give you the following benefits:
    1. They are mining redo logs, so there is no trigger perforance degradation within your app transaction.
    2. You can declaratively specify the procedure (APPLY process in the stream terms and propagation RULES) to filter, dequeue and process your messages. Oracle will fire your procedure in the background. In AQ you have to program this process by yourself.
    On the other hand, streams is a hard artillery more suited to be used as a basis for systems like CDC (change data capture) to provide near real-time update of your Data Warehouse - it is avalable in 10g.
    If you need compatability with the earlier versions of Oracle - you have to stay with AQ. Even in Oracle 8 they function as advertized and we did a number of projects which are in production since 2003. Use both Java messaging interface from J2EE appserver and OCI clients - work like a charm!

  • Platform for Message Queue 4.1

    Hello,
    I wanted to download Sun's MQ 4.1 for my ubuntu, but I found only MQ versions for Solaris/RedHat Linux and Windows NT/XP? Can I run the redhat version on my Ubuntu Linux? I tried, it seemed not.
    Any advice?
    Thanks,
    Sway

    This has happened again. We have a total of 13 messages stuck in a queue over a 6 second period starting at 2:43:26.
    I have found the following in the broker log files. It only shows up once 1 second before messages start being stuck.
    [21/Jul/2009:02:43:25 ADT] WARNING [B3229]: Transaction acknowledgement [64694-167.74.102.96(de:fc:79:3e:62:b9)-58925-1248155005382, [consumer:6974425021296755200, type=NONE]]TUID=6974425025641411328 processing failed: [B1261]: Transaction acknowledgement could not be added because message 64694-167.74.102.96(de:fc:79:3e:62:b9)-58925-1248155005382[[consumer:6974425021296755200, type=NONE]:[consumer:0, type=CLIENT_ACKNOWLEDGE]]TUID=6974425025641411328 has already been removed:
    com.sun.messaging.jmq.jmsserver.util.BrokerException: [B1261]: Transaction acknowledgement could not be added because message 64694-167.74.102.96(de:fc:79:3e:62:b9)-58925-1248155005382[[consumer:6974425021296755200, type=NONE]:[consumer:0, type=CLIENT_ACKNOWLEDGE]]TUID=6974425025641411328 has already been removed
    It is odd that none of the stuck messages have the id of 64694-167.74.102.96(de:fc:79:3e:62:b9)-58925-1248155005382 which is referred toin the log files.

  • Best way to be advised of changes to a single cached Entry?

    To be advised of all adds/modifies/deletes to a single entry in a cache based on one specific key, what's the best way? create a continuous query with a InKeySetFilter?
    Thanks,
    Andrew

    I believe you can add a MapListener with a specific key, don't need a CQC for that.

  • Performance Tuning on Queues

    Hello all!
    Does anyone have good documentation on tuning performance for message queues.  We are processing a lot of messages, and would like to take advantage of the queues in XI to help the performance.  Does anyone know anything about this?

    You can use the queues for prioritisation of messages that may help with performance.
    Large messages through high priority queues etc.... Provider faster processing and more resoruces.  Smaller messages through less urgent queues and slower processing. 
    http://help.sap.com/saphelp_nw04/helpdata/en/04/827440c36ed562e10000000a155106/frameset.htm

  • "Message Queued for submission" performance counter high for Exchange Server 2010 Database

    Hi,
    We are receiving SCOM Alert as "Mail Submission service is experiencing issue: Messages Queued for Submission-sustained for 15 mins-RED (>25)".
    After checking the "Messages queued for Submission" counter on the repective server it was found that the value is 66 but when we check the queue viewer we dont observe any messages stuck in Submission queue.
    Would like to know what aspects can be checked here, in order to troubleshoot the issue?
    The counter shows 0 value in perfmon for all other mailbox databases.
    Thanks & Regards.

    Hi,
    This is a known issue with Exchange Server 2007 and Exchange Server 2010.  We do not recommend that you use this counter for health alerts.
    I recommend you refer to the following article:
    http://support.microsoft.com/kb/2921142/en-us
    It is caused by the MailSubmission service submits a message for delivery multiple times, the counter is incremented two times but decremented only one time. This situation can leave the counter with a positive value even though there
    is no message in the queue. When you restart the service, the counter is reset. 
    Here is an similar thread for your reference:
    http://social.technet.microsoft.com/Forums/en-US/c9b485a5-ef0e-4b9a-851e-28c4a4c0606a/msexchangeis-mailbox-messages-queued-for-submission-keeps-increasing?forum=exchangesvradminlegacy
    Thanks.
    Niko Cheng
    TechNet Community Support

  • Java Message Queue/ JMS Vendor performance.

    Hi,
    I need some help from you folks. In our system we are dealing with large number (tens of thousands) of operations per second. I'm doing some research in order to determine if we can use JavaTM Message Service (JMS) API in this system. I red that Java Message Queue was voted "Best Java Messaging Tool" by Java Developer's Journal readers and JMQ now marked by iPlanet[tm] E-Commerce Solutions. So I'm looking for numbers. How many clients/operations iPlanet or other JMS vendors can support per second. Unfortunately I didn't find any concrete example of built systems, number of maximum operation supported per second.
    Please response to [email protected] also.
    Thanks in advance,
    Daniel Drazner

    Following configuration: pIII 1GHz, standard vm settings, JBoss 2.4.4, jdk1.3.3 sun
    My project (probably good optimized) has following performance:
    - asynchronous sending message to queue:20 ms
    - synchronous (send/replay) 200 ms
    This are statistics for single thread, but this is some how scalable, so for 20 parallel threads you will have the same performance.
    Topics are much faster, but I need PTP messaging

  • Typecasting message queue data for DQGoop Inheritance

    I made a test typecasting message queue data type and tried to access and modify my datas.
    It works in one way but when I try to copy something into my data labview crash...
    I guess labview realocates my data space.
    Does anybody have an idea how to outpass that thing?
    Pierre
    Attachments:
    Test DQ Inh NoCrash.vi ‏62 KB
    Test DQ Inh Crash.vi ‏62 KB

    Your example crashed for me. I suggest you should use flattened strings instead of type cast. I made an example of how to use flattened strings for upcasting and downcasting class member data elements. After I made the example I noticed that it doesn't work with LV 7.1 since flatten to string has different functionality. I also managed to make virtual function calls.
    So the LV 8.0 example of data structure that can be used to implement class inheritace are attached.
    Also the broken 7.1 version is attached. The rest of the binary string terminal of the Unflatten From String in the middle of the vi should be connected to the unconnected terminal of the Concatenate Strings.
    Tomi
    Tomi Maila
    Attachments:
    Inheritance_Example.zip ‏19 KB
    inheritance_example_71.zip ‏17 KB

  • Is message persistance with 3rd party queues implemented?

    Is message persistance with 3rd party queues implemented for 9.0.2 or 9.0.3 prev?
    I am not able to use Oracle JMS and want to try implementing this.
    Documents on how to implement this would be helpful.
    thanks,
    Isaac

    OC4J 9.0.2 is certified with few JMS providers like MQSeries, SonicMQ, SwiftMQ, etc. Please look at the Services Guide that documents how to use 3rd Party JMS providers.
    regards
    Debu

  • 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?

  • Howto config msg policies for dead message queue (dmq) outside Glassfish?

    The one thing I really love about OpenMQ is that I can have a centralized message store with a cluster of JMS nodes interacting with it.
    I'm now at a contract gig which is pretty much a Tomcat/Spring only shop. I've setup OpenMQ 4.3 w/ MySQL message store and am using Bitronix Transaction Manager (BTM) to pool my XA connections and manage the transactions that are instrumented via AspectJ from the Spring configuration.
    I have two issues really ...
    1) The Spring DefaultMessageListenerContainer does not seem to think it needs to pull messages off the queue unless there is more than one message in the queue. It behaves as if it needs to be primed with messages. I would blame it on DefaultMessageListenerContainer if not for the fact that when I do the same thing with ActiveMQ it works fine.
    2) ActiveMQ has this cool [RedeliveryPolicy object|http://activemq.apache.org/redelivery-policy.html] that you can associate with the connection factory. The com.sun.messaging.XAQueueConnectionFactory has no such settings. What limited amount of similar setting exist in OpenMQ seem to be associated with the ActivationSpec which seems to be more related to resource adapters as run from within an app server like Glassfish. My guess that it is outside the realm of configuration for OpenMQ is based on the fact that the default for endpointExceptionRedeliveryAttempts is 6 and when I enable transactions for my queue the messages will thrash indefinitely when they start hitting exceptions.
    So, how do I configure a message delivery policy for OpenMQ outside of Glassfish? Or is the notion of a dead message queue (dmq) completely useless for OpenMQ without Glassfish?
    Thanks,
    Steve Maring

    OpenMQ does not have such a feature. The only thing you can do is to disable or enable DMQ delivery per destination. There is no way of configuring the number of redeliveries before message gets moved to DMQ.
    Tom

  • How to query for messages on JMS Queue?

    Hi All,
    What is the best way to query on a JMS Queue? I would like to query for messages based on values entered on a screen. Can this be achieved using the JMS Adapter or any other adapter?
    JDev : 11.1.1.4
    Thanks and Regards.

    Hi,
    I am not 100% clear on your requirement and what selection criteria you need. I would be surprised if you need the DB adapter. If you just want to query how much message are in the queue or other related queries for example related to header information then DB adapter can be used. This only works when JMS queue is stored in the database. Personally I have never come across this requirement.
    I suggest to look in more detail of the JMS adapter. The JMS adapter can be used to select (subscribe) to certain messages. Please read the below for more information:
    http://docs.oracle.com/cd/E17904_01/integration.1111/e10231/adptr_jms.htm#CJACBCHJ
    The message is automatically removed from the queue (implicit delete) the moment it is picked-up. I would not recommend deleting a message directly from the queue using DB adapter. What is the point of publishing the message in the first place?
    Thanks
    Sander

  • 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 ?

  • Exchange 2010 - PerfMon - Messages Queued for Delivery = 2,147,483,649

    Our monitoring system is alerting Messages Queued for Delivery as 2 Billion messages and the value returned by PerfMon > MSExchangeTransport Queues > Messages Queued for Delivery also matches this number during some samples.
    I was wondering, what's going on here. When checking queues using Get-Queue cmdlet it doesn't show more than couple of messages in the queue.
    How do I get this fixed? This seems to be a known issue from thread http://social.technet.microsoft.com/Forums/en-US/ac121f02-4359-4d18-b86a-9c9c78b320a9/perfmon-messages-queued-for-delivery-2147483764?forum=exchange2010
    Any assistance would be greatly appreciated.

    Hi ChaituNanl,
    Thank you for your question.
    By our search, I suggest we update Exchange to Exchange 2010 CU6 or later, because problem also seem to appear to Exchange CU5 or former.
    We could download the CU by the following link:
    http://social.technet.microsoft.com/wiki/contents/articles/240.exchange-server-and-update-rollups-build-numbers.aspx
    Notice: please note the version of  Exchange Service Pack
    If there are any questions regarding this issue, please be free to let me know. 
    Best Regard,
    Jim

Maybe you are looking for