Producer/consumer inside producer/consumer

Hello all,  I am using a producer/consumer event structure within a producer/consumer....not sure if this is the best approach.  The main vi is setup to perform several different tests based on the user input.  It does an initialize, setup, and read a pressure controller.  The main vi continues to read the pressure controller until the user presses a button to perform a particular test. When the test is complete, it goes back to the main vi and monitors the pressure controller.  The user can perform another test or stop the program operation.  My question is......In the individual tests I use an enqueue element which sends it back to the monitor pressure controller in the main vi.  Is this the best approach?  THANKS in advance!
Alma

So the subVI is a popup window?  And nobody will be able to manipulate the main VI while the popup is there?  If so, I don't see much wrong with this.  But if you need to change things in the main VI while this subVI is running, it won't really work well since your main's consumer loop will not be iterating until the subVI is complete.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines

Similar Messages

  • Jms Adapter Consume and produce

    Hai guys,
    i don't know anything in soa. i have got a usecase which is to
    1) Read a .csv file
    2) Send it to a bpel (in bpel do nothing to payload). Again i have to send the payload to jms adapter( which i dnt knw how )
    3) From the same jms adapter passing the payload to mediator
    4) Pass the input to another jms( jms2 ). from jms2 pass the payload to another bpel
    5) from bpel to db adapter
    am using
    Oracle jDevloper 11.1.13
    Weblogic server is a 10.3.6
    my problem is how to create the same jms in two ways like consuming and producing
    Thanks in advance
    Edited by: Beckyard on Sep 26, 2012 9:49 PM

    Hi,
    Why do you need 2 JMS queues? Can't you consider following pattern?
    Read .csv --> BPEL --> JMS Q
    JMS Q --> Mediator --> BPEL (only if some payload processing required) --> Db Adapter
    Assuming the above pattern, you'll have to develop 2 processes (in your pattern 3 processes).
    - One that will enqueue the data in JMS in which the JMS Adapter will be placed in the External references and will be invoked with Produce operation.
    - Another process in which Mediator will consume the message using Consume operation from JMS and pass it to BPEL for inserting into database. In this case, JMS Adapter will be placed in Exposed Service swim-lane.
    Let us know how you proceed.
    Regards,
    Neeraj Sehgal

  • WSRP - Pass Custom Data between Consumer and Producer

    Hello All,
    I am having a couple of queries with respect to Custom Data Transfer. Consider I have a Map of values which I need to transfer between both Consumer and Producer.
    For eg: the map that Consumer sends would contain "firstName", "lastName", etc... On the other hand Producer needs to do some business function based on the data and add more values to the map like "rewardPoint" etc....
    On Consumer Side:
    I have choice to use Backing File or IGetMarkupInterceptor to implement the preInvoke to pass the data using SimpleStateHolder.
    Question: I am not able to send a simple Serializable POJO Object... I can only send primitive / default java objects like Strings, Maps of String etc. Is my understanding correct?
    On Producer side:
    I am able to receive the Custom Data from request. No problems. Now how to send more data from Producer to consumer. I need to add the "rewardPoints" into the map and send back.
    My understanding is that if the Producer puts any values into StateHolder objects, Consumer will receive it in IGetMarkupResponseContext object in the Interceptor's postInvoke method.
    Question: How do I get a handle to the IGetMarkupResponseContext object @ Producer end???
    Question: Do I need to write some interceptors on Producer end? If so which file I need to use?
    Any help / pointers would be greatly appreciated.
    Thanks,
    Paz

    Hi All,
    I tried to set the data in the producer using the following command
    SimpleStateHolder stateSimpleOuterReq = (SimpleStateHolder)request.getAttribute(MarkupRequestState.KEY);;
              if (stateSimpleOuterReq == null) {
                   SimpleStateHolder state = new SimpleStateHolder();
                   state.addParameter("name", "data1");
                   request.setAttribute(MarkupResponseState.KEY, state);
    I am not able to retrieve the same in consumer.
    The above is a WSRP struts request.
    I also tried setting the data by unwrapping the request in producer and still value is null in consumer :-(
              HttpServletRequest requestq = (HttpServletRequest)((HttpServletRequestWrapper) request).getRequest();
              SimpleStateHolder stateSimpleReq1 = (SimpleStateHolder)requestq.getAttribute(MarkupRequestState.KEY);
                   if (stateSimpleReq1 == null) {
                        SimpleStateHolder state = new SimpleStateHolder();
    state.addParameter("name", "data1");
                        requestq.setAttribute(MarkupRequestState.KEY, state);
    Please help me in resolving the issue. Correct me if i am doing anything wrong.
    Thanks
    T. Deena
    Edited by: user11261911 on 12/06/2009 19:49

  • Data passing from consumer to producer

    Hello forum,
    I am using Producer-Consumer design pattern for data acquisition. While my producer loop acquires data, consumer loop does,analyze, display and save the data. One thing I would like to do is to pass a data from the consumer loop to producer loop. This is for a taring function, where my consumer loop would analyze the acquired data for n-point average and pass the value to produced loop where, this value is subtracted from the acquired data. How would I pass a data from Consumer to Producer?
    Many thanks to all,
    Zacharia

    MoReese wrote:
    johnsold wrote:
    Some of my dual loop systems pass data one way and commands or status messages the other way.  When I need to do this I use a pair of queues, one for each direction.
    Lynn
    Hmmm.  I thought of this but I couldn't get it to work.  It sounded like a good idea.  It just locked up the program.  The fp panel became unresponsive.  I had to use the Abort Execution button to stop it.  Could you provide a sample of this?  Just curious.  Thanks.
    Using the two queue method would require the producer to check the status of the queue and move on when it is empty. This ultimately turns it into a form of a polling system.
    If the producer is using an event structure you can pass data back via a user event.
    Also, the OP mentioned that they handle the UI and analyze the data in the consumer loop. I would recommend for the greatest felxibility and reuse that the UI actually be in its own loop separate from the analysis. The UI loop would use an event structure and the UI updates can be passed to it using user events.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • How to build a stable, reliable application with consumer and producer

    Hi all,
    As a frontend solution, Flex is really powerful and fascinate. On the other hand, it inevitiably needs to exchange data. And I am trying to find a good way to build a stable and reliable application.
    Here's the workaround. On server side, blazeDS or LCDS is involved and on frontend component Consumer and Producer are used to interact. A group of users cooperates on the whole processing. Everybody will send an update once he finished current job.
    Of course each frontend need to subscribe first. But if one frontend is disconnect temporarily and other frontends send message to backend during that time, how can the disconnect one get message it missed? How can I fix the inconsistent status?
    Thanks and regards,

    Hello meshgraphics,
    Your reply is useful, but feasible I have to say. Creating DB tables, updating entries and synchronizing contents involve a lot of work. As we can use blazeDS and LCDS, that'll be good option. From online help, it doesn't explain what will happen if consumer disconnects temporarily which is very important to me. If some messages are missed, the whole process can't move on smoothly.
    Simply speaking, I hope below issues can be solved with blazeDS or LCDS:
    1) how to ensure messages are delivered to subscribed consumers if they are temporarily disconnected?
    2) how to recover work if consumers are thoroughly disconnect?
    Thanks and regards,
    Felix

  • Asynchronous consumer doesn't consume?

    Can anyone tell my why my message consumer doesn't consume a TextMessage put in a Queue by a MessageDrivenBean?
    Another part of my client successfully sent a message to the MDB, and the MDB put a TextMessage in another Queue (queue\goAdminOut) with this property set on the message:
    key="Selector"
    value="ADCD"
    I know the TextMessage is waiting on the Queue, because I can see it using the servers web-consloe.
    Its just that the message does not trigger the onMessage () method of the Listener I set on the MessageConsumer in my client.
    The MessageConsumer was created with:
    Session.createConsumer(Destination destination, java.lang.String messageSelector)
    Here is a list of the relevant code included below.
    1. Two classes the mimic my client.
    TestConsumerView
    -- A JFrame that stays alive till it is closed.
    TestConsumer
    -- An object that is instantiated as a field in TestConsumerView
    -- It establishes the connection, session and message consumer
    2. The screen print when I run TestConsumerView
    3. A screen print from the JBoss JMX web console confirming that the message is in the queue
    TestConsumerView Codeimport javax.swing.JFrame;
    class TestConsumerView extends JFrame {
      // members
      private static final long    serialVersionUID = 1L;
      private TestConsumer consumer;
      // main ()
      public static void main(String args[]) {
        System.out.println ("** BEGIN: TestConsumerView.main ()");
        System.out.println ("** instantiate TestConsumerView");
        new TestConsumerView();
        System.out.println ("\n** TestConsumerView instantiated");
        System.out.println ("** END:   TestConsumerView.main ()");
      // constructor
      private TestConsumerView () {
        super ();
        System.out.println ("\n**** BEGIN: TestConsumerView.constructor");
        consumer = new TestConsumer ();
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible (true);
        System.out.println ("\n**** END:   TestConsumerView.constructor");
    } TestConsumer Code import javax.swing.JFrame;
    class TestConsumerView extends JFrame {
      // members
      private static final long    serialVersionUID = 1L;
      private TestConsumer consumer;
      // main ()
      public static void main(String args[]) {
        System.out.println ("** BEGIN: TestConsumerView.main ()");
        System.out.println ("** instantiate TestConsumerView");
        new TestConsumerView();
        System.out.println ("\n** TestConsumerView instantiated");
        System.out.println ("** END:   TestConsumerView.main ()");
      // constructor
      private TestConsumerView () {
        super ();
        System.out.println ("\n**** BEGIN: TestConsumerView.constructor");
        consumer = new TestConsumer ();
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible (true);
        System.out.println ("\n**** END:   TestConsumerView.constructor");
    }Screen Output ** BEGIN: TestConsumerView.main ()
    ** instantiate TestConsumerView
    **** BEGIN: TestConsumerView.constructor
    ****** BEGIN: TestConsumer.constructor
    ****** calling connect ()
    ******** BEGIN: TestConsumer.connect ()
    ******** InitialContext Returned
    ******** Connection instantiated
    ******** Session instantiated
    ******** MessageConsumer instantiated with the selector phrase = Selector='ABCD'
    ******** add a MessageListener to consumer
    ********** TCListener.constructor called
    ******** MessageListener added
    ******** Connection started
    ******** END:   TestConsumer.connect ()
    ****** call to connnect () completed
    ****** END:   TestConsumer.constructor
    **** END:   TestConsumerView.constructor
    ** TestConsumerView instantiated
    ** END:   TestConsumerView.main () WEB CONSOLE OUTPUT [SpyTextMessage {
    Header {
       jmsDestination  : QUEUE.goAdminOut
       jmsDeliveryMode : 2
       jmsExpiration   : 0
       jmsPriority     : 4
       jmsMessageID    : ID:9-11218101942431
       jmsTimeStamp    : 1121810194243
       jmsCorrelationID: null
       jmsReplyTo      : null
       jmsType         : null
       jmsRedelivered  : false
       jmsProperties   : {Selector='ABCD'}
       jmsPropReadWrite: false
       msgReadOnly     : true
       producerClientId: ID:9
    Body {
       text            :The DialogPack was received

    Sorry,
    I guess I screwed up and put TestConsumerView code twice.
    Anyway, the missing TestConsumer code is below.
    I am not sure I understand your comment about MDB and a Java GUI client.
    Right now I am testing my app on a local server.
    Ultimately I intend to use a remote server that mediates between two WebStart downloaded Java GUI clients running on independent PCs.
    Kind of a game model with two players.
    Both clients can send ObjectMessages to a server side Queue that is listened to by an MDB (i.e. the object would contain all the data needed to enroll a new player, or to describe a new play by one client to the other).
    The MDB would process the data in the object attached to the Object Message using Entity Beans and any other server side components required, i.e. to add the new member to the database or update the copy ot the game history.
    When done, the MDB would send messages to one or two Queues.
    Queue-1 would be listend to by the client that sent the origianl ObjectMessage letting it know if the object was processed correctly.
    That is why I want to use a selector. There could be multiple pairs of clients being served by the MDB, so I need to attach a selector to the original Object message that the MDB then sets on its response message so the original client can find the MDB response in Queue-1.
    Queue-2 would be listened to by the other client (i.e. to let it know a play has been made). Same concept.
    Right now I am just trying to test the original client cycle, i.e. the original client listening to Queue-1 to see if the MDB succeeded.
    The Object message to MDB and the MDB message to Queue-1 works because I can use the JBoss web-consloe to see the TextMessaage waiing with the correct selector in the correct Queue.
    I just can't seem to write code for an asynchromous consumer in the original client that continuously listens to Queue-1.
    Anyway here is the code.
    TestConsumer CODEimport java.util.Hashtable;
    import javax.jms.JMSException;
    import javax.jms.ConnectionFactory;
    import javax.jms.Connection;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Destination;
    import javax.jms.Session;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    public class TestConsumer {
      // constructor
      public TestConsumer () {
        super ();
        System.out.println ("\n****** BEGIN: TestConsumer.constructor");
        System.out.println ("****** calling connect ()");
        connect ();
        System.out.println ("\n****** call to connnect () completed");
        System.out.println ("****** END:   TestConsumer.constructor");
      // members
      private final String selector = "Selector='ABCD'";
      private Session session;
      // members - inner class
      private class TCListener implements MessageListener {
        TCListener () {
          super ();
          System.out.println ("\n********** TCListener.constructor called\n");
        public void onMessage (Message msg) {
          try {
            System.out.println ("    ** BEGIN: TestConsumer.Listen.onMessage ()");
            System.out.println ("       Msg property 'Selector'=" + "\"" + msg.getStringProperty ("Selector") + "\"");
          } catch (JMSException e) {
            System.out.println ("       JMSException");
          System.out.println ("    ** END:   TestConsumer.Listen.onMessage ()");
      // methods
      private void connect () {
        System.out.println ("\n******** BEGIN: TestConsumer.connect ()");
        try {
           Hashtable<String, String> env =
             new Hashtable<String, String> ();
           env.put(Context.INITIAL_CONTEXT_FACTORY,
                  "org.jboss.naming.HttpNamingContextFactory");
           env.put(Context.PROVIDER_URL,
                  "http://localhost:8080/invoker/JNDIFactory");
           env.put(Context.URL_PKG_PREFIXES,
                   "org.jboss.naming:org.jnp.interfaces");
          Context jndiContext = new InitialContext(env);
          System.out.println ("******** InitialContext Returned\n");
          ConnectionFactory factory = (ConnectionFactory)
              jndiContext.lookup("HTTPConnectionFactory");
          Connection connection = factory.createConnection();
          System.out.println ("\n******** Connection instantiated");
          session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
          System.out.println ("******** Session instantiated");
          Destination destination = (Destination) jndiContext.lookup("queue/goAdminOut");
          MessageConsumer consumer = session.createConsumer(destination, selector);
          System.out.println ("******** MessageConsumer instantiated with the selector phrase = " + selector);
          System.out.println ("******** add a MessageListener to consumer");
          consumer.setMessageListener (new TCListener ());
          System.out.println ("******** MessageListener added");
          connection.start ();
          System.out.println ("******** Connection started");
        } catch (NamingException e) {
          System.out.println ("******** Naming Exception");
        } catch (JMSException e) {
          System.out.println ("******** JMS Execption");
        System.out.println ("******** END:   TestConsumer.connect ()");
    }

  • Need help with Consumer (mx.messaging.Consumer)

    Hello all!
    I have the following situation.
    I've created server side compiled application with Flex
    Builder 2/SDK2 and I'm using a consumer (mx.messaging.Consumer).
    Some time later I've migrated to Flex Builder 3/SDK3.
    In both cases I cannot specify the address of the data
    source. The consumer always tries to connect to the machine that
    hosts the application. Is there some way to change this.
    Another question: is there some way to use consumer if the
    project is NOT serverside compiled? I tried, but I'm getting an
    error: Destination 'feed' either does not exist or the destination
    has no channels defined (and the application does not define any
    default channels.)
    I'll be grateful for any ideas.

    Any ideas?

  • Using WSRP in a clustered consumer and producer environment.

    We're currently in the design phase of a remote portlet project where our clustered portal will consume portlets from a different clustered portal. I've read the "Inside WSRP" found on dev2dev:
    http://dev2dev.bea.com/pub/a/2005/03/inside_wsrp.html?page=4
    Will the portal producer cluster need to be front-ended by something which load-balances the SOAP traffic across the managed servers in the portal producer cluster? We've been doing some testing with the iisproxy and it doesn't seem to work properly. Does this mean that we will need to front-end the portal producer cluster with another mechanism to LB?
    Thanks!

    Can you also check if the http cookies returned via initCookieResponse
    are included in all the subsequent requests to the producer.
    Subbu
    flat wrote:
    Below you can find request and response messages.
    Please note that the same portlet works fine when deployed in a single server domain without Clustering.
    Request (Wed Mar 01 08:35:23 CET 2006)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="urn:oasis:names:tc:wsrp:v1:types">
    <env:Body>
    <ns0:initCookie>
    <ns0:registrationContext xsi:nil="1"/>
    </ns0:initCookie>
    </env:Body>
    </env:Envelope>
    Response (Wed Mar 01 08:35:23 CET 2006)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <urn:initCookieResponse xmlns:urn="urn:oasis:names:tc:wsrp:v1:types"/>
    </soapenv:Body>
    </soapenv:Envelope>
    Request (Wed Mar 01 08:35:23 CET 2006)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="urn:oasis:names:tc:wsrp:v1:types">
    <env:Body>
    <ns0:getMarkup>
    <ns0:registrationContext xsi:nil="1"/>
    <ns0:portletContext>
    <ns0:portletHandle>portlet_struts_11_bea_base</ns0:portletHandle>
    </ns0:portletContext>
    <ns0:runtimeContext>
    <ns0:userAuthentication>wsrp:none</ns0:userAuthentication>
    <ns0:portletInstanceKey>74_14374_74_14186_14218</ns0:portletInstanceKey>
    <ns0:namespacePrefix>__ns74_14374_74_14186_14218_</ns0:namespacePrefix>
    <ns0:templates>
    <ns0:defaultTemplate xsi:nil="1"/>
    <ns0:blockingActionTemplate>wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-navigationalState={wsrp-navigationalState}&wsrp-interactionState={wsrp-interactionState}&wsrp-mode={wsrp-mode}&wsrp-windowState={wsrp-windowState}&wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite</ns0:blockingActionTemplate>
    <ns0:renderTemplate>wsrp_rewrite?wsrp-urlType=render&wsrp-navigationalState={wsrp-navigationalState}&wsrp-mode={wsrp-mode}&wsrp-windowState={wsrp-windowState}&wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite</ns0:renderTemplate>
    <ns0:resourceTemplate>wsrp_rewrite?wsrp-urlType=resource&wsrp-url={wsrp-url}&wsrp-requiresRewrite={wsrp-requiresRewrite}/wsrp_rewrite</ns0:resourceTemplate>
    <ns0:secureDefaultTemplate xsi:nil="1"/>
    <ns0:secureBlockingActionTemplate><![CDATA[wsrp_rewrite?wsrp-urlType=blockingAction&wsrp-secureURL=true&wsrp-navigationalState={wsrp-navigationalState}&wsrp-interactionState={wsrp-interactionState}&wsrp-mode={wsrp-mode}&wsrp-windowState={wsrp-windowState}&wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite]]></ns0:secureBlockingActionTemplate>
    <ns0:secureRenderTemplate>wsrp_rewrite?wsrp-urlType=render&wsrp-secureURL=true&wsrp-navigationalState={wsrp-navigationalState}&wsrp-mode={wsrp-mode}&wsrp-windowState={wsrp-windowState}&wsrp-fragmentID={wsrp-fragmentID}/wsrp_rewrite</ns0:secureRenderTemplate>
    <ns0:secureResourceTemplate>wsrp_rewrite?wsrp-urlType=resource&wsrp-secureURL=true&wsrp-url={wsrp-url}&wsrp-requiresRewrite={wsrp-requiresRewrite}/wsrp_rewrite</ns0:secureResourceTemplate>
    </ns0:templates>
    </ns0:runtimeContext>
    <ns0:userContext>
    <ns0:userContextKey>wsrp:minimal</ns0:userContextKey>
    </ns0:userContext>
    <ns0:markupParams>
    <ns0:secureClientCommunication>false</ns0:secureClientCommunication>
    <ns0:locales>en-us</ns0:locales>
    <ns0:mimeTypes>text/html</ns0:mimeTypes>
    <ns0:mimeTypes>text/xml</ns0:mimeTypes>
    <ns0:mimeTypes>text/vnd.oracle.mobilexml</ns0:mimeTypes>
    <ns0:mode>wsrp:view</ns0:mode>
    <ns0:windowState>wsrp:normal</ns0:windowState>
    <ns0:clientData>
    <ns0:userAgent>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) RPT-HTTPClient/0.3-3</ns0:userAgent>
    <ns0:extensions>
    <oracle:GenericExtension xmlns:oracle="http://xmlns.oracle.com/portal/wsrp/v1">
    <ns0:NamedString name="X-Oracle-Device.MaxDocSize">
    <ns0:value>0</ns0:value>
    </ns0:NamedString>
    <ns0:NamedString name="X-Oracle-Device.Class">
    <ns0:value>pcbrowser</ns0:value>
    </ns0:NamedString>
    <ns0:NamedString name="X-Oracle-Device.Secure">
    <ns0:value>false</ns0:value>
    </ns0:NamedString>
    <ns0:NamedString name="X-Oracle-Device.Orientation">
    <ns0:value>landscape</ns0:value>
    </ns0:NamedString>
    </oracle:GenericExtension>
    </ns0:extensions>
    </ns0:clientData>
    <ns0:markupCharacterSets>utf-8</ns0:markupCharacterSets>
    <ns0:validNewModes>wsrp:view</ns0:validNewModes>
    <ns0:validNewWindowStates>wsrp:normal</ns0:validNewWindowStates>
    <ns0:validNewWindowStates>wsrp:maximized</ns0:validNewWindowStates>
    <ns0:validNewWindowStates>wsrp:minimized</ns0:validNewWindowStates>
    </ns0:markupParams>
    </ns0:getMarkup>
    </env:Body>
    </env:Envelope>
    Response (Wed Mar 01 08:35:23 CET 2006)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <urn:getMarkupResponse xmlns:urn="urn:oasis:names:tc:wsrp:v1:types">
    <urn:markupContext>
    <urn:mimeType>text/html; charset=UTF-8</urn:mimeType>
    <urn:markupString><![CDATA[<html>
    <head>
    <title>Ricerca soggetti (esempio)</title>
    <base href="http://10.102.98.20:10080/struts11Bea/moduloBase/ricerca.jsp">
    </head>
    <body>
    </body>
    </html>]]></urn:markupString>
    <urn:locale>en</urn:locale>
    <urn:requiresUrlRewriting>false</urn:requiresUrlRewriting>
    </urn:markupContext>
    <urn:sessionContext>
    <urn:sessionID>GFT7LcLT1vmPHDvWTWM28TpWhkG1DW8tsl31Npxvph2mZjg29KNg!-4321636!-1133063828</urn:sessionID>
    <urn:expires>3600</urn:expires>
    </urn:sessionContext>
    </urn:getMarkupResponse>
    </soapenv:Body>
    </soapenv:Envelope>
    Request (Wed Mar 01 08:35:36 CET 2006)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns0="urn:oasis:names:tc:wsrp:v1:types">
    <env:Body>
    <ns0:performBlockingInteraction>
    <ns0:registrationContext xsi:nil="1"/>
    <ns0:portletContext>
    <ns0:portletHandle>portlet_struts_11_bea_base</ns0:portletHandle>
    </ns0:portletContext>
    <ns0:runtimeContext>
    <ns0:userAuthentication>wsrp:none</ns0:userAuthentication>
    <ns0:portletInstanceKey>74_14374_74_14186_14218</ns0:portletInstanceKey>
    <ns0:namespacePrefix>__ns74_14374_74_14186_14218_</ns0:namespacePrefix>
    <ns0:sessionID>GFT7LcLT1vmPHDvWTWM28TpWhkG1DW8tsl31Npxvph2mZjg29KNg!-4321636!-1133063828</ns0:sessionID>
    </ns0:runtimeContext>
    <ns0:userContext>
    <ns0:userContextKey>wsrp:minimal</ns0:userContextKey>
    </ns0:userContext>
    <ns0:markupParams>
    <ns0:secureClientCommunication>false</ns0:secureClientCommunication>
    <ns0:locales>en-us</ns0:locales>
    <ns0:mimeTypes>text/html</ns0:mimeTypes>
    <ns0:mimeTypes>text/xml</ns0:mimeTypes>
    <ns0:mimeTypes>text/vnd.oracle.mobilexml</ns0:mimeTypes>
    <ns0:mode>wsrp:view</ns0:mode>
    <ns0:windowState>wsrp:normal</ns0:windowState>
    <ns0:clientData>
    <ns0:userAgent>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) RPT-HTTPClient/0.3-3</ns0:userAgent>
    <ns0:extensions>
    <oracle:GenericExtension xmlns:oracle="http://xmlns.oracle.com/portal/wsrp/v1">
    <ns0:NamedString name="X-Oracle-Device.MaxDocSize">
    <ns0:value>0</ns0:value>
    </ns0:NamedString>
    <ns0:NamedString name="X-Oracle-Device.Class">
    <ns0:value>pcbrowser</ns0:value>
    </ns0:NamedString>
    <ns0:NamedString name="X-Oracle-Device.Secure">
    <ns0:value>false</ns0:value>
    </ns0:NamedString>
    <ns0:NamedString name="X-Oracle-Device.Orientation">
    <ns0:value>landscape</ns0:value>
    </ns0:NamedString>
    </oracle:GenericExtension>
    </ns0:extensions>
    </ns0:clientData>
    <ns0:navigationalState/>
    <ns0:markupCharacterSets>utf-8</ns0:markupCharacterSets>
    <ns0:validNewModes>wsrp:view</ns0:validNewModes>
    <ns0:validNewWindowStates>wsrp:normal</ns0:validNewWindowStates>
    <ns0:validNewWindowStates>wsrp:maximized</ns0:validNewWindowStates>
    <ns0:validNewWindowStates>wsrp:minimized</ns0:validNewWindowStates>
    </ns0:markupParams>
    <ns0:interactionParams>
    <ns0:portletStateChange>readOnly</ns0:portletStateChange>
    <ns0:interactionState>action=%2FmoduloBase%2Fabout%26module=%2FmoduloBase</ns0:interactionState>
    </ns0:interactionParams>
    </ns0:performBlockingInteraction>
    </env:Body>
    </env:Envelope>
    Response (Wed Mar 01 08:35:36 CET 2006)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <soapenv:Fault xmlns:urn="urn:oasis:names:tc:wsrp:v1:types">
    <faultcode>urn:InvalidSession</faultcode>
    <faultstring>The given session ID [GFT7LcLT1vmPHDvWTWM28TpWhkG1DW8tsl31Npxvph2mZjg29KNg!-4321636!-1133063828] is invalid or the session corresponding to this ID has expired.</faultstring>
    <detail>
    <urn:InvalidSession/>
    <urn1:FaultDetail xmlns:urn1="urn:bea:wsrp:ext:v1:types">
    <urn1:created>2006-03-01T08:35:36.558+01:00</urn1:created>
    <urn1:trace>com.bea.wsrp.faults.InvalidSessionException: The given session ID [GFT7LcLT1vmPHDvWTWM28TpWhkG1DW8tsl31Npxvph2mZjg29KNg!-4321636!-1133063828] is invalid or the session corresponding to this ID has expired.
         at com.bea.wsrp.producer.handlers.markup.SessionIdFilter.validateSession(SessionIdFilter.java:106)
         at com.bea.wsrp.producer.handlers.markup.SessionIdFilter.doFilter(SessionIdFilter.java:72)
         at com.bea.wsrp.producer.handlers.AbstractServiceHandler.preprocess(AbstractServiceHandler.java:139)
         at com.bea.wsrp.producer.handlers.AbstractServiceHandler.service(AbstractServiceHandler.java:73)
         at com.bea.wsrp.producer.handlers.markup.MarkupServiceHandler.service(MarkupServiceHandler.java:262)
         at com.bea.wsrp.producer.WsrpServer.processServiceRequest(WsrpServer.java:299)
         at com.bea.wsrp.producer.WsrpServer.service(WsrpServer.java:198)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6718)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)</urn1:trace>
    </urn1:FaultDetail>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>

  • Producer loop and 2 consumer loop for acquisition and process images

    Hello everybody,
    I'm quite a newbie in Labview 2011 on Windows 7.
    Those are what I want to do :
    Step 1: When the objects fall with velocity around 2 to 5 m/s, images of these objects will be acquired continuously from PCIe 1433 with Basler spL4096-39kc.
    Step 2: The processing of the images continuously in the same time with step 1 will find the datas of the objects in images as colors, patterns and locations. If the patterns and colors at location are as the same sample, the elements in Boolean data array are true.
     Step 3: Every 01 millisecond, values from Boolean data array will be read, the valves of nozzle will be opened if the values are true.
     My question is what is the best way to do my tasks ? I couldn't find any example of program in Labview and I think I use producer/consumer architecture for step 1 and 2 but I don't know how can I set up producer loop for step 3 and transfer Boolean data array from step 2 to step 3 ?
    Thank you for reading and help me !

    Dear Eric-J,
    Thanks for your reply. I want sort the pellets that have 6mm diameter. The pellets were fed in a single layer by a vibratory feeder with a flat-bottom trough, 400mm wide that was supplied with the feeder . The pellets dropped off the end of the feeder onto a chute with 40 parallel U-shaped grooves. Images of these pellets will be acquired continuously. I make the sample from image that was acquired. I use NI Vision for processing  of the images. If the patterns and colors of pellets are as the same sample, the elements in boolean data array are true. As you thought, I would like to interpret data every millisecond and open/close a valve based on the boolean array. The air valve sends a burst of air for 2 - 3 milliseconds to an air nozzle that diverts the pellets into the appropriate channel.
    What are your ideas for this task ? Could you explain more clearly about "a real time system" and "determinism" for this task ?
    Thanks and best regards

  • Queue consumer blocking producer!?!?

    This shouldn't be possible as far as I am aware, but somehow it seems that my consumer's receive call is preventing the producer from connecting to the queue and thus writing the message. Does anyone have any idea why this might be occurring?
    Running in a WAS 5.02 / MQSeries environment, I have a servlet that sends a message to a request queue and then waits to recieve the correlating message message on the response queue (using correlation id). Meanwhile, the request message is picked up by the MDB, processed, and a response message is generated by my session bean. However, the session bean is unable to establish a connection to the response queue and send the response if the web app is already waiting to recieve it (it will successfully post if no recieve call is made). Eventually the reciever will time out waiting for the response, and an exception is thrown by the producer indicating that the connection pool could not allocate a managed connection.
    As I understand, the reciever should only block its own thread of execution, and should not prevent a producer from writing to the queue. Is there some sort of configuration issue that might be causing this? Any possible insight into this problem would be greatly appreciated.
    thanks,
    zeffren

    brilliant!
    I couldn't for the life of me figure out what was going on because to my knowledge nothing in the code or our environement had changed. However, as it turned out, a team member had added some new MDB's which coincidentally had upped the number of connections to one less than the max available in the pool, therefore after my consumer established a recieve connection, there were none left for the producer!
    Thanks for outside perspective, sometimes thats all it takes ;)

  • Generate dynamic event of producer loop in multiple consumer loop

    I have one producer loop which used event case to interface with FP controls and 5 consumer loops
    If I have to use the fifth consumer loop to generate dynamic event which send to event case in produer loop. 
    I have to wire register event with dynamic event terminal in producer loop . Also I need to wire user event to consumer loop (at the bottom of screen window) which is far away from producer loop. It is hard to wire them. 
    Is there any other method to let many consumer loop to communicate with one producer loop through dynamic event (the same user event)?

    I like to use an Action Engine to hold control my Event Reference.  Then anybody can send the event commands.
    You may also want to look at the VIs I recently submitted for OpenG here.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Cleanup on Producer/C​onsumer template puts consumer above producer?

    See the attached pic.  I have the stock "pro/con" template, and the i do the auto block diagram cleanup and then it spatially positions the consumer loop on top of the producer loop.  Is my block diagram cleaner upper behaving correctly?  Is there a way to force them to stay in the stock orientation with the pro loop above the con loop?  
    Thanks. 
    Attachments:
    bdc_ofPCtemplate.png ‏66 KB

    It's avoiding the wire crossing over the error wire with the queue reference.  Personally, I prefer having the Producer on top; data flows down.
    So to answer your question, there is nothing wrong with your Diagram Cleanup.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • I Tunes U - Possible to edit RSS feed produced by podcast producer?

    Hi people. Two questions
    I have a self hosted i tunes u on mac server. Is it possible to edit rss feeds once they have been published by podcast producer? eg remove particular tracks from a particular feed or rename as track for instance?
    Also when i tunes u is actually accessed through the interface no track time information is visible for any of of the podcasts? is this a common problem? and does anyone know how to solve it?
    Thanks
    Nick
    Message was edited by: Nick Hoyle

    Your 'tunes:summary' in the top section of the feed has several instances of the string
    &lt;br/&gt;
    You should remove these. You cannot have < or > within a tag and the code won't do either.
    The URL in the 'itunes:image' tag includes an aompersand ('&') and this can cause trouble. You should change it to the wrod 'and' in the filename and in the feed (or call it something simpler, no-one sees the filename).
    Your 'itunes:summary' and 'itunes:subtitle' tags for the episode have various codes in them - all starting &# something - iTunes will display these codes, not render them, and you should not use them. These tags should contain plain text, no html. This won't render the feed unreadable the way the other errors do, but it looks messy.

  • Running subVI in parallel with itself using producer-consumer pattern

    I'm using the procuder-consumer pattern to create what I call threads in response to various events much like in Producer Consumer with Event Structure and Queues
    I have several physical instruments, and would like to run the exact
    same test in parallel on each of the instruments.  I have a subVI
    that takes as inputs a VISA resource and a few control references among
    other things and then performs the desired experiment.  I have a
    separate consumer loop for each physical instrument, with this subVI
    inside each consumer loop.
    My test VI worked great; each consumer loop was a simple while loop
    incrementing a numeric indicator (not using my real subVI above). 
    However, my real program can only run one consumer loop at a time much
    to my dismay.  Reworking my simple test VI to use a subVI to
    increment the indicator rather than just explicitly coding everything
    resulted in the same problem: only a single consumer loop ran at a time
    (and as I stopped the running loop, another would get a chance to
    begin). The subVI in this case was extremely
    simple taking only a ref to the indicator and a ref to a boolean to
    stop, and incrementing the indicator in a while-loop.
    Is there a way around this?  Now that I've spent the time making a
    nice subVI to do the entire experiment on on the physical instrument, I
    thought it would be fairly trivial to extend this to control multiple
    instruments performing the same experiment in parallel.  It seems
    only one instance of a given subVI may run at one time.  Is this
    true?  If it is indeed true, what other options do I have?  I
    have little desire to recode my subVI to manually handle multiple
    physical instruments; this would also result in a loss of functionality
    as all parallel experiments would run more or less in lock step without
    much more complexity.
    Thank you.

    You need to make your subvi reentrant.  Then it can run several instances at any time with each instance occupying its own unique memory space.  Click on File - VI Properties - Execution, and check the reentry execution checkbox.  Then save the vi.
    - tbob
    Inventor of the WORM Global

  • Producer Consumer Issues

    Hi all,
    I'm creating my first producer-consumer program, and I've run into a few problems.  I have two producer loops (one is a pressure controller and the other is power reading loop).  I've used queues to pass data into the consumer loop which records the data (at a much slower rate).  The problem is that the producer loop (the pressure controller) contains the stop signal for the program.  So I've had problems shutting down all 3 loops.
    My questions are......Do I have to shut down the consumer loop first, then the producers?  What is the best way to pass stop signals (local variables, booleans in a queue, etc)?   Also when I try to use the producer loop to stop the other loops I get the attached error.  Anyone have any recommendations for making an efficient stopping procedure?  The wait inside the consumer loop is quite long (5 min), so I'd like the minimize the stopping time, if possible.
    I've attached two versions that I've been working with.  They use version 8.5.
    Thanks in advance - Dan
    Attachments:
    Final Controller No Inputs.vi ‏274 KB
    Final Controller Other.vi ‏274 KB
    error.JPG ‏19 KB

    I like to stop the program in the producer loop, and wire the error output of the dequeue element function to the stop of the consumer loop (when the producer loop stops the dequeue element function will generate an error, the error out will cary this to the stop and the loop will stop).  Hope this helps!
    CLA, CLED, CTD,CPI, LabVIEW Champion
    Platinum Alliance Partner
    Senior Engineer
    Using LV 2013, 2012
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.

Maybe you are looking for

  • Mod_jk for apache2, tomcat 5 and solaris 10

    when i compile mod_jk in solaris 10 x86 box it shows following error: /bin/bash /var/apache2/build/libtool --silent --mode=compile gcc -I/usr/apache2/include -g -O2 -O -xarch=386 -xchip=pentium -xspace -Xa -xildoff -DSSL_EXPERIMENTAL -DSSL_ENGINE -DH

  • How to pass a parameter to a declared function

    Hello all Can anyone help me with the following? I have a function which reads files and then adds the contents to a database. As some of the files are quite big I want to add them one at a time to the database. To do this I am passing a value from a

  • Compressor 4.1 distributed job - "waiting" status

    In a 3 computer cluster...Why are these 3 not processing simultaneously? The other 2 computers are sitting there, with no other programs running, etc. It just seems to me like they should all be transcoding simultaneously. Compressor 4.1 seems really

  • Moving to Japan

    We are moving to Japan in a few months and will be there for 3 years. I just recently upgraded to the iPhone 6 plus and the thought of cancelling my cell phone and no longer having the same phone number that I've had for 11 years really bothers me; I

  • I have an iPhone 4 that is not holding charge and heating up.  I've been told it is a problem with the processor.

    I have an iphone 4 that is not holding charge and is heating up excessively.  I've been told that the iphone 4 is having problems with the processor and that it will soon die and there is no way to repair it.  I got my phone in CR through Kolbi / ICE