ipu的trunk版的android工程和服务端工程。

DefaultRouteManager.java 1.8KB

    package com.ai.server.push.route.impl; import com.ai.ipu.basic.log.ILogger; import com.ai.ipu.basic.log.IpuLoggerFactory; import com.ai.ipu.server.cache.intf.ICache; import com.ai.server.push.cache.BizDataCacheManager; import com.ai.server.push.cache.PushRouteCacheManager; import com.ai.server.push.route.IRouteManager; import com.ai.server.push.route.Route; public class DefaultRouteManager implements IRouteManager { transient protected static final ILogger log = IpuLoggerFactory.createLogger(DefaultRouteManager.class); @Override public void addRoute(String account, Route route) throws Exception { PushRouteCacheManager.putRoute(account, route); BizDataCacheManager.addAccountToPushServerAccountsId(account, route.getServerId()); } @Override public Route getRoute(String account) throws Exception { return PushRouteCacheManager.getRoute(account); } @Override public ICache getRoutes() throws Exception { return PushRouteCacheManager.getPushRouteCache(); } @Override public void removeRoute(Route route) throws Exception { removeRoute(route.getAccount()); } @Override public void removeRoute(String account) throws Exception { Route route = PushRouteCacheManager.getRoute(account); if (null == route) { log.debug("Not found this designated account of the Route."); return; } BizDataCacheManager.decreasePushServerAccountsSize(route.getServerId()); PushRouteCacheManager.removeRoute(account); } @Override public boolean containsRoute(Route route) throws Exception { if (null != PushRouteCacheManager.getPushRouteCache().get(route.getAccount())) { return true; } return false; } }