add Message::setCacheDir method