最近一朋友问道,启动中心中的“更新启动中心”如何运作的,我当时没有回答,毕竟没研究过,最近抽时间看了下,大概说下。
应用程序设计器中屏蔽了一些应用程序的定义,其实启动中心的页面也是能打开的,去掉maxapps中DESIGNER中关于STARTCNTR的限制,重启服务器就能看到应用程序设计器的页面设计。其中,“更新启动中心”定义的事件为updatestartcenter,它对应的appbean中有相应方法,如下:
WebClientEvent event = clientSession.getCurrentEvent();
int msgRet = event.getMessageReturn();
if (msgRet < 0)
throw new MXApplicationException("startcntr", "updatescconfirm");
if (msgRet == 8)
{
SCConfigServiceRemote scconfigServ = (SCConfigServiceRemote)getMXSession().lookup("SCCONFIG");
long newscid = scconfigServ.updateStartCenter(getMbo());
clientSession.getRequest().getSession().setAttribute("messagetoshow", "scupdated");
clientSession.getCurrentApp().put("forcereload", "true");
clientSession.queueEvent(new WebClientEvent("changeapp", app.getId(), "startcntr", null, null, newscid, clientSession));
} else
{
return msgRet != 16 ? 1 : 1;
}
return 1;
红色部分就为其核心代码,如果要自动调用,按照对应逻辑做做操作即可。