MCPcopy Create free account
hub / github.com/e2wugui/zeze / upgrade

Method upgrade

ZezeJava/ZezeJava/src/main/java/Zeze/Arch/Online.java:110–133  ·  view source on GitHub ↗
(@NotNull Function<Bean, Bean> retreatFunc)

Source from the content-addressed store, hash-verified

108 }
109
110 @Override
111 public void upgrade(@NotNull Function<Bean, Bean> retreatFunc) throws Exception {
112 // 如果需要,重建_tlocal内存表的用户设置的bean。
113 var retreats = new ArrayList<Retreat>();
114 _tlocal.walkMemory((account, locals) -> {
115 for (var login : locals.getLogins()) {
116 var clientId = login.getKey();
117 for (var e : login.getValue().getDatas()) {
118 var retreatBean = retreatFunc.apply(e.getValue().getAny().getBean());
119 if (retreatBean != null) {
120 beanFactory.register(retreatBean); // 覆盖beanFactory.
121 retreats.add(new Retreat(account, clientId, e.getKey(), retreatBean));
122 if (retreats.size() > 50) {
123 saveRetreats(retreats);
124 retreats.clear();
125 }
126 }
127 }
128 }
129 return true;
130 });
131 if (!retreats.isEmpty())
132 saveRetreats(retreats);
133 }
134
135 private void saveRetreats(@NotNull ArrayList<Retreat> retreats) {
136 // 【注意,这里不使用 Task.call or run,因为这个在热更流程中调用,避免去使用hotGuard。】

Callers

nothing calls this directly

Calls 14

saveRetreatsMethod · 0.95
walkMemoryMethod · 0.65
getKeyMethod · 0.65
getValueMethod · 0.65
applyMethod · 0.65
getBeanMethod · 0.65
addMethod · 0.65
sizeMethod · 0.65
clearMethod · 0.65
isEmptyMethod · 0.65
getLoginsMethod · 0.45
getDatasMethod · 0.45

Tested by

no test coverage detected