Issue Summary
Confluence DC non-clustered instance does not respect -Dsynchrony.service.url and starts a managed synchrony process listening on port 127.0.0.1 port 8091 instead of connecting to external synchrony process.
This is reproducible on Data Center: Yes
Steps to Reproduce
- Setup a Confluence DC non-clustered instance.
- Create a standalone synchrony instance using the following documentation.
- Add -Dsynchrony.service.url=http://<synchrony-load-balancer-url>/synchrony/v1 in the Confluence DC non-clustered instance using Configuring System Properties documentation pointing it to the standalone synchrony instance created above.
- Or Deploy a non-clustered Confluence DC instance using the Atlassian DC helm charts. The confluence.clustering.enable should be false.
Expected Results
In the Collaborative Editing screen, you will notice Confluence connecting to the external synchrony process, showing the Synchrony URL, and not starting the managed synchrony process locally to listen on ports 8091 and 127.0.0.1. 
Actual Results
In the Collaborative Editing screen, Confluence connects to the managed synchrony process locally to listen on port 8091 and address 127.0.0.1. In the atlassian-confluence.log, you will notice it has -Dsynchrony.service.url, but Confluence still starts a managed synchrony process.
2024-08-08 15:12:47,383 INFO [Catalina-utility-1] [com.atlassian.confluence.lifecycle] contextInitialized Using JVM argument -Dsynchrony.service.url=https:2024-08-08 15:12:47,383 INFO [Catalina-utility-1] [com.atlassian.confluence.lifecycle] contextInitialized Using JVM argument -Dsynchrony.by.default.enable.collab.editing.if.manually.managed=true
2024-08-08 15:00:05,616 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.SynchronyEnvironmentBuilder] isSynchronyProxyEnabled proxy port present: true
2024-08-08 15:00:05,669 INFO [lifecycle:thread-23] [db.internal.dao.QDSLRateLimitingSettingsVersionDao] incrementSettingsVersion No settings version record in the database for DEFAULT, inserting...
2024-08-08 15:00:05,774 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.SynchronyProcessBuilder] debugPrintEnvironment Synchrony working dir: /var/atlassian/application-data/confluence
2024-08-08 15:00:05,774 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.SynchronyProcessBuilder] debugPrintEnvironment Synchrony command line: /opt/java/openjdk/bin/java -classpath /opt/atlassian/confluence/temp/5.1.9.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/org.postgresql_postgresql-42.5.3.jar -Xss2048k -Xmx2g synchrony.core sql
2024-08-08 15:00:05,775 INFO [Caesium-1-1] [ratelimiting.internal.configuration.ConfigurationLoggerJob] logConfiguration Periodic rate limiting configuration log. System rate limiting settings: [SystemRateLimitingSettings(mode=OFF, bucketSettings=TokenBucketSettings(capacity=50, fillRate=10, intervalFrequency=1, intervalTimeUnit=Seconds), jobControlSettings=SystemJobControlSettings(reportingDbArchivingJobFrequencyDuration=PT1M10S, reportingDbRetentionPeriodDuration=PT24H, bucketCollectionJobFrequencyDuration=PT5M, bucketCleanupJobFrequencyDuration=PT15M, settingsReloadJobFrequencyDuration=PT1M))]
2024-08-08 15:00:05,779 WARN [MpacApplicationCacheManager:thread-1] [atlassian.upm.pac.MpacApplicationCacheManager] fetchMpacAppInfo Error when querying application info from MPAC: com.atlassian.marketplace.client.MpacException: java.net.UnknownHostException: proxy.example.org
-- url: /confluence/setup/setupdata.action | userName: anonymous | action: setupdata | referer: https:2024-08-08 15:00:06,038 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] updateSynchronyConfiguration Synchrony External Base URL: https:2024-08-08 15:00:06,042 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] updateSynchronyConfiguration Synchrony External Service URL: https:2024-08-08 15:00:06,051 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] updateSynchronyConfiguration Synchrony Internal Service URL: http:

Notes:
- In a Kubernetes Confluence DC non-clustered instance, the Collaborative editing screen will show Synchrony status as Error, but Collaborative editing will work fine when the outbound proxy is used. Without the Outbound proxy, the Collaborative editing screen will show the Synchrony status as Running but with incorrect Synchrony Configuration. The requests for https://<confluence-dns>/synchrony will be routed to the external synchrony pod by the ingress resource for processing.
- In a Non-Kubernetes Confluence DC non-clustered instance, the Collaborative editing screen will show Synchrony status as Running, and Collaborative editing will work fine; however, the incorrect Synchrony Configuration will be displayed, and managed synchrony process will handle the request in place of external synchrony process if Dsynchrony.service.url and the Confluence base url are different and /synchrony route is not properly configured at load balancer level.
Workaround
The only workaround is to enable clustering mode, which helps to set the correct synchrony URL via -Dsynchrony.service.url.