Feature #5142
Updated by Rob Nahf over 10 years ago
Member Nodes want to be able to choose which environment they will register in without shutting down to do so.
In the D1Clieint class, there is a static class field CNode. After the CNode was initialized, there is no way to change the CN:
<pre>
public static CNode getCN(Session session) throws ServiceFailure {
if (cn == null) {
// get the CN URL
String cnUrl = Settings.getConfiguration().getString("D1Client.CN_URL");
// determine which implementation to instantiate
String cnClassName = Settings.getConfiguration().getString("D1Client.cnClassName");
if (cnClassName != null) {
// construct it using reflection
try {
cn = (CNode) Class.forName(cnClassName).newInstance();
} catch (Exception e) {
throw D1Node.recastClientSideExceptionToServiceFailure(e);
}
cn.setNodeBaseServiceUrl(cnUrl);
} else {
// default
cn = new CNode(cnUrl, session);
}
}
return cn;
}
</pre>
In the D1Clieint class, there is a static class field CNode. After the CNode was initialized, there is no way to change the CN:
<pre>
public static CNode getCN(Session session) throws ServiceFailure {
if (cn == null) {
// get the CN URL
String cnUrl = Settings.getConfiguration().getString("D1Client.CN_URL");
// determine which implementation to instantiate
String cnClassName = Settings.getConfiguration().getString("D1Client.cnClassName");
if (cnClassName != null) {
// construct it using reflection
try {
cn = (CNode) Class.forName(cnClassName).newInstance();
} catch (Exception e) {
throw D1Node.recastClientSideExceptionToServiceFailure(e);
}
cn.setNodeBaseServiceUrl(cnUrl);
} else {
// default
cn = new CNode(cnUrl, session);
}
}
return cn;
}
</pre>