/* | |
* 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.InvokerListener; | |
import com.alibaba.dubbo.rpc.support.ProtocolUtils; | |
/** | |
* AbstractConsumerConfig | |
* | |
* @export | |
* @see com.alibaba.dubbo.config.ReferenceConfig | |
*/ | |
public abstract class AbstractReferenceConfig extends AbstractInterfaceConfig { | |
private static final long serialVersionUID = -2786526984373031126L; | |
// ======== Reference config default values, will take effect if reference's attribute is not set ======== | |
// check if service provider exists | |
protected Boolean check; | |
// whether to eagle-init | |
protected Boolean init; | |
// whether to use generic interface | |
protected String generic; | |
// whether to find reference's instance from the current JVM | |
protected Boolean injvm; | |
// lazy create connection | |
protected Boolean lazy; | |
protected String reconnect; | |
protected Boolean sticky; | |
// whether to support event in stub. //TODO solve merge problem | |
protected Boolean stubevent;//= Constants.DEFAULT_STUB_EVENT; | |
// version | |
protected String version; | |
// group | |
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 String getGeneric() { | |
return generic; | |
} | |
public void setGeneric(String generic) { | |
this.generic = generic; | |
} | |
/** | |
* @return | |
* @deprecated instead, use scope to judge if it's in jvm, scope=local | |
*/ | |
@Deprecated | |
public Boolean isInjvm() { | |
return injvm; | |
} | |
/** | |
* @param injvm | |
* @deprecated instead, use scope to judge if it's in jvm, scope=local | |
*/ | |
@Deprecated | |
public void setInjvm(Boolean injvm) { | |
this.injvm = injvm; | |
} | |
@Override | |
@Parameter(key = Constants.REFERENCE_FILTER_KEY, append = true) | |
public String getFilter() { | |
return super.getFilter(); | |
} | |
@Override | |
@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; | |
} | |
} |