package com.alibaba.doris.dataserver.action; import com.alibaba.doris.dataserver.ApplicationContext; import com.alibaba.doris.dataserver.config.ModuleConstances; import com.alibaba.doris.dataserver.core.Request; import com.alibaba.doris.dataserver.store.Storage; import com.alibaba.doris.dataserver.store.StorageModule; /** * @author ajun Email:jack.yuj@alibaba-inc.com */ public abstract class BaseAction implements Action { protected Storage getStorage(Request request) { if (null != storage) { return storage; } // double check problem? who care? synchronized (this) { if (null != storage) { return storage; } ApplicationContext appContext = request.getApplicationContext(); StorageModule module = (StorageModule) appContext.getModuleByName(ModuleConstances.STORAGE_MODULE); storage = module.getStorage(); } return storage; } private Storage storage; }