[ https://issues.apache.org/jira/browse/CAY-1972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrus Adamchik updated CAY-1972: --------------------------------- Description: Here is a situation: Collection<String> configs = // configs in random, changing order ServerRuntime runtime = new ServerRuntimeBuilder().addConfigs(configs).build(); The resulting runtime has multiple DataNodes. Now in development I need to provide connection data for each of the DataNodes using properties per [1]. Due to the random order of configs collection, domain name in the resulting stack also changes between the invocations. So I can't use 'cayenne.jdbc.driver.domain_name.node_name' property reliably. We need an easy way to fix the domain name in a multi-project config. Internally this will be achieved via a new DI property - "cayenne.server.domain.name". Public API will use an existing ServerRuntimeBuilder(String) constructor, but redefining its argument as a name of the domain, not a config. UPGRADE-NOTES: ServerRuntimeBuilder(String) constructor argument meant config location. It will mean the domain name now. [1] http://cayenne.apache.org/docs/3.1/cayenne-guide/configuration-properties.html was: Here is a situation: Collection<String> configs = // configs in random, changing order ServerRuntime runtime = new ServerRuntimeBuilder().addConfigs(configs).build(); The resulting runtime has multiple DataNodes. Now in development I need to provide connection data for each of the DataNodes using properties per [1]. Due to the random order of configs collection, domain name in the resulting stack also changes between the invocations. So I can't use 'cayenne.jdbc.driver.domain_name.node_name' property reliably. We need an easy way to fix the domain name in a multi-project config. Perhaps ServerRuntimeBuilder can do that by overriding ConfigurationNameMapper service to return a fixed String. Public API can be reworked to treat ServerRuntimeBuilder(String) constructor argument as a name of the domain, not a config. UPGRADE-NOTES: ServerRuntimeBuilder(String) constructor argument meant config location. It will mean the domain name now. [1] http://cayenne.apache.org/docs/3.1/cayenne-guide/configuration-properties.html > Can't override DataSources of multi-module projects > ---------------------------------------------------- > > Key: CAY-1972 > URL: https://issues.apache.org/jira/browse/CAY-1972 > Project: Cayenne > Issue Type: Improvement > Reporter: Andrus Adamchik > Assignee: Andrus Adamchik > Priority: Minor > > Here is a situation: > Collection<String> configs = // configs in random, changing order > ServerRuntime runtime = new > ServerRuntimeBuilder().addConfigs(configs).build(); > The resulting runtime has multiple DataNodes. Now in development I need to > provide connection data for each of the DataNodes using properties per [1]. > Due to the random order of configs collection, domain name in the resulting > stack also changes between the invocations. So I can't use > 'cayenne.jdbc.driver.domain_name.node_name' property reliably. > We need an easy way to fix the domain name in a multi-project config. > Internally this will be achieved via a new DI property - > "cayenne.server.domain.name". > Public API will use an existing ServerRuntimeBuilder(String) constructor, but > redefining its argument as a name of the domain, not a config. > UPGRADE-NOTES: ServerRuntimeBuilder(String) constructor argument meant config > location. It will mean the domain name now. > [1] > http://cayenne.apache.org/docs/3.1/cayenne-guide/configuration-properties.html -- This message was sent by Atlassian JIRA (v6.3.4#6332)