/* | |
* Licensed to the Apache Software Foundation (ASF) under one or more | |
* contributor license agreements. See the NOTICE file distributed with | |
* this work for additional information regarding copyright ownership. | |
* The ASF licenses this file to You under the Apache License, Version 2.0 | |
* (the "License"); you may not use this file except in compliance with | |
* the License. You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package com.alibaba.dubbo.config; | |
import com.alibaba.dubbo.common.Constants; | |
import com.alibaba.dubbo.config.support.Parameter; | |
import com.alibaba.dubbo.rpc.cluster.LoadBalance; | |
import java.util.Map; | |
/** | |
* AbstractMethodConfig | |
* | |
* @export | |
*/ | |
public abstract class AbstractMethodConfig extends AbstractConfig { | |
private static final long serialVersionUID = 1L; | |
// timeout for remote invocation in milliseconds | |
protected Integer timeout; | |
// retry times | |
protected Integer retries; | |
// max concurrent invocations | |
protected Integer actives; | |
// load balance | |
protected String loadbalance; | |
// whether to async | |
protected Boolean async; | |
// whether to ack async-sent | |
protected Boolean sent; | |
// the name of mock class which gets called when a service fails to execute | |
protected String mock; | |
// merger | |
protected String merger; | |
// cache | |
protected String cache; | |
// validation | |
protected String validation; | |
// customized parameters | |
protected Map<String, String> parameters; | |
public Integer getTimeout() { | |
return timeout; | |
} | |
public void setTimeout(Integer timeout) { | |
this.timeout = timeout; | |
} | |
public Integer getRetries() { | |
return retries; | |
} | |
public void setRetries(Integer retries) { | |
this.retries = retries; | |
} | |
public String getLoadbalance() { | |
return loadbalance; | |
} | |
public void setLoadbalance(String loadbalance) { | |
checkExtension(LoadBalance.class, "loadbalance", loadbalance); | |
this.loadbalance = loadbalance; | |
} | |
public Boolean isAsync() { | |
return async; | |
} | |
public void setAsync(Boolean async) { | |
this.async = async; | |
} | |
public Integer getActives() { | |
return actives; | |
} | |
public void setActives(Integer actives) { | |
this.actives = actives; | |
} | |
public Boolean getSent() { | |
return sent; | |
} | |
public void setSent(Boolean sent) { | |
this.sent = sent; | |
} | |
@Parameter(escaped = true) | |
public String getMock() { | |
return mock; | |
} | |
public void setMock(Boolean mock) { | |
if (mock == null) { | |
setMock((String) null); | |
} else { | |
setMock(String.valueOf(mock)); | |
} | |
} | |
public void setMock(String mock) { | |
if (mock != null && mock.startsWith(Constants.RETURN_PREFIX)) { | |
checkLength("mock", mock); | |
} else { | |
checkName("mock", mock); | |
} | |
this.mock = mock; | |
} | |
public String getMerger() { | |
return merger; | |
} | |
public void setMerger(String merger) { | |
this.merger = merger; | |
} | |
public String getCache() { | |
return cache; | |
} | |
public void setCache(String cache) { | |
this.cache = cache; | |
} | |
public String getValidation() { | |
return validation; | |
} | |
public void setValidation(String validation) { | |
this.validation = validation; | |
} | |
public Map<String, String> getParameters() { | |
return parameters; | |
} | |
public void setParameters(Map<String, String> parameters) { | |
checkParameterName(parameters); | |
this.parameters = parameters; | |
} | |
} |