class ClientReportInstanceServiceImpl implements ClientReportInstanceService {

    private Logger logger = LoggerFactory.getLogger(ClientReportInstanceServiceImpl.class);

    /**
     * 不要求一致性的本地缓存(hostport<=>instanceInfo)
     */
    private final static ConcurrentHashMap<String, InstanceInfo> hostPortInstanceMap = new ConcurrentHashMap<String, InstanceInfo>();

    private InstanceDao instanceDao;

    @Override
    public InstanceInfo getInstanceInfoByHostPort(String host, int port) {<FILL_FUNCTION_BODY>}

    public void setInstanceDao(InstanceDao instanceDao) {
        this.instanceDao = instanceDao;
    }

}

        String hostPort = host + ":" + port;
        try {
            InstanceInfo instanceInfo = hostPortInstanceMap.get(hostPort);
            if (instanceInfo == null) {
                instanceInfo = instanceDao.getInstByIpAndPort(host, port);
                if (instanceInfo != null) {
                    hostPortInstanceMap.putIfAbsent(hostPort, instanceInfo);
                }
            }
            return instanceInfo;
        } catch (Exception e) {
            logger.error(e.getMessage(), e);
            return null;
        }
    
<no_super_class>