settings跟换或使用对象的命名空间:
public static final String MOVEMENT_MODEL_NS = "MovementModel";
settings.setNameSpace(MOVEMENT_MODEL_NS);
此例中使用MovementModel命名空间,即后面代码所查询的配置前均加"MovementModel."
使用之后还原命名空间:
settings.restoreNameSpace();
缓存机制代码区域:routing.ActiveRouter
protected Message getNextMessageToRemove(boolean excludeMsgBeingSent)
Prophet比较器错误,高版本的JDK中的java.util.Collections.sort函数需要比较器在两个值相同的情况下返回0
Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.base/java.util.TimSort.mergeHi(TimSort.java:903)
at java.base/java.util.TimSort.mergeAt(TimSort.java:520)
at java.base/java.util.TimSort.mergeForceCollapse(TimSort.java:461)
at java.base/java.util.TimSort.sort(TimSort.java:254)
at java.base/java.util.Arrays.sort(Arrays.java:1516)
at java.base/java.util.ArrayList.sort(ArrayList.java:1749)
at java.base/java.util.Collections.sort(Collections.java:177)
at routing.ProphetRouter.tryOtherMessages(ProphetRouter.java:246)
at routing.ProphetRouter.update(ProphetRouter.java:206)
at core.DTNHost.update(DTNHost.java:353)
at core.World.updateHosts(World.java:198)
at core.World.update(World.java:167)
at gui.DTNSimGUI.runSim(DTNSimGUI.java:113)
at ui.DTNSimUI.start(DTNSimUI.java:77)
at core.DTNSim.main(DTNSim.java:111)