Affects Version/s: 7.0.X, 7.1.X, Master
Fix Version/s: Master
Initially, from ConfigurationBeanManagedService, we use as bundleContext the bundle that registers the managed service, as for now: com.liferay.portal.configuration.settings. That bundle location is used by the ConfigurationManager to assign the configuration location.
When the ConfigurationManager handles a configuration update it fires a CM_UPDATED event. In an async way the ComponentRegistry gets notified from the UpdateThread and starts to check if every component holder (in the specific case of the ticket CheckArticleMessageListener) should be notified. To check so there is an exact comparison performed between CheckArticleMessageListener module (com.liferay.journal.web) location and com.liferay.portal.configuration.settings.jar, and because there isn't a match the component isn't notified:
Steps to Repduce:
- Create a com.liferay.journal.configuration.JournalServiceConfiguration.config file in osgi/configs folder adding, as single line, the following: checkInterval="1"
- Start the portal.
- Navigate to Control Panel > Configuration > System Settings > Web Content and select Web Content from under VIRTUAL INSTANCE SCOPE.
- Check that the field "Check Interval" value is set to "1".
- From Content > Web Content create a basic web content and schedule it to be published in a few minutes.
- Refresh the page where the content is scheduled.
The web content should be published within 1 minute of its display date.
A period of time up to 15 minutes is passed before the web content is published.