Hide Forgot
project_key: SOA After the second message is sent, business_ruleservice_stateful QS should set the discount on the second order to 10 %. Instead, the following is seen in server.log, stating that the discount is actually 0 %. 2010-10-19 13:12:56,924 INFO [STDOUT] (pool-37-thread-1) set discount of 0.0 on order 2 for customer user1 2010-10-19 13:12:56,924 INFO [STDOUT] (pool-37-thread-1) set discount of 0.0 on order 1 for customer user1 2010-10-19 13:12:56,924 INFO [STDOUT] (pool-37-thread-1) Customer user1 now has a shopping total of 129.84 2010-10-19 13:12:56,925 INFO [STDOUT] (pool-37-thread-1) set discount of 0.0 on order 2 for customer user1 2010-10-19 13:12:56,925 INFO [STDOUT] (pool-37-thread-1) Customer user1 now has a shopping total of 129.84 The time the third message is sent, the discount is actually set to 10 %, with this in the server.log: 2010-10-19 13:37:19,701 INFO [STDOUT] (pool-28-thread-1) set discount of 0.0 on order 3 for customer user1 2010-10-19 13:37:19,701 INFO [STDOUT] (pool-28-thread-1) set discount of 0.0 on order 2 for customer user1 2010-10-19 13:37:19,701 INFO [STDOUT] (pool-28-thread-1) set discount of 0.0 on order 1 for customer user1 2010-10-19 13:37:19,702 INFO [STDOUT] (pool-28-thread-1) Customer user1 now has a shopping total of 194.76 2010-10-19 13:37:19,702 INFO [STDOUT] (pool-28-thread-1) set discount of 10.0 on order 3 for customer user1 2010-10-19 13:37:19,702 INFO [STDOUT] (pool-28-thread-1) set discount of 10.0 on order 3 for customer user1 2010-10-19 13:37:19,702 INFO [STDOUT] (pool-28-thread-1) Customer user1 now has a shopping total of 194.76 2010-10-19 13:37:19,702 INFO [STDOUT] (pool-28-thread-1) Customer user1 now has a shopping total of 194.76 It seems as if a different Customer instance is picked when the rules are fired the second time - the instance that still has the discount set to 0 %. This would suggest some faulty behavior wrt. classloading, perhaps even SOA-2419.
Very unlikely to be SOA-2419 unless you redeployed, and even then I suspect that no rules would fire. I have just ran the same QS and seen the discount applied on the second invocation, can you describe what you have done and add your server.log file?
Started the SOA-P production config (absolutely clean, just unzipped), deployed the QS, and then "ant runtest". I should perhaps add that I am using OpenJDK: OpenJDK Runtime Environment (IcedTea6 1.9.1) (fedora-44.1.9.1.fc14-x86_64) OpenJDK 64-Bit Server VM (build 19.0-b06, mixed mode) server.log coming in a minute.
Attachment: Added: server.log
Assigned to me for investigation
Link: Added: This issue is related to JBESB-3628
The discount is only applied when the order total *before* the new order is added in is $100 or above. So in other words, if you change Order1's total to 99.99, no discount on order 2, because the total before Order2 is $99.99. Change Order1's total to 100.00, you get a 10% discount on Order2. I'll add some text clarifying this and add expected results to the readme.txt.
Added expected results to readme.
Release Notes Docs Status: Added: Not Required Writer: Added: dlesage