XAResource setTransactionTimeout() fixes #3384

afaik zero is not positive, maybe we can update message like ```throw new IllegalArgumentException("Timeout must be positive or zero!")```