<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Signalling process fails intermittently in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126622#M89069</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello wslade,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just a hint: when you try our approach you will need to use distributed (XA) transactions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And another hint (although not of much use): If you make the sending activity asynchronous, this will force Activiti to persist the execution before the message is sent. Unfortunately the problem described in my second post - the "waiting" activity is still not instantiated when the message (listener) tries to notify the process - still remains.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 Jan 2013 08:10:56 GMT</pubDate>
    <dc:creator>mmaker1234</dc:creator>
    <dc:date>2013-01-09T08:10:56Z</dc:date>
    <item>
      <title>Signalling process fails intermittently</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126614#M89061</link>
      <description>We have been using the runtimeService signal method within a JMS queue receiver.We have found over time that the execution we are signalling does not seem to always have been persisted. (Since looking at the code the signal lookup is simply a getDbSqlSession().selectById())Initially we put a backoff</description>
      <pubDate>Sun, 06 Jan 2013 23:43:36 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126614#M89061</guid>
      <dc:creator>wslade</dc:creator>
      <dc:date>2013-01-06T23:43:36Z</dc:date>
    </item>
    <item>
      <title>Re: Signalling process fails intermittently</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126615#M89062</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;or look some where else for a related problem?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;I think so… But without a minimal example of how you use things, it is hard to say…&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jan 2013 12:03:35 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126615#M89062</guid>
      <dc:creator>ronald_van_kuij</dc:creator>
      <dc:date>2013-01-07T12:03:35Z</dc:date>
    </item>
    <item>
      <title>Re: Signalling process fails intermittently</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126616#M89063</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;wslade&lt;/STRONG&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would suggest you to check the transactions boundaries - both the application, database, and process instance. Most probably there is some (time) difference in the transaction commits. Such a difference might mislead you to think that a retry could fix the problem. Usually the need of retry in simple cases is a symptom to time (transactions) racing conditions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For example, we have a workflow process where one JavaServiceTask activity calls the business logic to send a JMS message, then the process continues to the next activity. The message should be processed by the business logic and at the end it should "notify" the process by signalling exactly that "next activity". What was our surprise when we started occasionally to receive notifications "Can not find activtiy '…' for process instance …"!&amp;nbsp; &lt;img id="smileysurprised" class="emoticon emoticon-smileysurprised" src="https://connect.hyland.com/i/smilies/16x16_smiley-surprised.png" alt="Smiley Surprised" title="Smiley Surprised" /&gt; The message succeeded to pass through the external JMS - to be queued, delivered, received, and processed (with all transport delays) - before Activiti to manage to complete the first (sending) activity and to open the next one!&amp;nbsp; :shock:&amp;nbsp; And all this because the workflow engine (Activiti) and the business logic (the actual sending of the JMS message) were working in different transactions.&amp;nbsp; &lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://connect.hyland.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jan 2013 13:46:36 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126616#M89063</guid>
      <dc:creator>mmaker1234</dc:creator>
      <dc:date>2013-01-07T13:46:36Z</dc:date>
    </item>
    <item>
      <title>Re: Signalling process fails intermittently</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126617#M89064</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks mmaker1234,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We send our JMS message with a service task, using an expression to a spring bean. We then transition to a "ReceiveTask" were we block waiting for the response.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We use a separate Transaction Manager for JMS and for activiti. We consume from the same JMS transaction manager.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So yes I do expect a race condition and would expect some variance. However 10s does smell bad.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Did you ever solve this problem?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2013 00:08:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126617#M89064</guid>
      <dc:creator>wslade</dc:creator>
      <dc:date>2013-01-08T00:08:50Z</dc:date>
    </item>
    <item>
      <title>Re: Signalling process fails intermittently</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126618#M89065</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is the service task where you send the JMS message a synchronous service task or did you use the async attribute?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you only send the JMS message to the queue and nothing else?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When Activiti reaches the receive task the transaction is committed, so a period of 10 seconds is really, really strange.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you provide more details about your process definition?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2013 09:04:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126618#M89065</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2013-01-08T09:04:56Z</dc:date>
    </item>
    <item>
      <title>Re: Signalling process fails intermittently</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126619#M89066</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello wslade,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, we solved the problem - we put the workflow engine and the application (JMS message sender) in the same transaction. The message retriever is still working in a separate transaction.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That was what we needed &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My example was only to point you where to look for potential problems. I didn't claimed that our situation is close to yours.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is another example (with another workflow engine but it doesn't matter): One and the same application is deployed on several servers (a couple of development workstations, several levels of test, etc.). In short: The user requests a report generation and the GUI waits up to one minute to display the result. If the report is not received within one minute the application displays a message that the result will be send by an e-mail. On the request a workflow process instance is created. The process sends a message, the application generates a report and notifies the process for the end of the generation. If more than a minute is passed after the message sending, the process initiates sending the result by an e-mail.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sometimes, on some server all reports started to deliver by e-mail, despite the report generation itself took a couple of seconds. Our investigation demonstrated that in these rare cases JMS messages were processed (consumed) a couple of minutes (sometimes even five minutes) after their issuing. The application was not loaded, there were no other messages in the queue. Sometimes this behavior survived even a server restart, but later it fixes "automagically" - just a ghost in the system.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;With this example I'm only demonstrating that you can not rely on time frames in asynchronous (JMS) communications.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think that you should re-design your process definition considering all the aspects - not only of the business process but also the implementation (transactions, asynch. communication, etc.). If you need more help on this you should describe your requirements as thorough as possible. Otherwise anyone here is just guessing what you are aiming at and points you to different directions according to his/her guesses (actually fantasies, based on your pieces of information).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2013 10:14:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126619#M89066</guid>
      <dc:creator>mmaker1234</dc:creator>
      <dc:date>2013-01-08T10:14:17Z</dc:date>
    </item>
    <item>
      <title>Re: Signalling process fails intermittently</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126620#M89067</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;mmaker1234: Thanks for the explanation. Just wanted to say I appreciate such thorough replies &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2013 13:38:31 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126620#M89067</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-01-08T13:38:31Z</dc:date>
    </item>
    <item>
      <title>Re: Signalling process fails intermittently</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126621#M89068</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I tried to attach our simple process but alas was foiled.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Can not upload a file with an extension, xml, or bmn2.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Then when zip'd. Could not upload attachment to ./files/3599_6295aedc9fe637584c6967b15135470f.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any way the process is very simple.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Using an expression send a JMS message. With default Task settings. (Ie synchronous).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Wait for a signal using a ReceiveTask&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The objective of the process is very simple.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1. Send a JMS message to another application. (including the process identifier in the message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2. Then wait for the other application to reply with a JMS message.&amp;nbsp; (which including the process identifier in the message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The JMS consumer use the process identifier to signal the process.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From mmaker1234 last response - by using the same transaction manager for the JMS send and the workflow engine, you are basically delaying the sending of the JMS message until the process state has been persisted. This is not a bad solution. So we will give it a go.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jan 2013 02:37:13 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126621#M89068</guid>
      <dc:creator>wslade</dc:creator>
      <dc:date>2013-01-09T02:37:13Z</dc:date>
    </item>
    <item>
      <title>Re: Signalling process fails intermittently</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126622#M89069</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello wslade,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just a hint: when you try our approach you will need to use distributed (XA) transactions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And another hint (although not of much use): If you make the sending activity asynchronous, this will force Activiti to persist the execution before the message is sent. Unfortunately the problem described in my second post - the "waiting" activity is still not instantiated when the message (listener) tries to notify the process - still remains.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jan 2013 08:10:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/signalling-process-fails-intermittently/m-p/126622#M89069</guid>
      <dc:creator>mmaker1234</dc:creator>
      <dc:date>2013-01-09T08:10:56Z</dc:date>
    </item>
  </channel>
</rss>

