On propagation from queue to queue on same instance

Hi !
I have a queue that I need to propagate into another queue (and later add a transformation during the process). I have created the ques for the moment with the same payload type in order to test easily, but the propagate does not work. The messages gets in the first queue, state READY.
I'm on 10.2.0.3 on AIX
Here is my code:
{color:#0000ff}CREATE OR REPLACE TYPE mst_input_type AS object(
sender_id VARCHAR2(30),
subject VARCHAR2(30),
text VARCHAR2(1000));{color}
{color:#0000ff}--input kø
exec DBMS_AQADM.stop_QUEUE ('MST_INPUT_QUEUE');{color}
{color:#0000ff}exec DBMS_AQADM.drop_QUEUE ('MST_INPUT_QUEUE');{color}
{color:#0000ff}exec DBMS_AQADM.drop_QUEUE_TABLE (queue_table => 'MST_INPUT_QUEUE_TABLE');{color}
{color:#0000ff}-- output samme format
exec DBMS_AQADM.stop_QUEUE ('MST_OUTPUT_QUEUE2');{color}
{color:#0000ff}exec DBMS_AQADM.drop_QUEUE ('MST_OUTPUT_QUEUE2');{color}
{color:#0000ff}exec DBMS_AQADM.drop_QUEUE_TABLE (queue_table => 'MST_OUTPUT_QUEUE_TABLE2');{color}
{color:#0000ff}-- input kø/tabel
exec DBMS_AQADM.CREATE_QUEUE_TABLE (
queue_table => 'MST_INPUT_QUEUE_TABLE',
queue_payload_type => 'mst_input_type'
, multiple_consumers => TRUE
);{color}
{color:#0000ff}BEGIN
DBMS_AQADM.CREATE_QUEUE (
queue_name => 'MST_input_QUEUE',
queue_table => 'MST_input_QUEUE_TABLE'
DBMS_AQADM.START_QUEUE (
queue_name => 'MST_input_QUEUE'
END;{color}
{color:#0000ff}-- output kø/tabel samme format
exec DBMS_AQADM.CREATE_QUEUE_TABLE (
queue_table => 'MST_output_QUEUE_TABLE2',
queue_payload_type => 'mst_input_type'
);{color}
{color:#0000ff}BEGIN
DBMS_AQADM.CREATE_QUEUE (
queue_name => 'MST_output_QUEUE2',
queue_table => 'MST_output_QUEUE_TABLE2'
DBMS_AQADM.START_QUEUE (
queue_name => 'MST_output_QUEUE2'
END;{color}
{color:#0000ff}-- slet subscriber
DECLARE
subscriber sys.aq$_agent;
BEGIN
subscriber := sys.aq$_agent('subscriber1', 'MST_output_QUEUE2', null);
DBMS_AQADM.REMOVE_SUBSCRIBER(queue_name => 'MST_input_QUEUE',subscriber => subscriber);
END;{color}
{color:#0000ff}--- lav en subscriber
DECLARE
subscriber sys.aq$_agent;
BEGIN
subscriber := sys.aq$_agent('subscriber1', 'mst.MST_output_QUEUE2', null);
DBMS_AQADM.ADD_SUBSCRIBER(queue_name => 'MST_input_QUEUE',subscriber => subscriber, queue_to_queue => TRUE);
END;{color}
{color:#0000ff}BEGIN
DBMS_AQADM.SCHEDULE_PROPAGATION(queue_name => 'MST_input_QUEUE', destination => NULL,
destination_queue => 'mst.MST_output_QUEUE2',
Next_time => 'SYSDATE + 1/(24*60)');
END;{color}
{color:#0000ff}--- Skriv en besked
declare
message_handle RAW(16);
enqueue_options dbms_aq.enqueue_options_t;
message_properties dbms_aq.message_properties_t;
payload mst_input_type;
BEGIN
message_properties.priority := 5;
message_properties.delay := 1; -- one second delay before sending
payload := mst_input_type(null,null,null);
payload.sender_id := user;
payload.subject := 'Message fra ' || user ;
payload.text := 'Dette er en message fra ' || user || ' sendt ca. kl. ' || systimestamp ;
DBMS_AQ.ENQUEUE(queue_name => 'MST_input_QUEUE',
enqueue_options => enqueue_options,
message_properties => message_properties,
payload => payload,
msgid => message_handle);
plog.info('Messageid=' || message_handle);
commit;
end;{color}
{color:#000000}Can you give me a hint on how to get further? I have tried with and without the queue-to-queue options, but with little sucess.
{color}
Regards
Mette, DK
Edited by: mettemusens on Jan 11, 2009 7:57 PM

By trying and trying I got it to work .... long hours
I removed the queue to queue option and the subscriber name from the subscriptions definition. And then I removed the destination-queue on the propagation schedule. Then it worked.
Mette

Similar Messages

  • Message Driven Bean reading multiple times from a jms queue

    Hi,
    I am facing a strange problem with my message driven bean. Its configured to read message from a jms queue. But sometimes it read the same message multiple times from the jms queue.
    We are using weblogic server 8.1 sp5.
    Please find below our descriptor files
    ejb-jar.xml  
    <ejb-jar>  
      <display-name>ClarifyCRM_Process_Manager_13.1</display-name>  
      <enterprise-beans>  
        <session>  
          <display-name>ProcessManager</display-name>  
          <ejb-name>ProcessManager</ejb-name>  
          <home>com.clarify.procmgr.ejb.ProcessManagerHome</home>  
          <remote>com.clarify.procmgr.ejb.ProcessManagerRemote</remote>  
          <ejb-class>com.clarify.procmgr.ejb.ProcessManagerEJB</ejb-class>  
          <session-type>Stateless</session-type>  
          <transaction-type>Container</transaction-type>  
        </session>  
        <message-driven>  
          <display-name>ProcessManagerListener</display-name>  
          <ejb-name>ProcessManagerListener</ejb-name>  
          <ejb-class>com.clarify.procmgr.ejb.ProcessManagerMDB</ejb-class>  
          <transaction-type>Bean</transaction-type>  
          <acknowledge-mode>Auto-acknowledge</acknowledge-mode>  
          <message-driven-destination>  
            <destination-type>javax.jms.Queue</destination-type>  
          </message-driven-destination>  
        </message-driven>  
      </enterprise-beans>  
      <assembly-descriptor>  
        <container-transaction>  
          <method>  
            <ejb-name>ProcessManager</ejb-name>  
            <method-name>*</method-name>  
          </method>  
          <trans-attribute>Required</trans-attribute>  
        </container-transaction>  
      </assembly-descriptor>  
    </ejb-jar>  
    weblogic-ejb-jar.xml  
    <weblogic-ejb-jar>  
      <weblogic-enterprise-bean>  
        <ejb-name>ProcessManager</ejb-name>  
        <stateless-session-descriptor>  
          <pool>  
            <max-beans-in-free-pool>100</max-beans-in-free-pool>  
            <initial-beans-in-free-pool>10</initial-beans-in-free-pool>  
          </pool>  
        </stateless-session-descriptor>  
        <enable-call-by-reference>False</enable-call-by-reference>  
        <jndi-name>ProcessManagerHome</jndi-name>  
        <dispatch-policy>PMExecuteQueue</dispatch-policy>  
        <remote-client-timeout>0</remote-client-timeout>  
      </weblogic-enterprise-bean>  
      <weblogic-enterprise-bean>  
        <ejb-name>ProcessManagerListener</ejb-name>  
        <message-driven-descriptor>  
          <pool>  
            <max-beans-in-free-pool>100</max-beans-in-free-pool>  
            <initial-beans-in-free-pool>10</initial-beans-in-free-pool>  
          </pool>  
          <destination-jndi-name>clarify.procmgr.jms.queue.Execution</destination-jndi-name>  
          <connection-factory-jndi-name>clarify.procmgr.jms.factories.ExecConnection</connection-factory-jndi-name>  
        </message-driven-descriptor>  
        <enable-call-by-reference>True</enable-call-by-reference>  
        <dispatch-policy>PMListenerExecuteQueue</dispatch-policy>  
        <remote-client-timeout>0</remote-client-timeout>  
      </weblogic-enterprise-bean>  
    </weblogic-ejb-jar>   The MDB is sometimes reading multiple times from clarify.procmgr.jms.queue.Execution
    Also i would like to add here that the connection factory we are using clarify.procmgr.jms.factories.ExecConnection is having the following properties
    ServerAffinity Enabled=true
    XA connection factory enabled=false.
    Please help me out here!!

    Maybe, your MDB "sometimes" throws an Exception in onMessage.
    Check if this happens when you set <max-beans-in-free-pool>1</max-beans-in-free-pool>.

  • Problem parsing TextMessage from a JMS queue

    I'm attempting to read and parse a TextMessage from a JMS queue. The message is in an XML format and I'm trying to parse it using "oraext:parseXML". If I hardcode a value such as:
    <copy>
    <from expression="'&lt;ns:person xmlns:ns=&quot;urn:mynamespace&quot;>&lt;ns:personname>&lt;ns:first>bob&lt;/ns:first>&lt;/ns:personname>&lt;/ns:person>'"/>
    <to variable="tempString"/>
    </copy>
    I can then parse "tempString" just fine. If I read the TextMessage in as a string and attempt the same thing, I constantly get
    "XPath expression failed to execute. An error occurs while processing the XPath expression; the expression is oraext:parseXML(bpws:getVariableData('tempString')). The XPath expression failed to execute; the reason was: internal xpath error. Check the detailed root cause described in the exception message text and verify that the XPath query is correct. "
    If I look at "tempString" in both scenarios (hardcoding the value and reading it in) the contents are basically the same, when reading it in via the JMS queue it does seem to put in line breaks after the elements to format it more like an XML document. For example, coming in from JMS the string looks like:
    <ns:person>
    <ns:personname>
    <ns:first>bob</ns:first>
    </ns:personname>
    </ns:person>
    But hardcoding the value it looks like:
    <ns:person><ns:personname><ns:first>bob</ns:first></ns:personname></ns:person>
    Should this affect anything?
    Thanks.

    Thanks for the reply. I'm not sure I understand the difference between XML and an XML string. XML is just a well-formed text string, right?
    Anyway, your suggestion didn't work for me. The "ora:getContentAsString" call you suggested apparently strips away the XML and gives just the contents. For example, given the XML:
    <ns:person>
    <ns:personname>
    <ns:first>bob</ns:first>
    <ns:last>smith</ns:last>
    </ns:personname>
    </ns:person>
    "ora:getContentAsString" yields: "bobsmith", not the data structure.
    Again, thanks for the reply.

  • Message Bridge - from Topic to Queue

    Hi all,
              Can I set up a message bridge in Weblogic 8.1 sp3 to "redirect" message from a topic to a queue? i.e. The source is set to Topic while the target is to queue consumed by a MDB located in the same instance as the queue.
              I tried to configure but I couldn't get any subscriber to subscribe the said topic. Would it be a configuration problem or would the proposed bridge work?
              Thanks,
              Vincent

    Sure, there's no reason why the bridge can't go from a topic to a queue, or from a queue to a topic. I don't know what specific problem you were having, but you can do this.

  • Getting events into WLI from  External JMS Queue

    Hi,
    I can't figure out how to get an event into WLI from an external JMS queue.
    I can send an XML message to an external queue but can't figure out how to get
    a message from an external queue into WLI. I have created the MDB using the generator
    program provided and have deployed. How does this MDB now send these messages
    into WLI?
    I have also posted this same question in weblogic.interest.jms newsgroup.
    -- Bill

    Hi Bill.
    Actually this is really simple. Here are the steps:
    Connect your MDB to the external JMS queue by modifying the weblogic-ejb-jar.xml
    The MDB onMessage(Message m) method will receive a message from the external JMS
    queue. It will then use JNDI to bind to the EventQueue of WLI and submit the event
    as XML into that queue.
    Obvously the onMessage() operation must be transacted using container managed
    transactions so the scope will spawn both de-queuing from the external JMS queue
    and enqueing into the WLI Evnet Queue.
    "Bill Ozeroff" <[email protected]> wrote:
    >
    Hi,
    I can't figure out how to get an event into WLI from an external JMS
    queue.
    I can send an XML message to an external queue but can't figure out how
    to get
    a message from an external queue into WLI. I have created the MDB using
    the generator
    program provided and have deployed. How does this MDB now send these
    messages
    into WLI?
    I have also posted this same question in weblogic.interest.jms newsgroup.
    -- Bill

  • I need to attach a printer command (PCL) to all jobs from a print queue

    We're running NW5.1 SP1a, and I want to send a PCL command to the
    printer before all print jobs come from a certain queue. The purpose of
    this is so that the DOS-based program that prints to LPT3 will print
    from tray 2 of our networked laser printer. I have the PCL command I
    need, and if I put it at the beginning of a doucment and then print it
    from the DOS program, it will come from the correct tray.
    BTW, this program is run from machines running DOS 6.22, Windows 98,
    and XP. Some of the DOS boxes do a network boot from floppy, so doing
    something with printer drivers on each machine is not an option. Since
    they all capture the same print queues, all it would take is to be able
    to send the PCL command to the printer with every job. Surely this is
    possible?
    Thanks!

    Thank you for your help. I finally figured out what the problem was.
    None of the printer definitions were visible to me when creating print
    job configurations. I finally figured out what you do to import them.
    Now I can attach them to my print job configuration. Yay!
    I must have had some problem with the search queries I was using,
    because I never could find out how to create print device definitions.
    I have a couple of books here, but all they say is useless stuff like
    "Print device definitions are created using the Administrator Console."
    Thanks to the page of the documentation you linked to (and searching
    from that section of the documentation and then following the
    resulting links), I found out exactly what to do with the Administrator
    Console to create/define print configurations. Now I can create a
    complete print job. Yee-haw!
    BTW, I have no problem RTFM-ing as long as I have the right FM to R.
    Thanks again for pointing me in the right direction!
    James
    P.S--For what it's worth, although initially a bit counterintuitive for
    someone whose primary background is Microsoft-based, the more I delve
    into Netware, the better I like it. It makes the MS methodology seem
    like a bunch of ugly hacks held together with the software equivalents
    of bailing wire and duct tape.

  • Queue-to-Queue Propagation VS. Downstream Capture

    Can someone please provide some insights into the advantages and disadvantages of using Queue-to-Queue Propagation VS. Downstream Capture ?
    Thanks for your input.
    -Reid

    As far as my knowldege is concerned "Q-to-Q propagation" is a way of messaging between diffrent queeues belonging to diffrent stages of replication like staging, propgation and has its own job processes, where as downstream capture is just a capture where changes are captured at some diffrent database other then where actaully changes occured. The database where these changes occur is called as "local database" while the database where these changes are captuerd is called as downstream database because from there the changes will be "downstreamed" to diffrent nodes where apply process resides.
    Kapil

  • B2B 11g - Managing File name from a JMS queue.

    Hi,
    I have configured a Listening Channel to use Generic File 1.0 (to poll a file from local dir) and send it to a Trading Partner. In B2B User Guide it has been said to have the file name as %TO_PARTY%_%DOCTYPE_NAME%_%DOCTYPE_REVISION%_%MESSAGE_ID%_TIMESTAMP.txt. Extension can be anything (txt, dat, etc).
    It is necessary to have this format? What if I want to send a file with name say ABC.txt*.
    How will I manage this file name pattern if I have to read the file content from a JMS queue (and then send the file to the Trading Partner).
    Thanks,
    Sanjay
    Edited by: Sanjay Bharatiya on 24-Nov-2010 12:07 PM

    Hi Anuj,
    I set up AS2 in my local environment and tested it. I do not get the desired name of the file. The wire message seems to be ok. Following is the Tranport Header present in the wire message from the sender B2B server:
    Message-ID=<ID:<172014.1291742389684.0>@kg_certificate> Content-Transfer-Encoding=binary MIME-version=1.0 From=kg_certificate Disposition-Notification-To=[email protected] AS2-To=exel_certificate User-Agent=AS2 Server Date=Tue, 07 Dec 2010 17:19:50 GMT AS2-Version=1.1 AS2-From=kg_certificate Content-Disposition=attachment; filename=J7Q9A7.txt Content-Type=*application/octet-stream*
    Following is the Transport Header present in the wire message from the receiver B2B server:
    AS2-To=exel_certificate TE=trailers, deflate, gzip, compress Date=Tue, 07 Dec 2010 17:19:50 GMT AS2-Version=1.1 Accept-Encoding=gzip, x-gzip, compress, x-compress AS2-From=kg_certificate Content-Transfer-Encoding=binary Disposition-Notification-To=[email protected] Message-ID=<ID:<172014.1291742389684.0>@kg_certificate> Content-type=application/octet-stream MSG_RECEIVED_TIME=Tue Dec 07 12:20:39 EST 2010 ECID-Context=1.0000In1qASoEoI05nzp2iZ1Cxam9001KGU;kXCmv0 MIME-version=1.0 User-Agent=AS2 Server Oracle HTTPClient Version 10h Content-Disposition=attachment; filename=J7Q9A7.txt Content-Length=211 Host=10.32.200.207:8001 Connection=Keep-Alive, TE From=kg_certificate
    Things look good here but when the file is written to a directory the file name is of the form <sendername>_<doctypename>_<docrevision>_<msgtype>_*****.dat. I do not get the desired file name (J7Q9A7.txt). What am I missing?
    Thanks,
    Sanjay
    Edited by: Sanjay Bharatiya on 7-Dec-2010 11:59 AM

  • How to pick(or consume) messages from Woblogic JMS Queue only when DB is UP

    Hi,
    I have a requirement to pick(or consume) messages from Woblogic JMS Queue only when DB is UP.
    When DB is down, messages should remain in queue. When DB is up, messaged should be picked on scheduler basis.
    We are using SOA suite 11g(BPEL or mediator,JMS Adapter).
    What is the best way to achive it in SOA 11g.
    I tried, but when I setup a Consumer, there is no control over there. Messages are picked automatically.
    Please advise.
    Thanks
    Ram

    something wrong with the design.
    why dont you set the retry options in the fault policies?
    So if the external DB is down you could reprocess them after specified interval or make it go to human retry queue.
    Then you could use SOA api to retry all of them.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Need to delete the SPAM requests from the import queue

    Dear all,
    There were some issues with my QA system SAP patch application and we were forced to do a DB refresh from our production system. Now our QA system ABAP stack is having an issue with the  STMS import queue which shows 4 old patches(witch were applied to the system before the refresh)  with u201Crequest will not be importedu201D status. When I try to delete these requests from the import queue it shows the following error
    u201CThis is tp version 372.04.29 (release 700, unicode enabled)
    ERROR: Client 'ALL' is not possible.
    tp returncode summary:
    TOOLS: Highest return code of single steps was: 0
    ERRORS: Highest tp internal error was: 0246
    standard output from tp and from tools called by tpu201D
    When I try to import a new support package it gives the  following error,
    Error in phase: CHECK_REQUIREMENTS
    Reason for error: QUEUE_NOT_EMPTY
    Not sure how these requests arew still in the import queue even after the DB refresh. How can I delete these 4 old requests from the import queue?
    The System is ECC6.0 ABAP+JAVA stack with Oracle 10g on Win2003 server.
    Thank you,
    Siju Sam

    Dear Ganesh,
    I have tried the steps you suggested, but still the import queue is not cleared.
    Now I just wanted to remove these entires from the STMS=>queue=>import queue list.
    Number   Request      Clt   Owner          Short Text
         1   SAPKB70013   ALL   SAPUSER        Basis Support Package 13 for 7.00
         2   SAPKA70013   ALL   SAPUSER        ABA Support Package 13 for 7.00
         3   SAPKB70014   ALL   SAPUSER        Basis Support Package 14 for 7.00
         4   SAPKA70014   ALL   SAPUSER        ABA Support Package 14 for 7.00
    I think these requests(Patches) are not there in the tp buffer/(import queue) but somehow some table entries shows the status that they are still in the  queue. So I just wanted to reset the status that These TPs are already applied.
    Thank you,
    Siju Sam

  • Aggregation via BPM from different JMS queue

    Hi there,
        my query is about, I need to get the messages from three different JMS queue (say 3 different interface) based on some indicator flag (say 'X') in the payload from first two queue I need to persist / hold the messages with in PI (not sure about persisting) else pass through and after receiving the message from third queue I need correlate from the persisted message based on the groupID then consolidate and pass through to ECC.
      how this can be achieved in PO version on 7.31.
    Regards,
    Sethu.

    Hello,
    My cents Enterprise Patterns in Process Orchestration – Aggregator
    I hope it help you.
    regards,
    Roberto.

  • HT3951 how do I remove something from my download queue that is paused?

    there are a ton of shows in my queue that are HD and would rather download the SD versions... how do I get rid of the HD versions from my download queue?

    Thank you Linc!
    Paul

  • How do I delete programs from my download queue?

    How do I delete programs from my download queue?  I have some just hanging there in "downloads" that won't download and won't go away.

    Thanks, uselesssabotage, but it isn't the app, it's the individual episodes I'm struggling with.  I've tried the usual as you describe, no dice.

  • How do I remove a Movie from the download queue?

    I accidently selected the *wrong movie* and didn't catch it until it started to download. I contacted iTunes, reported the problem and they gave me a refund but, and +this is why I'm asking for help+, every time I got to iTunes, the movie starts downloading again.
    How do I actually remove this movie from *my downloads* queue?
    -PS: How do I determine which Mac OS I have?-

    The only way I know to get rid of the movie is to let it download and then delete it.
    To tell what version you have, click the Apple (upper right corner), then click "About this Mac".

  • How to delete 100+ released requests from the import queue?

    Hello
    How to delete 100+ released requests from the import queue?
    One by one or there is more convinient way?
    Thanks

    To delete multiple non-imported transport requests, you do the following while in the import queue on STMS:
    1) Highlight the status field of the import queue.
    2) Sort the import queue by the status.
    3) Put your cursor on the first non-imported transport, right-click, and click on Select Block.
    4) Scroll down and put your cursor on the last non-imported transport, right-click and click on Select Block. This will highlight all requests from the first one selection to the last one selected.
    5) Go to menu option Request > Delete.
    If all of the requests in the import queue haven't been imported (no imported, including failed import, requests), you can jump to Steps 3-5.

Maybe you are looking for