Notify when message arrives in multi-consumer queue in Oracle 8i

Hi,
Is there any way by which we can get notified whenever a new message arrives in the multi-consumer queue ?
Thanks,
Shailesh

Probably a better shot of an answer in the AQ forum.
Advanced Queueing

Similar Messages

  • How to send message to a multi-consumer queue using pl/sql

    How to send message to a multi-consumer queue using pl/sql ? Thanks.
    I tried following, but got an message: no receipient specified.
    DBMS_AQ.ENQUEUE(
    queue_name => 'aqadm.multi_queue',
    enqueue_options => queue_options,
    message_properties => message_properties,
    payload => my_message,
    msgid => message_id);
    COMMIT;
    END;
    /

    Here's two way to enqueue/publish new message into multi-consumer queue.
    (1) Use explicitly declared recipient list
    - Specify "Recipients" by setting recipient_list to messge_properties, before ENQUEUE().
    DECLARE
    recipients DBMS_AQ.aq$_recipient_list_t;
    BEGIN
    recipients(1) := sys.aq$_agent('RECIPIENTNAME',NULL,NULL);
    message_properties.recipient_list := recipients ;
    (2)Or, declare subscriber list permanently. Then you need not to specify recipient list each time you call ENQUEUE().
    begin
    dbms_aqadm.add_subscriber(
    queue_name=>'YOURQUEUE',
    subscriber=> sys.aq$_agent('RECIPIENTNAME', null, null)
    end;
    You can add 1024 local subscriber include maximum 32 remote-queue-consumer to one queue.

  • Retry counts on multi consumer queues in Java

    Is there a way to get the retry count of a message that has been dequeued from a multiconsumer queue? I believe we were able to access the retry count of a message on a single consumer queue, but when dequeuing from a multiconsumer queue, the retry count field is not filled with a value.
    Can this be done?

    Is there a way to get the retry count of a message that has been dequeued from a multiconsumer queue? I believe we were able to access the retry count of a message on a single consumer queue, but when dequeuing from a multiconsumer queue, the retry count field is not filled with a value.
    Can this be done?

  • PL/SQL Callback registered on multi consumer queue takes 6 seconds to call

    Registered a PL/SQL callback procedure on multi consumer Queue. if I enqueue message into queue, it takes 6 seconds to call PL/SQL callback procedure.
    Why does it takes 6 seconds ?
    I believe Queue submits DBMS Job to execute the Callback. I am not sure why it is taking 6 seconds to execute the callback.
    are there any configarable parameters to set which allows callbacks to be executed more frequently?

    You can try to change jobqueue_interval=1      
    This is a scan rate interval (seconds) of job queue parameter.
    it is 5 sec by default.
    Regards,
    Sergey

  • Dequeue from multi consumer queue table

    Hi,
    Even after all consumers I created have dequeued the messages (in REMOVE mode), they just didn't go from the queue table. Although my application works fine (the messages could no longer be dequeued again), I am afraid this will affect performance when messages piled up in Q table.
    I tried maunally delete the records in Q table. But the question is "is there an automatic way to handle this?"
    Thx for any feedback!

    Make sure that the init.ora parameter AQ_TM_PROCESSES is set to 1 or more. This is the parameter that controls the number of processes available to clean up the queue after the messages have been dequeued or the message has expired.

  • Multi-consumer queue table does not empty

    Hello,
    I must be missing something pretty trivial here but I have setup queue with a queue table where multiple_consumers = true. When I dequeue a message from the queue it is received, but the message is still left in the queue table. When I do a second dequeue I get a end-of-fetch error.
    Currently, there is only one subscriber and the subscriber is specified as the recipient of the message.
    How do I get the messages removed from the queue table?
    DECLARE
        queue_options       DBMS_AQ.ENQUEUE_OPTIONS_T;
        message_properties  DBMS_AQ.MESSAGE_PROPERTIES_T;
        recipients          DBMS_AQ.AQ$_RECIPIENT_LIST_T;
        message_id          RAW(16);
        my_message          MYRESP_T;
    BEGIN
        recipients(1) := sys.aq$_agent('MY_SUBSCRIBER',null,null);
        message_properties.recipient_list := recipients;
        my_message := MYRESP_T('99293','ORCL','TEST');
        DBMS_AQ.ENQUEUE(
            queue_name => 'RESP_Q',
            enqueue_options => queue_options,
            message_properties => message_properties,
            payload => my_message,
            msgid => message_id);
        COMMIT;
    END;
    DECLARE
            r_dequeue_options    DBMS_AQ.DEQUEUE_OPTIONS_T;
            r_message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
            v_message_handle     RAW(16);
            o_payload                 MYRESP_T;
            v_dynamic_sql           VARCHAR2(4000);
            BEGIN
                r_dequeue_options.wait := DBMS_AQ.NO_WAIT;
                r_dequeue_options.dequeue_mode := DBMS_AQ.REMOVE;
                r_dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE;
                r_dequeue_options.consumer_name := 'MY_SUBSCRIBER';
                DBMS_AQ.DEQUEUE(
                    queue_name         => 'RESP_Q',
                    dequeue_options    => r_dequeue_options,
                    message_properties => r_message_properties,
                    payload            => o_payload,
                    msgid              => v_message_handle
              commit;
            END;Thanks in advance

    Presumably the message gets left on the Q with a state of PROCESSED? If so then that suggests you have aq_tm_processes explicitly set to 0 (zero) in your spfile/pfile - these background processes clear messages which have been PROCESSED.
    If this is not the case can you post the state of the messages and some more information like version and AQ related parameters?
    Thanks
    Paul

  • Dequeue from multi consumer queue without consumer_name

    Are there any way to efficient emptying a multiconsumer queue where mesages by sender are taged with consumer_name, and there are multiple consumers?

    Christian,
    I have the same question. Have you got any answer or found out any good solution?
    Thx!

  • How to get notify when new Email comes in...

    hi, any idea on how to get notify from phone when there is new email comes in to mailbox with specific key words in the subject, says like "urgent" ..... what are the components that i need to integrate with??
    messaging version 6.2

    Hi,
    Off the top of my head there are two ways:
    1. Use the ENS service to notify when messages arrive - filter out the ones you want. This is going to require some programming and a way to send the notification to the phone.
    http://docs.sun.com/app/docs/doc/819-2655
    2. Use a user-level sieve filter to send a copy of the messages you want to another email address which triggers an SMS.
    http://docs.sun.com/app/docs/doc/819-2650
    Regards,
    Shane.

  • How to make use of notify-send to get alerted when a chat-message arrives?

    I would like to get notified, if a chat-message arrives. I tried two add-ons, both will play a sound, but not show a notification-window, as promised, so I'd like to do it myself, using `notify-send`. I suppose, that'll take to listen to a fitting event and execute notify-send, can someone please give me a hint, how to do that? Docs are rare.
    Using Thunderbird 24.4.0 on Ubuntu 12.04
    TIA, ida

    Hi Matt and sfhowes,
    I have tried several-addons with no success and suspect a problem with my Ubuntu, as they don't show any problem-reports of other users.
    Writing a Thunderbird-add-on is a little bit challenging and not as well supported than writing a Firefox-Add-on. Also the used JS-func for alerting, when messages arrive, shows a lot of bug reports.
    So I decided to go for a shell-script-solution now, listening to a fitting child-process and sent notificia. I will post it , when it's finished.
    Thanks for your replies
    Ida

  • Messages arrive on iPhone - no notification

    My iPhone 4  is set to play a classic sound - glass - when messages arrive, but under iOS7 it doesn't make a sound. All the required options have been checked, to no avail. Message after message arrives and I hear nothing. I've tried restarting, changing the options then resetting them and so on, but nothing helps. I'd love to get some help with this issue.

    It is turned on.  I should clarify--The stocks actually appear with current value, but the change in value which previously was shown now just gives a directional red or green box, without the amount of the change.

  • Muti Consumer Queue creation

    Hi everyone,
    While creating multi consumer queue, I have encountered with below error:
    SQL> Begin
    2 DBMS_AQADM.Create_Queue_Table(Queue_Table => 'qtbl_NearTime',
    3 Queue_Payload_Type => 'NearTime',
    4 Sort_List => Null,
    5 Multiple_Consumers => True,
    6 Storage_Clause => 'TABLESPACE USERS');
    7 end;
    8 /
    Begin
    DBMS_AQADM.Create_Queue_Table(Queue_Table => 'qtbl_NearTime',
    Queue_Payload_Type => 'NearTime',
    Sort_List => Null,
    Multiple_Consumers => True,
    Storage_Clause => 'TABLESPACE USERS');
    end;
    ORA-08103: object no longer exists
    ORA-06512: at "SYS.DBMS_AQADM_SYS", line 2224
    ORA-06512: at "SYS.DBMS_AQADM", line 58
    ORA-06512: at line 2
    I am working with Oracle 9i. Please advice.
    Many thanks in advance.
    Prabha

    You'll have better-er luck in the AQ forum.
    Advanced Queueing

  • Unable to receive notifications of new messages arriving on queue

    I was wondering whether any AQ experts out there could help me....
    I have an Oracle AQ queue and a .net service which listens and dequeues messages from the queue. The .net service is written (using ODP.net) to execute a poll of the queue upon startup (in order to process anything on the queue initially), and thereafter to hook into the relevant ODP.net event (happens to be OracleAQQueue.MessageAvailable) such that anything that subsequently arrives on the queue gets dequeued.
    Now, before you tell me to head off to the odp.net forum, I will add very quickly that we have this code in both DEV and TEST environments and it works fine. The queue happens to be a multiple-consumer queue, so the service subscribes as a particular consumer and everything hangs together. My problem is that we promoted all this code to LIVE a couple of days ago and although we are able to dequeue messages no problem we are no longer receiving MessageAvailable notifications.
    Now, I come from a .net background and am 100% sure that the .net code on our Live servers is the same as the code on our Test servers, save for the connection string. So I believe that the problem is more database- or queue-config-related than software-related.
    I do not have a high degree of Oracle knowledge in this area but what I can say is that when we start our .NET service, it is happily able to do the initial poll of the queue and to dequeue any messages. So this says to me that, fundamentally, we're not far off. i.e. it isn't anything really dumb like the queue doesn't exist in the live environment! It is purely that the MessageAvailable event never fires.
    I guess my question is fairly open, then. Given what I have said, can anyone think of reasons why this could happen?
    Things I have already thought of include:
    - different versions of ODP drivers. Not so, I supervised their installation myself on each environment.
    - firewall on the Live database blocking comms? I mean, presumably there is some tcp/udp comms going on underneath the MessageAvailable subscription. I don't believe this to be the case but if anyone knows where I can find out in more details how this works I'd be grateful, if only because it would allow me to ask more specific questions of the DBAs/Server admins
    - my initial hunch was that it was something with the consumer not being set up fully (the .net code uses the consumer name to register both to dequeue messages and to subscribe to MessageAvailable notifications). Not I am told that this is not the case and that the consumer has been set up properly, but I'm still a little suspicious.
    Anyway, any help would be gratefully received.
    Pete

    Hi Pete,
    Together we may be able to work this out ... I have a good level of knowledge on the database side of AQ but know nothing about ODPAQ :)
    Have you seen the following documentation section? Could there be some restrictions on the production host on the ports?
    Oracle Data Provider for .NET opens a port to listen for notifications. HA events, load balancing, and database change notification features also share the same port. This port can be configured centrally by setting the database notification port in an application or Web configuration file. The following example code specifies a port number of 1200:
    <configuration>
    <oracle.dataaccess.client>
    <settings>
    <add name="DbNotificationPort" value="1200"/>
    </settings>
    </oracle.dataaccess.client>
    </configuration>
    If the configuration file does not exist or the db notification port is not specified, then ODP.NET uses a valid and random port number. The configuration file may also request for a random port number by specifying a db notification port value of -1.
    The notification listener, which runs in the same application domain as ODP.NET, uses the specified port number to listen to notifications from the database. A notification listener gets created when the application registers with OracleAQQueue.MessageAvailable event. One notification listener can listen to all notification types. Only one notification listener is created for each application domain.
    Thanks
    Paul

  • Cases where messages are not being consumed from a queue

    MQ 4.0
    I have a cluster of 3 brokers. Java clients use RANDOMIZE to connect to the cluster of brokers. Message selectors are not used. My consumers are all synchronous, and connection.start() is called prior to calling MessageConsumer.receive().
    What I have seen on random occassions are messages not being consumed from the queue. The problem seems to be sporadic.
    I was thinking that the reason it is sporadic is because of the RANDOMIZE configuration of the client connetion / object-store.
    That is, there is a possibility for the following to happen:
    1) There were messages produced on a queue on broker A, but before these messages were consumed, all the consumers have been shutdown. Thus, the messages on queue stayed on broker A .... and have not been copied / clustered to the other brokers in the cluster ( As per online documentation, a queue is "copied" to other brokers only when there is a consumer for that queue on the other brokers ).
    2) Then the client applications started up produced and consumers again. This time, the producers were all connected to broker B, and all consumers for the queue were also connected to broker B.
    3) Because there are no other consumers for the queue on the other brokers, the messages in the queue on broker A are never consumed.
    Can someone confirm that this is a possibility ?

    Well ... it does seem to be the case.
    I changed the object-store so that instead of using RANDOMIZE for imqAddressListBehavior, it uses PRIORITY. Therefore, all clients ( producers and consumers ) will connect to only 1 broker out of the 3 in the cluster.
    After restarting all JMS clients with the new imqAddressListBehavior, there were messages in various queues in the other brokers that were not being consumed, because there are no longer any consumers on any of the other brokers.
    All the messages in that broker that all JMS clients connect to are being consumed ...
    Except for about 6 messages that stays in the queue for whatever reason. All consumers receiving with receive( 10000 ), and after consuming all messages above the 6, it returns without any more messages in the queue.
    Well ... so much for cluster of brokers. I'll have to think of an alternative.

  • ***Raising Alerts When the message is struck in the Queue

    Hi Experts,
    Is there any way of Raising Alerts When the message is struck in the Queue I want to notify the user if the message is struck in Queue(smq1,smq2).Please let me know the same.
    Thanks,
    Srinivasa

    hi
    you can trigger alert for any of the component failure.
    for this u nees the ccms configuration.
    than you need to configure in RZ20 and RZ21.
    steps.
    1. create alert category in ALRTCATDEF
    2.enter long text
    3. add fixed recepient.
    4.go to RZ21.
    5. select display overview for method
    6. serch for method CCMS_Send_Alert_to_ALM.
    7. copy the method and create ur own Z method.
    8. open ur method.
    9. under control tab select ONLY IN CENTRAL SYSTEM TRIGGERED BY CCMS AGENTS.
    10. in parameter tab give ur alert cat created before.
    11.under release tab select AUTO REACTION METHOD.
    12. go to RZ20.
    13. a list of system will be displyed select ur own xi system
    14. now select the queue name for which u want to trigger alert.
    15.goto property button and double click.
    16. go to method tab and click on method assigment.
    17. goto method radio button and assigne the method u created in RZ21.
    done.....enjoy....
    u can check the log in slg1 tcode
    regards,
    navneet

  • When the message arrives, the message tone sound that many times. How this problem can be solved? I installed the new version, but the problem is not resolved, the future is to be taken into account in the new version of this?

    When the message arrives, the message tone sound that many times. How this problem can be solved? I installed the new version, but the problem is not resolved, the future is to be taken into account in the new version of this?

    I'm not sure I understand the question, is the message tone going more then once?
    Turn off repeat message alert here:
    settings > notifications > messages > repeat alert > never
    Some people have found this does not stop the repeat miessage tone,
    if you are one of those then I suggest you contact Apple:
    http://www.apple.com/feedback/iphone.html
    They may not respond, but hopefully will fix in uodate if enough people complain.

