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 >