Originally posted by Paul Sturrock:
Why can you only process one request per client at the same time? What is limiting you?
Each time the user tab from a field to another in its console, the RPG program send the new value of that field to our java engine, we apply it on the Bean stored in the user session and run DROOLS rules engine, that operation is quite fast since we dont load anything from the database but when the user press the SAVE key, the RPG program, save the data from the screen and save calculated values. After the save, a message is send to the java application to ask a refresh of the bean cached in the user session.
That operation may takes some time and since its asynchronous, the user might in the next screen press TAB, and we don't want to process the message until the refresh operation is over.
1) The user choose an entry to edit
1.1) A message is sent to the java application
1.1.1) The java application load all the data from that entry and store it in the user session. (this is asynchronous)
2) The user tab from a field to another
2.1) A message is sent to the java application with the new value of the field the user user tabbed from.
2.2.1) The bean from the session is refreshed with that new value
2.2.1) Drools is launched
It's possible that the 1.1 operation in not complete when 2.2.1 is executed, and this is where we need to wait.
Richard