6601 CTR/TMR - problem reading multiple counters

I'm developing some code for frequency measurement in Visual C++ using the
NI 6601 counter/timer board. I am able to successfully read the counter
for a single counter; however, my application requires reading multiple counters.
I have code to the effect as follows:
do
nStatus = GPCTR_Watch( nDevice, ulCounter1, ND_ARMED, &ulArmed1 );
nRetVal = NIDAQYield( nYieldOn );
} while ( ( ulArmed1 == ND_YES ) && ( nStatus == 0 ) );
do
nStatus = GPCTR_Watch( nDevice, ulCounter2, ND_ARMED, &ulArmed2 );
nRetVal = NIDAQYield( nYieldOn );
} while ( ( ulArmed2 == ND_YES ) && ( nStatus == 0 ) );
do
nStatus = GPCTR_Watch( nDevice, ulCounter3, ND_ARMED, &ulArmed3 );
nRet
Val = NIDAQYield( nYieldOn );
} while ( ( ulArmed3 == ND_YES ) && ( nStatus == 0 ) );
I have tried a single do..while, but to no avail. In the above code, the
first counter returns, but the next one just hangs there indefinately - not
arming.
Can anyone point me in the right direction on how to read multiple counters
on the 6601?
Thanks,
Aaron Lukacsko
[email protected]

Your program is hanging because you are setup for a continuos read, which means your counter will never unarm. If the first counter never unarms, then your program will hang until the first counter is stopped. You need to either use one Do statement for all for of the GPCTR_Watches or use the Buffer Functions. If you want a continuos buffered operation then you need to use GPCTR_Config_Buffer and GPCTR_Read_Buffer functions. However, if you are just doing a finite number of counts then you use the GPCTR_Watch function, without any buffer functions.
Kevin Bisking
National Instruments
www.ni.com/ask

