portal = new PortalImpl(inv, executorService, windowListener);
//
long timeout = 0;
PortalSetting portalSetting = inv.getMethod().getAnnotation(PortalSetting.class);
if (portalSetting != null) {
if (portalSetting.timeout() >= 0) {
long annotationTimeout = portalSetting.timeUnit().toMillis(portalSetting.timeout());
// < 0的情况,是PortalSetting的默认设置,即如果PortalSetting没有设置有效的timeout,则使用defaultTimeout策略
// == 0的情况表示并且要求表示不需要设置超时时间,并且也不使用defaultTimeout策略
if (annotationTimeout >= 0) {
timeout = annotationTimeout;