diff --git a/product/CMFActivity/Activity/SQLDict.py b/product/CMFActivity/Activity/SQLDict.py index 6f2258c1552f7304ab2437be3135c25f660a0a71..e0f70d4f10e9becd9f168c78c248509506dfe81d 100644 --- a/product/CMFActivity/Activity/SQLDict.py +++ b/product/CMFActivity/Activity/SQLDict.py @@ -569,8 +569,11 @@ class SQLDict(RAMDict, SQLBase): method_dict[line_method_id] = 1 m = self.loadMessage(line.message, uid = line.uid) if invoke: - # First Validate - validate_value = m.validate(self, activity_tool) + # First Validate (only if message is marked as new) + if line.processing_node == -1: + validate_value = m.validate(self, activity_tool) + else: + validate_value = VALID # LOG('SQLDict.flush validate_value',0,validate_value) if validate_value is VALID: activity_tool.invoke(m) # Try to invoke the message - what happens if invoke calls flushActivity ?? diff --git a/product/CMFActivity/Activity/SQLQueue.py b/product/CMFActivity/Activity/SQLQueue.py index d222636263fa0cc849ecb80a1694b4bbcdf87e7d..6b11370ce1b81f474d5c398b419dc588cdd137ac 100644 --- a/product/CMFActivity/Activity/SQLQueue.py +++ b/product/CMFActivity/Activity/SQLQueue.py @@ -376,8 +376,11 @@ class SQLQueue(RAMQueue, SQLBase): for m in activity_tool.getRegisteredMessageList(self): if object_path == m.object_path and (method_id is None or method_id == m.method_id): if invoke: - # First Validate - validate_value = m.validate(self, activity_tool) + # First Validate (only if message is marked as new) + if line.processing_node == -1: + validate_value = m.validate(self, activity_tool) + else: + validate_value = VALID if validate_value is VALID: activity_tool.invoke(m) # Try to invoke the message - what happens if invoke calls flushActivity ?? if m.is_executed != MESSAGE_EXECUTED: # Make sure message could be invoked