Hy there,

In our solution there is sometimes the problem that the Data from Task A overwirte the Data from Task B. This happen if we open the Task parallel and there is a ria broadcast Event. The big problem is now to find out which event causes the bug. Is there a way to track, log or query the happend Broadcasts for a Task or a Case or over all?

kind regards Thomas Wirz

asked 14.07 at 04:22

Thomas%20Wirz's gravatar image

Thomas Wirz
26227
accept rate: 0%

Hello Thomas Wirz. Technically it is not possible to start the same task parallel. So, which data do you mean. Data in a Database? However, a possible solution could be to add a flag on the broadcasting event (e.g. 'handled'). Handlers do their work only if the flag is false. The first handler sets the flag to true so that all others do not process its logic.

(14.07 at 06:37) Flavio Sadeghi ♦♦ Flavio%20Sadeghi's gravatar image

Thank you for your answer.

We do not open one task parallel two times. We open different Tasks (Task A and Task B). After they are both open the user for example press a Button and in the Dialog procces logic the Broadcast event will be fired. Both Tasks catches the event. The data in the Broadcastevent will be written to our Database for both Tasks. So, one of the Tasks is now linked to wrong data.

We allready got a solution to solve the problem. But we don't know which Broadcast in the solution causes the Problem. Therefore my Question how get information about which Broadcast was fired when, for which tasks?

kind regards Thomas

(14.07 at 07:02) Thomas Wirz Thomas%20Wirz's gravatar image

There is a logger which logs on DEBUG when a event gets prepared to be fired on the class ch.ivyteam.ivy.richdialog.exec.internal.panel.RichDialogPanelImpl. The message is like Scheduling 'fire event' <{0}> with attachment <{1}> (from panel <{2}>)

I can't say if this log output will help to find the corresponding event source. Maybe a own log-output will give clearer results.

link

answered 14.07 at 07:49

Flavio%20Sadeghi's gravatar image

Flavio Sadeghi ♦♦
1.8k4722
accept rate: 75%

That's what I'm looking for. Thank you.

For other users looking for this. Here is my actual log4j config:

Logger


<logger name="ch.ivyteam.ivy.richdialog.exec.internal.panel" additivity="false">
            <level value="debug"/>
            <appender-ref ref="FileLog2"/> 
 </logger>

Appender


   <appender name="FileLog2" class="org.apache.log4j.DailyRollingFileAppender"> 
       <param name="File" value="Y:/Temp_ToRemove/ch.ivyteam.ivy.broadcast.log"/> 
       <param name="DatePattern" value="'.'yyyy-MM-dd"/> 
       <layout class="org.apache.log4j.IvyLog4jLayout"> 
          <param name="DateFormat" value="HH:mm:ss.SSS"/>
       </layout> 
    <filter class="org.apache.log4j.varia.StringMatchFilter">
        <param name="StringToMatch" value="Scheduling fire event" />
        <param name="AcceptOnMatch" value="true" />
    </filter>
    <filter class="org.apache.log4j.varia.DenyAllFilter" /> 
  </appender>

link

answered 17.07 at 04:25

Thomas%20Wirz's gravatar image

Thomas Wirz
26227
accept rate: 0%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×39
×17
×7

Asked: 14.07 at 04:22

Seen: 45 times

Last updated: 17.07 at 04:25