also per-node connection params can be passed as properties: https://cayenne.apache.org/docs/4.1/cayenne-guide/#appendix-a-configuration-properties <https://cayenne.apache.org/docs/4.1/cayenne-guide/#appendix-a-configuration-properties>
> On Apr 23, 2021, at 10:58 AM, John Huss <johnth...@gmail.com> wrote: > > When you create your ServerRuntime you need to supply a custom DI module to > pass the DB connection parameters, something like this: > > *import* org.apache.cayenne.configuration.Constants; > > *import* org.apache.cayenne.di.Binder; > > *import* org.apache.cayenne.di.MapBuilder; > > *import* org.apache.cayenne.di.Module; > > > *public* *class* MyModule *implements* Module { > > *public* *void* configure(Binder binder) { > > MapBuilder<String> mapBuilder = binder.bindMap(String.*class*, Constants. > *PROPERTIES_MAP*); > > mapBuilder.put(Constants.*JDBC_URL_PROPERTY* + > ".YourDataDomainName.YourDataNodeName", System.*getenv*("url")); > > ... > > } > > } > > On Fri, Apr 23, 2021 at 9:32 AM Tony Giaccone <t...@giaccone.org> wrote: > >> I have a datadomain with two datamaps, and two datasource each talking to a >> different database. >> >> Right now, I have had the datasource configured in the config file, but I >> need to remove that and set it programmatically, from an environment >> variable. Simple enough to do with a defauldata source, unclear how to do >> when you have multiple data sources and data nodes. >> >> After browsing through the code and the app as it's running, it's unclear >> to me how to do this. >> >> Does anyone know the secret sauce? >> >> >> >> Tony >>