re: "you can see the diagram1 in earlier reply, the impl.getTimeout() is 0"
Hmmm, I'm not sure how that happens. But, if, as you say, setting "timeout" works ("add a timeout property (blue part) in server side jboss-service.xml can get a timeout. and tried it works"), then the rest is just theoretical, right?