Throttling MDB performance running against MQSeries queue

I have an unusual requirement for an application. We have a non-transactional MQSeries queue that is bound as a foreign JMS destination in client mode (thanks to the folks on the forum who helped me configure that!).
          The problem is that the cluster that we are running our application on has limited capacity and I need to make sure that the MDB that will be listening to the queue does not surpass a certain TPS limit (say, 1 TPS). This article explains how to throttle performance using a separate execute thread -- http://e-docs.bea.com/wls/docs81/perform/AppTuning.html#1105201
          However, this requires you to set the MDB's "dispatch-policy' attribute to the lower priority queue in ejb-jar.xml. However, the documentation on this attribute -- http://edocs.beasys.com/wls/docs81/ejb/DDreference-ejb-jar.html#1113605 -- indicates that this attribute is only honoured if the source queue is transactional in nature.
          What to do? A transactional queue is a hard sell to our infrastructure folks. Can I use the extended transactional client and have this work?
          FYI - using the max-beans-in-free-pool does not do a sufficiently good job of limiting performance.
          Any other ideas?

another possibility might be the following scenario:
          create a local jms-destination, maybe with a jdbc-store.
          then use the weblogic bridge to transfer messages into the local jms-queue.
          at this point you can configure flow-control for the connection factory
          to limit transferred messages.
          the problem in this case is, that unprocessed messages have to be stored
          on the application server or in the database.
          but maybe this can help you.
          --Klaas
          gbrail schrieb:
          > As the doc describes, your MDB's "onMessage" method is invoked by a thread created by MQ. That means we have no control over it, or how fast it runs. I don't know of any "throttling" features in MQ either that would help.
          >
          > The only (ugly!) suggestion I can think of is that you should set "max-beans-in-free-pool" to 1 and periodically "sleep" in your onMessage method so that you don't get messages too fast!
          >
          > (And even if you were able to use a separate execute queue, or a transactional queue, you still could potentially get messages more than once per second, so you might still need to sleep anyway.)

