App Connect

 View Only
  • 1.  add prefetchPolicy.queuePrefetch=1 to JMS endpoint in AppConnect

    Posted Fri July 01, 2022 07:35 AM

    Hello everyone!

    I'm using JMS (ActiveMQ over JMS) in my AppConnect Professional project.

    I need to pass the parameter prefetchPolicy.queuePrefetch to the connection factory, but I have tried different ways in ACP with no luck.

    Did anyone try to pass that value? What am I doing wrong?

    Thanks in advance!



    ------------------------------
    Anton Levashkevych
    ------------------------------


  • 2.  RE: add prefetchPolicy.queuePrefetch=1 to JMS endpoint in AppConnect

    Posted Mon August 01, 2022 01:58 PM
    Hi Anton! We're looking into this for you. We'll get back to you soon!

    ------------------------------
    Jina K
    ------------------------------



  • 3.  RE: add prefetchPolicy.queuePrefetch=1 to JMS endpoint in AppConnect

    Posted Tue August 02, 2022 03:56 PM
    Hello, Anton
    I would try append parameter in provider URL field in this format. If that does not work, you may want to engage Support team. 
    tcp://localhost:61616?jms.prefetchPolicy.queuePrefetch=1
    


    ------------------------------
    Al WANG
    ------------------------------



  • 4.  RE: add prefetchPolicy.queuePrefetch=1 to JMS endpoint in AppConnect

    Posted Wed August 03, 2022 12:24 PM

    Hi Anton,

    I am assuming that you are using poll message activity.If yes please add the following property in Provider URL of JMS Endpoint

    tcp://<Host Name>:61616?jms.prefetchPolicy.queuePrefetch=3

    Goto Activity and select the Batch Objects as mentioned in the screen shot



    ------------------------------
    Mohan Reddy
    ------------------------------



  • 5.  RE: add prefetchPolicy.queuePrefetch=1 to JMS endpoint in AppConnect

    Posted Wed August 10, 2022 10:51 AM
    Hey there @Anton Levashkevych! Let us know if the above comments helped you. You can also mark responses with Best Answer for whatever worked for you! If you're still encountering issues, please comment as well.



    ------------------------------
    Jina K
    ------------------------------



  • 6.  RE: add prefetchPolicy.queuePrefetch=1 to JMS endpoint in AppConnect

    Posted Thu August 11, 2022 05:58 AM

    Thanks everyone! Your advises helped to passed the value, but unfortunately it hadn't resolve the problems I faced.

    I will try to describe:

    I'm using AMQ over JMS in IBM AppConnect, and it works pretty well, until the number (total size) of messages not exceeds some limit.

    AMQ message reading fails, if the overall size of pending messages exceeds some value (tested 500pcs*20Kb, 1000pcs*15Kb etc, same time 1000pcs*5b or 10pcs*20Kb works OK)

    How it looks: I put just one message to queue, no matter if it's 10 bytes or 20 Kbytes, it works good:


    but if I send to queue 500 such messages (or more messages but lower size)
    it stops reading messages, sometimes reads one message in 10-20 attempts:


    If I try to look at the logs (Logging level: All) see no info, just failed (not started) job:


    but when the overall size of messages in queue not exceeds some value - everything works fine

    Does anybody have any ideas?

    I will be grateful for any help or advises, thanks in advance!



    ------------------------------
    Anton Levashkevych
    ------------------------------



  • 7.  RE: add prefetchPolicy.queuePrefetch=1 to JMS endpoint in AppConnect

    Posted Thu August 18, 2022 05:54 AM

    Hi Anton,

    Please set the property ReceiveWithWait as 200 from the JMSConsole.

    Please refer the following doc and set the property.
    https://www.ibm.com/support/pages/using-app-connect-professional-end-point-activemq-cannot-read-queue

    Also providing the details below on how to set the value

    1.) Log in to the App Connect Professional (Cast Iron) appliance and enter the system shell.
    2) Execute the jmxport on command from the System Shell. Now you can connect via jconsole.exe.
    3) Open the command prompt from your workstation and enter jconsole.exe. Make sure the JRE installed on your system- jconsole.exe is part of the JRE)

    In the JCONSOLE.exe interface:
    1) Select the Remote Access radio button and add the following IP address with port <ApplianceIP:1999>
    2) Provide the username-password. For example, controlRole-ciControlRole.
    3) Click connect
    4) Expand JmsModule->JmsModuleInfo->Attribute->Click ReceiveWithWait
    5) On the right side screen, you the attribute name and, value. Enter 200 in the value field.
    6) Click Refresh.
    7) Start the orchestration and try to re-create the issue.

    Once you completed these steps, go to the system shell and enter the following command to disable the JMX Port: "jmxport off"

    Thanks
    Mohan



    ------------------------------
    Mohan Reddy
    ------------------------------



  • 8.  RE: add prefetchPolicy.queuePrefetch=1 to JMS endpoint in AppConnect

    Posted 30 days ago

    Hello everyone!

    Last week we have set the property ReceiveWithWait as 200 from the JMSConsole (we have tried both 100 and 200 values):


    Unfortunately, it had no effect, and issue continues to reproduce:

    I have chosen sample 12Kb message for testing (common XML structure)
    10 messages -
    no issues
    50 messages -
    no issues
    100 messages -
    no issues
    200 messages - issue starts reproducing, but only in 5-10% of total cases
    500 messages - issue reproduces almost all the time

    some screenshots with different amount of messages:





    So, I suppose the problem is not only in ReceiveWithWait



    ------------------------------
    Anton Levashkevych
    ------------------------------