@@ -376,82 +376,84 @@ private static void applyEventConfig(EventConfig ec) {
376376 // contractParse belongs to event.subscribe but Storage object holds it
377377 PARAMETER .storage .setContractParseSwitch (ec .isContractParse ());
378378
379+ // PARAMETER.eventPluginConfig and PARAMETER.eventFilter are only consumed by
380+ // Manager.startEventSubscribing(), which itself is gated by isEventSubscribe()
381+ // (= ec.isEnable()) at Manager.java:564. When subscribe is disabled, building
382+ // these objects has no observable effect — skip both early so PARAMETER stays
383+ // consistent with the runtime intent.
384+ if (!ec .isEnable ()) {
385+ return ;
386+ }
387+
379388 // Build EventPluginConfig from EventConfig bean
380- // If event.subscribe was configured, bean will have non-default values
381- if (ec .isEnable () || ec .getVersion () != 0 || !ec .getTopics ().isEmpty ()
382- || StringUtils .isNotEmpty (ec .getPath ()) || StringUtils .isNotEmpty (ec .getServer ())) {
383- EventPluginConfig epc = new EventPluginConfig ();
384- epc .setVersion (ec .getVersion ());
385- epc .setStartSyncBlockNum (ec .getStartSyncBlockNum ());
386-
387- // native queue
388- EventConfig .NativeConfig nq = ec .getNativeQueue ();
389- epc .setUseNativeQueue (nq .isUseNativeQueue ());
390- epc .setBindPort (nq .getBindport ());
391- epc .setSendQueueLength (nq .getSendqueuelength ());
392-
393- if (!nq .isUseNativeQueue ()) {
394- if (StringUtils .isNotEmpty (ec .getPath ())) {
395- epc .setPluginPath (ec .getPath ().trim ());
396- }
397- if (StringUtils .isNotEmpty (ec .getServer ())) {
398- epc .setServerAddress (ec .getServer ().trim ());
399- }
400- if (StringUtils .isNotEmpty (ec .getDbconfig ())) {
401- epc .setDbConfig (ec .getDbconfig ().trim ());
402- }
389+ EventPluginConfig epc = new EventPluginConfig ();
390+ epc .setVersion (ec .getVersion ());
391+ epc .setStartSyncBlockNum (ec .getStartSyncBlockNum ());
392+
393+ // native queue
394+ EventConfig .NativeConfig nq = ec .getNativeQueue ();
395+ epc .setUseNativeQueue (nq .isUseNativeQueue ());
396+ epc .setBindPort (nq .getBindport ());
397+ epc .setSendQueueLength (nq .getSendqueuelength ());
398+
399+ if (!nq .isUseNativeQueue ()) {
400+ if (StringUtils .isNotEmpty (ec .getPath ())) {
401+ epc .setPluginPath (ec .getPath ().trim ());
403402 }
404-
405- // topics
406- List <TriggerConfig > triggerConfigs = new ArrayList <>();
407- for (EventConfig .TopicConfig tc : ec .getTopics ()) {
408- TriggerConfig trig = new TriggerConfig ();
409- trig .setTriggerName (tc .getTriggerName ());
410- trig .setEnabled (tc .isEnable ());
411- trig .setTopic (tc .getTopic ());
412- trig .setSolidified (tc .isSolidified ());
413- trig .setEthCompatible (tc .isEthCompatible ());
414- trig .setRedundancy (tc .isRedundancy ());
415- triggerConfigs .add (trig );
403+ if (StringUtils .isNotEmpty (ec .getServer ())) {
404+ epc .setServerAddress (ec .getServer ().trim ());
405+ }
406+ if (StringUtils .isNotEmpty (ec .getDbconfig ())) {
407+ epc .setDbConfig (ec .getDbconfig ().trim ());
416408 }
417- epc . setTriggerConfigList ( triggerConfigs );
409+ }
418410
419- PARAMETER .eventPluginConfig = epc ;
411+ // topics
412+ List <TriggerConfig > triggerConfigs = new ArrayList <>();
413+ for (EventConfig .TopicConfig tc : ec .getTopics ()) {
414+ TriggerConfig trig = new TriggerConfig ();
415+ trig .setTriggerName (tc .getTriggerName ());
416+ trig .setEnabled (tc .isEnable ());
417+ trig .setTopic (tc .getTopic ());
418+ trig .setSolidified (tc .isSolidified ());
419+ trig .setEthCompatible (tc .isEthCompatible ());
420+ trig .setRedundancy (tc .isRedundancy ());
421+ triggerConfigs .add (trig );
420422 }
423+ epc .setTriggerConfigList (triggerConfigs );
424+
425+ PARAMETER .eventPluginConfig = epc ;
421426
422427 // Build FilterQuery from EventConfig.FilterConfig bean
423428 EventConfig .FilterConfig fc = ec .getFilter ();
424- if (StringUtils .isNotEmpty (fc .getFromblock ()) || StringUtils .isNotEmpty (fc .getToblock ())
425- || !fc .getContractAddress ().isEmpty ()) {
426- FilterQuery filter = new FilterQuery ();
429+ FilterQuery filter = new FilterQuery ();
427430
428- try {
429- filter .setFromBlock (FilterQuery .parseFromBlockNumber (fc .getFromblock ().trim ()));
430- } catch (Exception e ) {
431- logger .error ("invalid filter: fromBlockNumber: {}" , fc .getFromblock (), e );
432- PARAMETER .eventFilter = null ;
433- return ;
434- }
431+ try {
432+ filter .setFromBlock (FilterQuery .parseFromBlockNumber (fc .getFromblock ().trim ()));
433+ } catch (Exception e ) {
434+ logger .error ("invalid filter: fromBlockNumber: {}" , fc .getFromblock (), e );
435+ PARAMETER .eventFilter = null ;
436+ return ;
437+ }
435438
436- try {
437- filter .setToBlock (FilterQuery .parseToBlockNumber (fc .getToblock ().trim ()));
438- } catch (Exception e ) {
439- logger .error ("invalid filter: toBlockNumber: {}" , fc .getToblock (), e );
440- PARAMETER .eventFilter = null ;
441- return ;
442- }
439+ try {
440+ filter .setToBlock (FilterQuery .parseToBlockNumber (fc .getToblock ().trim ()));
441+ } catch (Exception e ) {
442+ logger .error ("invalid filter: toBlockNumber: {}" , fc .getToblock (), e );
443+ PARAMETER .eventFilter = null ;
444+ return ;
445+ }
443446
444- filter .setContractAddressList (
445- fc .getContractAddress ().stream ()
446- .filter (StringUtils ::isNotEmpty )
447- .collect (Collectors .toList ()));
448- filter .setContractTopicList (
449- fc .getContractTopic ().stream ()
450- .filter (StringUtils ::isNotEmpty )
451- .collect (Collectors .toList ()));
447+ filter .setContractAddressList (
448+ fc .getContractAddress ().stream ()
449+ .filter (StringUtils ::isNotEmpty )
450+ .collect (Collectors .toList ()));
451+ filter .setContractTopicList (
452+ fc .getContractTopic ().stream ()
453+ .filter (StringUtils ::isNotEmpty )
454+ .collect (Collectors .toList ()));
452455
453- PARAMETER .eventFilter = filter ;
454- }
456+ PARAMETER .eventFilter = filter ;
455457 }
456458
457459 /**
0 commit comments