Since you are using lock-on-active you are explicitly saying that.
Of course, if you remove lock-on-active you will end up with an infinite activation/firing loop
You will need to refactor your rules a little bit in order to avoid this.
yes, it works,when i replace "lock-on-active true" with "no-loop true" ,the rule runs
tks a lot,Esteban