Hi all,
I am studying diffrent ways to use Corticon server -version 5.4.1) in a .Net application.
So I followed the JOM sample given with Corticon installation files in the aim to use Corticon as an inline component of the .Net application.
I noticed a strange behavior.:
I run method iICcServer.execute(serviceName, llistObjects) in two ways:
The problem is:
This is the main problem.
Another one, but less important: For performances, the synchronous mode is faster!!
Have some one encountered the same problem?
Any ideas?
To give you more details:
Synchronous call is done through a very classical call in C#, like following:
BRMSInterface.CallDecisionService(DECISION_SERVICE_NAME, distributorCode, lDataMappedForBRMS);
and the called method contains a simple call to the iICcServer.execute(serviceName, llistObjects);
Asynchronous call is done in a classical .Net Task:
static Task<ArrayList> CallDecisionService_async(int distributorCode, ArrayList distDataMappedForBRMS)
{
return Task<ArrayList>.Factory.StartNew(() =>
{
ArrayList distBRMSResponse = BRMSInterface.CallDecisionService(distributorCode, DECISION_SERVICE_NAME, distDataMappedForBRMS);
_competitionCrudeResults.TryAdd(distributorCode, distBRMSResponse);
return distBRMSResponse;
});
}
I joined here a comparison HTML report between Corticon Server logs in the two cases (async log is to the left side).
You can see that payloads are identical.
Differences begin being visible in line 157:
157 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_1:@
158 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_2:@
159 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_3:@
160 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_4:@
161 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_5:@
162 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_6:@
163 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_7:@
164 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_8:@
165 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_9:@
166 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_10:@
167 Fire rule:corticonrules_inmemory.Act_calcul_points_tousModesRem_14570954620371_rule_11:@
==> These rules were only triggered in the synchronous execution.
And then from line 289, the number of returned entities is different!
Smells like a bug in Corticon DLLs??
[View:/cfs-file/__key/communityserver-discussions-components-files/14/Comp_5F00_logs_5F00_async_5F00_vs_5F00_sync.zip:320:240]
Hello,
This issue seems like it requires more troubleshooting and reviewing logs and warrants a support case.
I'd encourage you to open a support ticket for further assistance and deep dive into the issue.
Thank you,
Jan
Thank you Jan.
I will check who exactly (either our customer or our consulting company) should create the ticket... And will come back to you if any news.
BR