/** * Dianping.com Inc. * Copyright (c) 2003-${year} All Rights Reserved. */ package com.dianping.pigeon.remoting.provider.process.filter; import com.dianping.pigeon.log.Logger; import com.dianping.pigeon.log.LoggerLoader; import com.dianping.pigeon.remoting.common.domain.InvocationResponse; import com.dianping.pigeon.remoting.common.process.ServiceInvocationFilter; import com.dianping.pigeon.remoting.common.process.ServiceInvocationHandler; import com.dianping.pigeon.remoting.common.util.Constants; import com.dianping.pigeon.remoting.provider.domain.ProviderContext; import com.dianping.pigeon.remoting.provider.util.ProviderUtils; public class HealthCheckProcessFilter implements ServiceInvocationFilter<ProviderContext> { private static final Logger logger = LoggerLoader.getLogger(HealthCheckProcessFilter.class); @Override public InvocationResponse invoke(ServiceInvocationHandler handler, ProviderContext invocationContext) throws Throwable { if (invocationContext.getRequest().getMessageType() == Constants.MESSAGE_TYPE_HEALTHCHECK) { return ProviderUtils.createHealthCheckResponse(invocationContext); } return handler.handle(invocationContext); } }