Feature #5142
Updated by Rob Nahf over 10 years ago
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>
<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>