Similar Messages

  • I need to read multiple counters using PCI 6601 can I do this, and How?

    I am reading 4 TTL signals from a Magnetic Pickup how do I read multiple channels using PCI 6601?

    Not concerning my primary question, I would like to point out to an N.I. Rep. that there is a typo in the help section concerning "posting a message".
    I have built a large format, two axis digitizer using linear encoders, a 6601 counter/timer, and labview 8. In building my application program, I  initially am using two daq assistants, with each set up to accomplish  the task of reading two encoders simultaneously. In doing some research, It has come to my attention, that, with my current configuration, errors may result, due to one daq assistant attempting to access the cards driver while the other is acquiring data.  All attempts to get two channels working through a single daq assistant have resulted in an error message informing me that I can only have one task per counter.Thus far, I have not seen any noticeable errors, thought I would like to have this device "rock solid", as it will be used extensively.
    Is it possible, that I should have purchase  an "S" series board instead?

  • Buffered aquisition with multiple counters on 6602

    Here's the scenario: I have a 6602 card, and I need to do buffered event counting on five counters at once.
    I can't use DAQmx, because the drivers don't support the 6602 yet.
    The traditional DAQ drivers don't support multiple counters per group...
    ...so I'm left with needing to create five independent tasks, each responsible for it's own buffered counter operation. However, when I do this, each task gets assigned the same taskID, so I can't figure out how to differentiate between the tasks when it comes time to reading their respective buffers. I attached a quick example VI that shows the taskID problem.
    Anyone know how to run multiple buffered counting operations at once?
    -Michael
    Attachments:
    StartCTRsTIO.vi ‏80 KB

    Hi M.J.
    This example VI should exactly do what you want:
    http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3DC9F56A4E034080020E74861&p_node=DZ52325&p_source=External
    Hope this helps,
    Luca
    Regards,
    Luca

  • Multiple counters

    Hello,
    We are using a 6602 board and would like to do buffered counting on
    three counters. As this board does not allow multiple counters in a
    group, we have modified the example 'Single Buffered Event Counting-Adv
    (NIO-TIO)' by adding two additional sets of the counter subVI's (group
    config, buffer config, set attribute, control, read buffer). We are
    using the internal timebase and have the gate connected to pin 38 on a
    SCB-68. When the program is run, counters 0 and 2 will count while
    counter 1 does not. We are getting an error code 10123 in the counter
    control for counter #1. Does anyone know what the problem might be?
    Also is it necessary to be wired to each counter's gate pin on the SCB?
    Additionally, we would like to write the buffered da
    ta to a binary file
    and are having trouble figuring which vi to use. We are currently using
    Write File+ (I16) which is giving us errors.
    Thanks in advance,
    Kristie Elam

    post your example code.
    Stu
    Stu McFarlane
    Viewpoint Systems, Inc.

  • How to use multiple counters in the 6602 to measure cycle length, calculate delay and generate triggered pulse.

    Hi,
    I need to measure the cycle length of a pulse, calculate a delay based on this value, and then generate a triggered pulse with that delay value. The input and output pulses will be continuous. The best case would be to use the cycle length from one pulse in the calculated delay for the next pulse. One of my biggest problems has been getting the calculated delay value into the pulse specs.vi for the triggered output.
    This output pulse will be used to trigger an IMAQ video acquisition; therefore, the solution to this problem will be part of a larger video acquisition application. This has posed a problem, in that accessing the counters has interfe
    red with the triggered video acquisition.
    Any suggestion will be welcome.
    Thanks
    Dave

    Filipe,
    The overhead is the problem I'm trying to get around.
    Specifically, what I need to do is to generate an output pulse after a trigger pulse, which is a given percentage of the cycle length. The input pulse is from heart rate, so it will have some variance, and the output pulse will be at a stationary point in the cardiac cycle. For example, for an input pulse of 2 Hz (500 ms) the user would likely request the output pulse be delayed by 75%. Therefore, the generated pulse will have a 375ms delay after the trigger.
    In the past I have had hardware built to do this, but I am hoping I can accomplish the same thing with multiple counters on the 6602. I have been able to accomplish this with 3 counters (2 to measure period and 1 for output
    ) but the overhead prevents adequate triggering of the IMAQ video acquisition. I am hoping another method would solve this problem.
    Thanks
    Dave

  • Problem with multiple Toplink/JPA apps in same server

    Anyone have experence of running serveral Toplink/ EJB-3 Web apps in the same server (OC4J, alas)?
    We seem to get a problem with the second app failing to initialise toplink, with an entity not found message. Each app runs OK on it's own.

    Yes, they access the same datasource and most of the tables overlap.
    We're thinking it might help to have common entity classes and put them in a shared library, but I don't know if this is relevant (setting up shared libraries complicates testing and tends to snowball, I reckon we need about 15 jars all told).
    I''ve had some funnies on OC4J before which I think may be to do with it's use of ClassLoaders, for example I initially put persistence.xml in the libary jar with the data model, but for some reason I get the entity not found error that way. It only seems to work if it's in the classes folder.
    For the moment we're getting arround the problem with multiple OC4J instances in the server.

  • How do I read 2 counters simultaneously using a PXI-6052E board?

    Labview help files seem to suggest that I should be able to use the "Group Config" vi to configure 2 counters within a single task ID so that I can read both counters simultaneously with a single read command, but I am having trouble doing this so far.
    The only way that I can read both counters is to run the group config vi two times, creating two separate task IDs. For each task ID, I can then run "Set Attribute" to set the attributes of the counters, and then "Get Attribute" to actually read the counter values.
    I need to configure the two counters separately (so that each looks at a different input), but I would like to be able to arm them and reset them together.
    Any help would be greatly appreciated! I've seen example vis that read them sequentially (in the way that I am doing now), but Labview help suggests that the "Group Config" vi can allow you to group several counters together so that you can address multiple counters with a single read command.
    Polly

    Hello Polly. Thank you for contacting National Instruments. If you right click on Group Config.vi and select Help, LabVIEW Help will open up. The description of the VI says, "Groups with multiple counters are not currently supported by MIO-16, E Series boards or NI-TIO-based devices." Some legacy boards that we don't sell anymore used to support this, but most of our current boards do not. The best way to do what you want is to configure one counter and then just copy and paste it to make the second one. Please let me know if you have any questions. Have a great day!
    Marni S.
    National Instruments

  • Simultaneously latching multiple counters (AKA "strobe")?

    How do you simultaneously latch values in multiple counters, at arbitrary times, for later reading?
    A physical system generates several kinds of events to be counted by different counters, none of which events are strictly periodic or mutually synchronized (most of them are radioactive decay events, on the order 10^-3 to 10^5 per second average). It is critically important to count them all. At somewhat irregular intervals a few dozen milliseconds apart, I have the opportunity to read the counts, and it is also critical that whenever I read them, the counts are all captured at the same time, though it is not important exactly when this time is or how close in time I read them. Note: it is defining the end of one count period and start of the next that is time critical - not returning the count value to the calling program, which can happen whenever convenient.
    I've used other counters that have a strobe-and-latch feature in past versions of this system, including Advanced Micro Devices' Am9513 and the good old 8254. When a read opportunity happens, I programatically strobe the counters then read each one's latched values at leasure, while the counters themselves continue counting. But I haven't found strobe-and-latch in either of my two NI hardware systems or in any of the LabVIEW vi's, properties, or examples. Is it there someplace, maybe by a different name?
    I haven't found an example vi that simultaneously buffers counts in different counters. But it looks like some combination of the "Count Digital Events-Buffered-Continuous-Ext Clk.vi" example vi and the "Duplicate Count Prevention" method described in my DAQPad-6259 docs might get me what I want, but I'm not sure. I've attached one of my attempts to make this work, "SimultaneousCountBuffering01.vi". I have a single benchtop signal generator sending a 1 kHz signal to my DAQPad, where it's wired to both counter source terminals. This vi reads both counters at slightly different times on an irregular schedule repeating at about a half second. But it also first drives a digital output line high and low. This output is physically wired to both counter gate terminals. The DAQPad docs say that when counting in this mode, the counter is always counting regardless of the state of the gate, but at every positive edge on the gate, the count is buffered for subsequent reading. It's not important whether the readings are cumulative or get rezeroed because it's easy to use a shift register to change this anyway.
    But I haven't gotten this vi or others like it to do anything useful. In this particular version, the counter reads time out. Maybe this means there's nothing sitting in the counter buffer? The examples don't seem to show anything making the counter buffer counts, so I guess that's done by the property node selecting Duplicate Count Prevention counting mode. I've checked various combinations of the digital out line state in this vi, by the way, but still the timeout happens. In my other attempts the counts are always zero, or occasionally jump by thousands, or only one counter will occasionally see only one count. Simpler vi's (that don't attempt the Duplicate Count Prevention and don't get synchronized count values) do work, and the counters both count at the expected rate.
    Am I on the right track, using Duplicate Count Prevention?
    If not, what approach should I be taking?
    Even if this is the wrong approach, I still wish the vi did something, and am curious what I'm leaving out. Anybody know?
    Thanks!
    Attachments:
    SimultaneousCountBuffering01.vi ‏64 KB

    I don't have LV handy here, but I took a quick look at your OneLoop and TwoLoop attachments.  If I remember correctly (I may be mixing those up with a couple other things I looked at), you face the following significant issues:
    A. Need dataflow sequencing to help enforce execution sequence.  With multiple data acq tasks, it's very typical to use the wind the error cluster from one task to another as a means to enforce execution sequence.
    B. Need an overall scheme that doesn't keep configuring, running, and clearing each task in a software loop.
    Let me roughly describe an approach I'd suggest:
    1. Create a "dummy" AO task solely for the purpose of using its sample clock as a strobe for buffering your edge counts.  Configure it for Continuous Samples using DAQmx Timing.vi   The sample rate you choose will determine how often count values are captured ("strobed").  You may also need to set the property to "Allow Regeneration", found under one of the DAQmx Property Nodes (probably either the Channel or Write node).  Write an array full of 0 values to the output buffer using DAQmx Write.  (The actual value doesn't matter to the program, but 0 volts should be a safe value if you've got anything wired to your analog output terminals.)
    2. Create 2 similar edge counting tasks with your counters.  Both should be configured to use a digital "Arm Start" trigger using a DAQmx Trigger property node.  That will guarantee that they are sync'ed at time=0.  When you call DAQmx Timing.vi, wire in the input that lets you specify sampling using the AOSampleClock.
    3. My personal choice for getting them all started in the right order would go like this.  The counters would use the falling edge of the AOSampleClock as an "Arm Start" trigger and the rising edge of the AOSampleClock as their sample clock.  The counter tasks are started before starting the AO task.  After starting the AO task, the falling edge of the 1st AOSampleClock will "arm" the counters to start counting their edges simultaneously.  The rising edge of the 2nd AOSampleClock will "strobe" the count values into the counter tasks' data acq buffers.  Each subsequent rising edge will buffer the next counts.
    4. Duplicate Count Prevention may need to be specified if there's a chance you might not see any edges to count between 2 consecutive sample clock strobes. 
    5. When you read from the counter tasks, be sure to read the same # of samples from each task.  Then you can subtract the arrays to get your count differences, knowing that the counts correspond to the exact same interval of time.
    -Kevin P.

  • HT4489 I cannot import my vCard to iCloud...it shows error.."1 contact could not be imported because there was a problem reading the vCard"

    I cannot import my vCard to iCloud...it shows error.."1 contact could not be imported because there was a problem reading the vCard"

    The vCard must not be a compatible format.  (Unfortunately, there are multiple formats.)
    Often your carrier can transfer contacts between devices from different manufacturers.  Try visiting your carrier's retail outlet and see if they can do this for you.

  • There was a problem reading this document (118) after sleep

    Adobe reader X 10.1.8.24, windows 7 64 bit
    I have a lot of pdf documents located on a remote windows share and everytime I put my computer to sleep and wake it up I get problems reading pdf documents that result in this error:
         There was a problem reading this document (118)
    Then I have to close ALL pdf documents and re-open them to be able to read them again.
    This has happened for a long time now, with multiple reader versions and it really starts to bother me. Other applications just pick up the remote files where I left them before putting the pc to sleep. The reader should be able to retry getting the data from the remote share.
    Where do I report this bug?
    Jur.

    Sorry, I do not quite understand what your problem is:
    you have a problem with signing in to the ExportPDF service ?
    you have a problem opening PDF files ?  If so, are these local or online documents?
    P.S. Reader XI and earlier will no longer support Document Cloud PDF services as of May 20; see https://forums.adobe.com/docs/DOC-5891

  • After 11.0.10 update Save as gives the error "there was a problem reading this document (21)"

    We have some PDF reports that are generated from Microsoft Dynamcs AX.
    When we try to "Save as" we get an error.
    The client PCs that have Reader 11.0.08 do not have any problems.
    The PCs that have Reader 11.0.10 give the following messages on save as:
    "The document could not be saved. There was a problem reading this document (21)"
    when I click OK to that error I get "Out of memory error"
    I read that holding down CTRL when clicking OK would give additional information, and it told me this: "This direct object already has a container"
    No older versions of Reader have had any problems with these same PDF files.

    Yes, we have it on multiple documents. As mentioned, they are reports that are generated from Microsoft Dynamcs AX. I have found out that not all reports get the error. PDFs from Office or  Autodesk AutoCAD do not get the error.
    These are the errors it displays:

  • Problem Using Multiple With Statements

    I'm having a problem using multiple WITH statements. Oracle seems to be expecting a SELECT statement after the first one. I need two in order to reference stuff from the second one in another query.
    Here's my code:
    <code>
    WITH calculate_terms AS (SELECT robinst_current_term_code,
    CASE
    WHEN robinst_current_term_code LIKE '%60' THEN robinst_current_term_code - '40'
    WHEN robinst_current_term_code LIKE '%20' THEN robinst_current_term_code - '100'
    END first_term,
    CASE
    WHEN robinst_current_term_code LIKE '%60' THEN robinst_current_term_code - '100'
    WHEN robinst_current_term_code LIKE '%20' THEN robinst_current_term_code - '160'
    END second_term
    FROM robinst
    WHERE robinst_aidy_code = :aidy)
    /*Use terms from calculate_terms to generate attendance periods*/
    WITH gen_attn_terms AS
    SELECT
    CASE
    WHEN first_term LIKE '%60' THEN 'Fall '||substr(first_term,0,4)
    WHEN first_term LIKE '%20' THEN 'Spring '||substr(first_term,0,4)
    END first_attn_period,
    CASE
    WHEN second_term LIKE '%60' THEN 'Fall '||substr(second_term,0,4)
    WHEN second_term LIKE '%20' THEN 'Spring '||substr(second_term,0,4)
    END second_attn_period
    FROM calculate_terms
    SELECT *
    FROM gen_attn_terms
    <code>
    I get ORA-00928: missing SELECT keyword error. What could be the problem?

    You can just separate them with a comma:
    WITH calculate_terms AS (SELECT robinst_current_term_code,
    CASE
    WHEN robinst_current_term_code LIKE '%60' THEN robinst_current_term_code - '40'
    WHEN robinst_current_term_code LIKE '%20' THEN robinst_current_term_code - '100'
    END first_term,
    CASE
    WHEN robinst_current_term_code LIKE '%60' THEN robinst_current_term_code - '100'
    WHEN robinst_current_term_code LIKE '%20' THEN robinst_current_term_code - '160'
    END second_term
    FROM robinst
    WHERE robinst_aidy_code = :aidy),
    /*Use terms from calculate_terms to generate attendance periods*/
    gen_attn_terms AS
    SELECT
    CASE
    WHEN first_term LIKE '%60' THEN 'Fall '||substr(first_term,0,4)
    WHEN first_term LIKE '%20' THEN 'Spring '||substr(first_term,0,4)
    END first_attn_period,
    CASE
    WHEN second_term LIKE '%60' THEN 'Fall '||substr(second_term,0,4)
    WHEN second_term LIKE '%20' THEN 'Spring '||substr(second_term,0,4)
    END second_attn_period
    FROM calculate_terms
    )Not tested because there are no scripts.

  • Problem using multiple contexts in same thread

    Hello,
    I am having problem using multiple contexts in the same thread. Here is the scenario:
    front-end is calling a ejb1 with a user1 and password. Ejb1 is then calling ejb2
    using user2 and password. I am getting security exception when calling ejb2 with
    the message user1 is not authorized. Looking at the documentation, context 2 should
    be pushed on stack on top of context 1 and context 2 should then be used until
    context.close() is called. It looks like this is not the case in this scenario?
    Regards,
    Jeba Bhaskaran

    I have the GTX670. So pretty much the same.
    When I go to  Edit>Preferences>Playback I see:
    When I select the monitor I am not currently using for Premiere Pro, the Program Monitor shows up full size at 1920X1080 in that monitor.
    While that may not help you, at least you know a similar card can do the job and you know that it should work.. What happens if you drop down to two monitors? Will it work then?
    Also, have you performed the hack that allows Premiere Pro to use the card since that card is not in the file? I have no idea if that is relevant at all, by the way. It is just an attempt at getting our systems to work the same way.

  • "Lightroom has encountered problems reading this photo."

    ***** UPDATE July 17, 2013 @ 9:16 am Central Time (UTC -06:00)*****
    After Creating a fresh catalog I have been able to clarify the issue a bit. This error appears to only show up in Folders exported as Catalogs. Particularly when I try and open that exported catalog.
    I suspect there is a problem with the way Lightroom 5 is exporting these catalogs. I didn't have this issue with LR4.4, but it shows up any time I export a folder as a catalog within LR5, regardless of whether or not it is exported from an upgraded catalog or a fressly created catalog.
    It looks like fixing the problem is going to be time consuming, but not impossible. So far I have confirmed that these files - reported as throwing this error by Lightroom 5 ("Lightroom has encountered problems reading this photo .... You will not be able to make adjustment to this photo.") - can be imported into a new/existing catalog by multiple methods without carrying over the errors displayed in the exported catalog.
    This is frustrating and adds additional steps to my workflow, but isn't undoable. Of course it would be nice if LR5 worked as correctly and exported folders as catalogs without throwing errors when those new catalogs were opened...
    Is anyone else seeing this problem when they open catalogs created by "exporting a folder as a catalog"?
    ***** Original Post *****
    I'm really confused. I am consistently getting this message on certain exports, but not others...
    When it happens:
    1) "Export this Folder as a Catalog" from a specific folder within my Working Catalog
         Select the location
         Select "Export negative files"
    When I open the NEW Catalog - ALL the photos reflect this error message: "Lightroom has encountered problems reading this photo .... You will not be able to make adjustment to this photo."
    When I go to the Develop tab it displays "There was an error working with the photo" over the photo, but I can edit it... When I close the catalog and re-open it, the changes don't reflect UNTIL I go back to the Develop tab, then the thumbnail will reflect the change. But the system still insists that it has a problem with the file...
    2) The same thing happens when I export the file from my Working Catalog as an image of the same format - be it tif, dng, or psd, or RAW files. Not sure what I was refering to here (can't duplicate today - July 17).
    When it doesn't happen:
    When I export the file to the auto import folder for my Portfolio catalog (original format). This seems to work...
    Why am I so confused? Because all of these catalogs are located on the same drive (which is different than the drive my Working Catalog is on). When they are auto imported to my Portfolio catalog they seem to work, but everything else throws an error sinse I upgraded to LR5!
    My System:
    Windows 7 Pro SP1 (fully up to date) 64-bit
    Intel Core i7 CPU 950 @ 3.07GHz
    Installed RAM: 12.0 GB
    My Lightroom 5 Working Catalog doesn't seem to be having any problems...
    This problem is frustrating enough that I may go back to LR4. I can't have my archived files compromised...

    Suggestion to all who encounter problems like this: if you've installed 3rd party memory cards (ram), go back to your original ram, or at least the brand of ram that your computuer came with.
    Long story, short:
    I had the same error message in LR5.  It only happened with several images in a given import.  If I deleted all of the images from the import and reimported the images, a different set of images would have the error message.  The images that originally had the message would no longer have the problem.  I deleted and reimported several times while observing the same behavior. 
    Not only did lightroom give me issues, but Bridge had problems reading the files, and the previews of the problem images would not show up in Finder (Mac speak).  This ruled out, to me at least, that it was a software issue.  I went out and purchased a new card reader and had the same problems.  I tried a different card with different images and got the same problems. 
    After I contacted Adobe, they had me upload two files with the error, and they said the files were corrupted due to faulty hardware.  I took my mac book pro (13in early 2011 w/ 10.7.5) to the apple store and they ran a diagnostic test amoung other test and we came up with nothing.  Everything seemed to be good on the hardware side.  After some research the Rep. asked me about my ram (memory cards).  I had in the past installed two 3rd party cards to boost my ram from 4GB to 8GB. The rep. suggested that I go home and test the issue with the original ram my computer came with before we go any farther.  So far, I haven't had any issues. 
    I hope this helps,
    Josef

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

Maybe you are looking for