EDITED 2019-02-08

`maxTxFee` is a global variable, used by both the raw transaction and wallet RPCs. It's set from `-maxtxfee`.

~listed in the global help text in init.cpp, but is only set in `WalletInit::ParameterInteraction()`. If the wallet is disabled, then `-maxtxfee` is ignored and the default is used.~

~This behaviour has existed since the mempool was changed to limit acceptance based on `maxTxFee` in https://github.com/bitcoin/bitcoin/commit/fa331db68bcc68e4c93fb45aaa30f911b0ecfe1a.~

~Short-term fix is to move the `-maxtxfee` handling to `InitParameterInteraction()` in init.cpp.~
EDIT: `maxTxFee` initiation bug fixed in #15357 

I don't think we should share this setting between the node and wallet.
if (g_connman) g_connman->Stop();
    if (g_txindex) g_txindex->Stop();
    StopTorControl();
    
    
    threadGroup.interrupt_all();
    threadGroup.join_all();
    
    
    peerLogic.reset();
    g_connman.reset();
    g_banman.reset();
    g_txindex.reset();
    if (g_is_mempool_loaded && gArgs.GetArg("-persistmempool", DEFAULT_PERSIST_MEMPOOL)) {
        DumpMempool();
    }
    if (fFeeEstimatesInitialized)
    {
        ::feeEstimator.FlushUnconfirmed();
        fs::path est_path = GetDataDir() / FEE_ESTIMATES_FILENAME;
        CAutoFile est_fileout(fsbridge::fopen(est_path, "wb"), SER_DISK, CLIENT_VERSION);
        if (!est_fileout.IsNull())
            ::feeEstimator.Write(est_fileout);
        else
            LogPrintf("%s: Failed to write fee estimates to %s\n", __func__, est_path.string());
        fFeeEstimatesInitialized = false;
    }
    
    if (pcoinsTip != nullptr) {
        FlushStateToDisk();