Similar Messages

  • MDB on MQSeries queue undeployment

    I just started testing MDBs listening on MQSeries queues. WLS 6.1 and MQ 5.1. I followed
    the instructions in the BEA foreign JMS providers white paper, deployed the MDBs,
    queued messages and things seemed to work. But shutting down the server revealed
    that the undeployment of each MDB was slow. Slower than SSBs or MDBs listening on
    BEA queues. Would appreciate any suggestions about what it could be. Thanks.

    I just started testing MDBs listening on MQSeries queues. WLS 6.1 and MQ 5.1. I followed
    the instructions in the BEA foreign JMS providers white paper, deployed the MDBs,
    queued messages and things seemed to work. But shutting down the server revealed
    that the undeployment of each MDB was slow. Slower than SSBs or MDBs listening on
    BEA queues. Would appreciate any suggestions about what it could be. Thanks.

  • Configuring an MDB to an MQSeries Queue

    I want complete details as to how to configure an MDB to an MQSeries Queue.
              

    From the JMS FAQ at http://e-docs.bea.com/wls/docs70/faq/jms.html
              Q. How do I integrate non-WebLogic JMS providers with WLS?
              A. Refer to the white paper, "Using Foreign JMS Providers with WebLogic
              Server" (jmsproviders.pdf) on
              http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              for a discussion on integrating MQ Series, IBus MessageServer, Fiorano,
              and SonicMQ.
              Or google search this newsgroup for "MQ".
              Tom
              Ranjit wrote:
              > I want complete details as to how to configure an MDB to an MQSeries Queue.
              

  • Oracle 8i and MQseries queues

    Is there any possibility to access MQSeries queues using 8i AQ packages routines? I have to read some data from MQS and insert it into Oracle on Win2k and wonder if I need any additional MQ interfaces.
    Best regards,
    Tomek.

    Hi Brajesh,
    Have you ever set up communication between Oracle 9i and MQSeries?
    Now I'm trying to read MQ messages using Oracle AQ and Messaging Gateway.
    When I'm starting MGW agent i get error message: 'bad native queue' in log file.
    Agent is still running and reachable.
    Is it possible that i need local MQ queue manager?
    Could you please help me with this?
    Regards,
    Tomek.

  • Imported mapping in template mapping module still runs against old location

    Hello,
    I imported the mapping in a new workspace (located in other server) using object names strategy, and I reconfigured the location source (it's a generic one) it uses.
    Looking at the mapping Configure menu / Table operators / Location I see the correct location I want to use.
    The template mapping module has the only data location Default Agent.
    I have synchronized several times with the inbound repository table information, and redeploy the mapping, but it still goes to the old location, that has been unregistered / deleted in the current repository.
    I don't know how to make the mapping runs against the location I want to. Please, help me
    Thank you

    Hi Alexander
    After copying a table to a different module, edit the module to set the data location, configure the module to define the location and synchronize the mapping to use this table.
    In OMB to synchronize inbound and outbound use OMBSYNCHRONIZE command
    Inbound:
    OMBSYNCHRONIZE TABLE '$OMB_CURRENT_PROJECT/SALES/TABY' TO MAPPING 'M_W_PARAMS' OPERATOR 'TABY' USE (RECONCILE_STRATEGY 'REPLACE', MATCHING_STRATEGY 'MATCH_BY_OBJECT_NAME')
    Outbound:
    OMBSYNCHRONIZE MAPPING 'M_W_PARAMS' OPERATOR 'TABX' TO TABLE '$OMB_CURRENT_PROJECT/SALES/TABX' USE (RECONCILE_STRATEGY 'REPLACE', MATCHING_STRATEGY 'MATCH_BY_OBJECT_NAME')
    Cheers
    David

  • Urgent : MDB stops listening to the queues after some time  !!!

    Hi,
    I am using OJMS with OC4J 10.1.2 and db 9.2.0.5. I have a web application which send messages into the queue very frequently.
    But the problem is the MDBs stop listening to the queues after some time (1-2 days) and no more messages will be dequeued from that point.
    All these messages will move to the exception queue after their expiry.
    But the dequeing agains resumes after restarting the OC4J !.
    I guess, at some point mdbs are either becoming busy (locked ) or some exception occured while dequeing, hence they stop listening to the queues.
    Please throw some light on this issue as it is very crucial in my project.
    Regards
    Prashanth

    I've noticed this lately as well, with my iPhone 4. I couldn't confidently pin it directly on any particular iOS update, but my iPhone used to automatically connect up via Bluetooth with my Prius's handsfree feature, and now it doesn't. I work with a CE-based device at my job, with Bluetooth capability, and I used to test out that feature by having it discover my iPhone. This no longer works either.
    What I have found (not really a solution, but it does work and may be a clue for Apple) is that if I simply go to the Settings app then the General -> Bluetooth screen and let it sit there, it will pair right up with my car within a few seconds. Bluetooth is always on, and always says "Now Discoverable" at the bottom of the settings screen.

  • Disp+work.exe - Running but dialog queue statistics unavailable

    Hi,
    We have two diferent instances in the same machine. One on them have disp+work.exe in yellow and show message "Running but dialog queue statistics unabailable". This is right, the queue statistics have no item to show, but I can login perfectly in sapgui and see the processes in tx sm50.
    Where sapmmc read from? Instance profiles? Any other file?
    Thanks for all.

    Yes, problem solved.
    I stopped windows instance service and overwrote the exe.
    Thanks for all again

  • Running but Dialog Queue info unavailable, J2EE: All processes running

    Dear SAP,
    I have start my SAP Solution Manager system. I can login.
    But the process disp+work.exe is in warning (yellow).
    I do have this warning :
    Running but Dialog Queue info unavailable, J2EE: All processes running
    Content of my dev_disp file :
    ================================================================================================
    Thu Sep 09 12:36:13 2010
    ***LOG Q0I=> NiIRead: recv (10054: WSAECONNRESET: Connection reset by peer) [nixxi.cpp 4436]
    ERROR => NiIRead: SiRecv failed for hdl 7 / sock 1308
        (SI_ECONN_BROKEN/10054; I4; ST; 192.168.110.71:53609) [nixxi.cpp    4436]
    Network error of client T27, NiBufReceive (-6: NIECONN_BROKEN), dp_tm_status=3
    Client address of T27 is 192.168.110.71(neo-l011.lia.local)
    ***LOG Q04=> DpRTmPrep, NiBufReceive (28 BUEHLER 27 lia-l011 ) [dpxxdisp.c   12238]
    RM-T27, U28, 100     BUEHLER , lia-l011, 11:55:32, M1, W1, DSWP, 3/1
    Thu Sep 09 14:07:57 2010
    ***LOG Q0I=> NiIRead: recv (10054: WSAECONNRESET: Connection reset by peer) [nixxi.cpp 4436]
    ERROR => NiIRead: SiRecv failed for hdl 7 / sock 1308
        (SI_ECONN_BROKEN/10054; I4; ST; 192.168.110.71:55886) [nixxi.cpp    4436]
    Network error of client T31, NiBufReceive (-6: NIECONN_BROKEN), dp_tm_status=3
    Client address of T31 is 192.168.110.71(neo-l011.lia.local)
    ***LOG Q04=> DpRTmPrep, NiBufReceive (1967 31 lia-l011 ) [dpxxdisp.c   12238]
    RM-T31, U1967, 000             , lia-l011, 14:07:54, M0, W0, SESS, 2/0
    Thu Sep 09 16:47:41 2010
    DpHdlDeadWp: restart wp (pid=9220) automatically
    ================================================================================================
    Thanks
    Best regards
    NetAdmin

    Dear SAP,
    It was a kernel problem.
    Best regards

  • Get est time for sql without running against the db ??? possible ?

    hello,
    is there anyways to get a query execution time without running that against the database ?? even an estimate would be good...i am on 10.2.0.3 ......i am it might be impossible for it...but anyways to get estimate besides setting autotrace only ?? as i said want nothing but just like a estimate time for how long will it take to finish the query...i know we can very long_ops view but as i said..without running against the DB ...is that possible ?? as the explain plan i get shows time ?? but is that how long it will take to finish up or ?/
    select * from table(dbms_xplan.display);
    | Id  | Operation            | Name | Rows  | Bytes | Cost (%CPU)| Time     |  
    |   0 | SELECT STATEMENT     |      |    56 |  3192 |     9   (0)| 00:00:01 |  
    |   1 |  MERGE JOIN CARTESIAN|      |    56 |  3192 |     9   (0)| 00:00:01 |  
    |   2 |   TABLE ACCESS FULL  | DEPT |     4 |    80 |     3   (0)| 00:00:01 |  
    |   3 |   BUFFER SORT        |      |    14 |   518 |     6   (0)| 00:00:01 |  
    |   4 |    TABLE ACCESS FULL | EMP  |    14 |   518 |     2   (0)| 00:00:01 |  
    -----------------------------------------------------------------------------  

    user11168115 wrote:
    hello,
    is there anyways to get a query execution time without running that against the database ?? <snip>
    How long is a string?
    How deep is a hole?
    How long does it take to read an unknown number of blocks containing an unknown number of rows from an unknown disk system with an unknown contention load, pulling it across an network of unknown bandwidth and unknown load ....
    And I'm not saying that if you somehow provide all this that the answer can be known. I'm saying the too much of the information tht would be needed to make such an estimate is unknowable. Much of it will be widely variable from one execution of the query to the next execution of the exact same query. Which leaves you with exactly what to base your estimate on?
    Without even seeing your query, I can tell you with absolute certainty that it will take between 1 nano-second and 100 years to execute.

  • To retrieve number of reports run against a database

    Hi .i'm trying to get details of reports that run against a target database...is there any way of getting this detail ? ..Appreciate the help

    If the target database is the only selection criteria you will probably get the best results using the database logging and tracing facilities as in BusinessOjects there isn't any pre-defined function or Activity detail to reports on this
    Caroline

  • Compiling against developer database, running against production database??

    Hello :-)
    In our company we have a developer- , a test- and a production database, like most of us, I think... :-)
    In former times it was usual to compile forms against the database, that they are running against. But nowadays this is because of new security rules very difficult. Developers have all rights on the developer database, a few on test and nearly none on the production database and even our DBA is (officially) not allowed to use/know the sys password.
    The developer and the production database are very similar (both 10g Enterprise Edition Release 10.2.0.3.0 - 64bit, Linux), but not totally equal. Of course there are differences in database objects, because it's the developer database, there could be differences in installed patches, and the production database consists of 4 Clusters, the developer database not.
    Is it enough to compile the forms (6i and also 10g) against the developer database and run the compiled forms against the production database or should we compile the forms, that go in production, strictly against the production database, which is a bit difficult because of our security rules???
    Regards,
    Udo

    Hello, Francois!
    Thanks for your answer, but that was not exactly what I meant...
    What you describe is, how it should be :-)
    We develop, deliver the forms and scripts and "someone" compiles them against the production database.
    But our problem is that it would be a lot of "paperwork"(?) each time(!) to get the authorization to get the required rights on the production database to compile all objects.
    We have no "production team" that has all these rights and are not allowed to do so...
    So I just want to have your experiences, if it is enough to compile against the developer database???
    I have made the experience that probably 98-99% works fine, but sometimes there are strange things happening (like not passing variables from one form to another, when a form is compiled against the developer database and the attached library for example is compiled against the production database)...
    Regards,
    Udo

  • Script to run against ALL AD users in a loop

    I am going to do a SharePoint upgrade this weekend from 2010 to 2013.
    I need this script to run against every Active Directory user automatically, not just one at a time. How do I get this get this script to do that? I figure I create a pipeline, I just don't know where.
    Here is the script:
    Param(
        [string]  $account = $(Read-Host -prompt
    "UserAccount")
    Add-PSSnapIn Microsoft.SharePoint.PowerShell
    foreach ($wa in get-SPWebApplication)
        Write-Host "$($wa.Name) | $($wa.UseClaimsAuthentication
        #http://technet.microsoft.com/en-us/library/gg251985.aspx
        $wa.UseClaimsAuthentication = $true
        $wa.Update()
        $account = (New-SPClaimsPrincipal -identity
    $account -identitytype 1).ToEncodedString()
        $zp = $wa.ZonePolicies("Default")
        $p = $zp.Add($account,"PSPolicy")
        $fc=$wa.PolicyRoles.GetSpecialRole("FullControl")
        $p.PolicyRoleBindings.Add($fc)
        $wa.Update()
        $wa.MigrateUsers($true)
        $wa.ProvisionGlobally()
    Please help me! Thank you!

    Hi,
    Need to do something like this
    $Users=Get-ADUser -filter *
    foreach ($User in $Users) {
    YOUR SCRIPT
    -Identity $Users
    YOUR SCRIPT
    YOUR SCRIPT
    YOUR SCRIPT
    Seidl Michael | http://www.techguy.at |
    twitter.com/techguyat | facebook.com/techguyat

  • Multiple OWSM Gateway's running against 1 Policy Server

    Is it a supported configuration to have multiple OWSM Gateways running against one policy server?
    Thanks,
    Michael

    It won't trash the applications (see http://java.sun.com/j2se/1.4.2/compatibility.html to get 100% proof). If you install a new version, this will be used by default (if you just use "java"). Of course you can still use other JREs / SDKs when you explicitely use the version ("c:\Programme\j2sdk1.4.2_04\bin\java").

  • HTML DB running against SAP (on Oracle) - any experiences ? known clients ?

    Hi folks,
    does anybody have knowledge of HTML DB running against SAP/Oracle (as some sort of reporting frontend for e.g. controlling depts.) ?
    Any Experiences on that ?
    Any info wud be appreciated.
    brgds
    Bernhard

    Hi folks,
    does anybody have knowledge of HTML DB running against SAP/Oracle (as some sort of reporting frontend for e.g. controlling depts.) ?
    Any Experiences on that ?
    Any info wud be appreciated.
    brgds
    Bernhard

  • OBI EE running against XE

    Can Oracle BI EE run against Oracle XE?
    Thanks

    Hi
    You can check this blogs (I paste the linko to part 3, in the post You can find links to previous posts on the topic):
    http://oraclebi.blogspot.com/2005/11/oracle-xe-database-and-discoverer-3.html
    regards,Peter

Maybe you are looking for

  • After upgrading to Leopard: Leopard crashes because of "SFWordProcessing"

    Hi! Sorry for this double posting, but actually "rachelynne" posted here problem in the iWeb-Forum. http://discussions.apple.com/thread.jspa?threadID=1221556&tstart=0 So, this is my problem: If I type any letters into a pages document, i might sudden

  • Acrobat 9 - PDF doesn't open after print

    After updating Acrobat 9, my PDF printer was renamed to "Adobe PDF (Copy 1)" and after printing, the created PDF does not open automatically. How can I change the setting back to have the PDF open after printing? I tried renaming the printer to "Adob

  • Nokia Lumia 620 Hangs

    My brand new nokia Lumia 620 phone start hanging now its from 30 days of purchase Download many apps that's why????????

  • Merge rows in REUSE_ALV_LIST_DISPLAY

    Hi Friends, I have used REUSE_ALV_LIST_DISPLAY FM to display my report. I have a scenario wherein if there are more than one Raw material for a single Finished Good than I need to display the raw materials in the same raw one after the other. Fin.Goo

  • Need info about classpath

    Hi just give me any tutorial links or any explanations regarding classpath's character thanks