
com.alibaba.dubbo.config.AbstractReferenceConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dubbo2 Show documentation
Show all versions of dubbo2 Show documentation
The all in one project of dubbo2
The newest version!
/*
* Copyright 1999-2011 Alibaba Group.
*
* Licensed 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.InvokerListener;
import com.alibaba.dubbo.rpc.support.ProtocolUtils;
/**
* AbstractConsumerConfig
*
* @see com.alibaba.dubbo.config.ReferenceConfig
* @author william.liangf
* @export
*/
public abstract class AbstractReferenceConfig extends AbstractInterfaceConfig {
private static final long serialVersionUID = -2786526984373031126L;
// ======== 引用缺省值,当引用属性未设置时使用该缺省值替代 ========
// 检查服务提供者是否存在
protected Boolean check;
// 是否加载时即刻初始化
protected Boolean init;
// 是否使用泛接口
protected String generic;
// 优先从JVM内获取引用实例
protected Boolean injvm;
// lazy create connection
protected Boolean lazy;
protected String reconnect;
protected Boolean sticky;
//stub是否支持event事件. //TODO slove merge problem
protected Boolean stubevent ;//= Constants.DEFAULT_STUB_EVENT;
// 版本
protected String version;
// 服务分组
protected String group;
public Boolean isCheck() {
return check;
}
public void setCheck(Boolean check) {
this.check = check;
}
public Boolean isInit() {
return init;
}
public void setInit(Boolean init) {
this.init = init;
}
@Parameter(excluded = true)
public Boolean isGeneric() {
return ProtocolUtils.isGeneric(generic);
}
public void setGeneric(Boolean generic) {
if (generic != null) {
this.generic = generic.toString();
}
}
public void setGeneric(String generic) {
this.generic = generic;
}
public String getGeneric() {
return generic;
}
/**
* @return
* @deprecated 通过scope进行判断,scope=local
*/
@Deprecated
public Boolean isInjvm() {
return injvm;
}
/**
* @param injvm
* @deprecated 通过scope设置,scope=local表示使用injvm协议.
*/
@Deprecated
public void setInjvm(Boolean injvm) {
this.injvm = injvm;
}
@Parameter(key = Constants.REFERENCE_FILTER_KEY, append = true)
public String getFilter() {
return super.getFilter();
}
@Parameter(key = Constants.INVOKER_LISTENER_KEY, append = true)
public String getListener() {
return super.getListener();
}
@Override
public void setListener(String listener) {
checkMultiExtension(InvokerListener.class, "listener", listener);
super.setListener(listener);
}
@Parameter(key = Constants.LAZY_CONNECT_KEY)
public Boolean getLazy() {
return lazy;
}
public void setLazy(Boolean lazy) {
this.lazy = lazy;
}
@Override
public void setOnconnect(String onconnect) {
if (onconnect != null && onconnect.length() >0){
this.stubevent = true;
}
super.setOnconnect(onconnect);
}
@Override
public void setOndisconnect(String ondisconnect) {
if (ondisconnect != null && ondisconnect.length() >0){
this.stubevent = true;
}
super.setOndisconnect(ondisconnect);
}
@Parameter(key = Constants.STUB_EVENT_KEY)
public Boolean getStubevent() {
return stubevent;
}
@Parameter(key = Constants.RECONNECT_KEY)
public String getReconnect() {
return reconnect;
}
public void setReconnect(String reconnect) {
this.reconnect = reconnect;
}
@Parameter(key = Constants.CLUSTER_STICKY_KEY)
public Boolean getSticky() {
return sticky;
}
public void setSticky(Boolean sticky) {
this.sticky = sticky;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
checkKey("version", version);
this.version = version;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
checkKey("group", group);
this.group = group;
}
}