-
Notifications
You must be signed in to change notification settings - Fork 26.5k
Open
Labels
help wantedEverything needs help from contributorsEverything needs help from contributorstype/proposalEverything you want Dubbo haveEverything you want Dubbo have
Milestone
Description
Rmi protocal will choose a random port as the service port. Sometimes we need to use a fixed port to ensure it is accessable from other service instance.
Could add a parameter to support setting this port?
Here is my current code to set the service port.
org.apache.dubbo.rpc.protocol.rmi.RmiProtocol
@Override
protected <T> Runnable doExport(final T impl, Class<T> type, URL url) throws RpcException {
RmiServiceExporter rmiServiceExporter = createExporter(impl, type, url, false);
RmiServiceExporter genericServiceExporter =
createExporter(impl, GenericService.class, url, true);
// Here is the code to set the fixed service port.
String servicePort = System.getProperty("dubbo.protocal.rmi.serviceport");
if (servicePort != null && !servicePort.isEmpty()) {
rmiServiceExporter.setServicePort(Integer.valueOf(servicePort));
}
return new Runnable() {
@Override
public void run() {
try {
rmiServiceExporter.destroy();
genericServiceExporter.destroy();
} catch (Throwable e) {
logger.warn(e.getMessage(), e);
}
}
};
}Metadata
Metadata
Assignees
Labels
help wantedEverything needs help from contributorsEverything needs help from contributorstype/proposalEverything you want Dubbo haveEverything you want Dubbo have