Maybe you are looking for

  • Executing SQL query in portal database

    Hi ,    I wish to do a simple POC . I need to create a table from NWDS , populate it with some data and then access the table data using an sql query . I am aware how to create a table but I am not sure where exactly to write the query . What I would

  • Mail linking radom messages

    Hello, I use mail to manage 3 different email accounts (1 gmail, 2 yahoo). Recently (pre-yosemite), I found that mail had combined two seemingly random threads without promting (i.e. in the inbox bar two entirely different message threads were combin

  • Extensions Log complais about missing jars

    Hello! Extensions Log complains about missing jars Where can I find these jars? How to solve these problems? oracle.bpm.bpa Warning: Classpath entry C:\Oracle\Middleware\JDev\pcbpel\fabric\lib\orawsdl.jar not found. oracle.bpm.bpm-services.client War

  • PrintService Not Found

    Hi All, I am tring to use jdk1.4 to print some text with the following code. I always get a null return from PrintServiceLookup but I have already installed a serveral print devices in Windows ME. Am I wrong? Is there any thing else I have to set ? i

  • Getting the error message The content of element type "navigation-case" mus

    I am getting this error message when I start the Jboss server ,, What could be reason , I have checked in and out , Everything is correct it seems,. The content of element type "navigation-case" must match "(description*,display-name*,icon*,from-acti