Hi André, Is your application based on WOnder? As René already mentioned, all of that ninjitsu you are doing is already taken care of by WOnder, i.e.
dbConnectURLGLOBAL=jdbc:mysql://localhost/DbName dbConnectUserGLOBAL=ojp dbConnectPasswordGLOBAL=XXXXX dbEOPrototypesEntityGLOBAL=EOJDBCMySQLPrototypes dbConnectPluginGLOBAL=MySQLPlugIn Best regards, Bogdan On 8 November 2017 at 09:31, André Rothe <andre.ro...@phosco.info> wrote: > Hi René, > > I have found a solution for my problems: > > In the JavaMonitor I have configured two applications with the same > binaries. The only difference is a VM parameter -Dconfigfile=foo.config in > the first application and the parameter -Dconfigfile=bar.config in the > other application. > > With these parameters I can use different database configurations, which > are stored into the configuration files. > > In the Application class I can use > > FileInputStream fs = new FileInputStream(System.getProperty("user.dir") + > System.getProperty("file.separator") + System.getProperty("configfile")); > Properties p = new Properties(); > p.load(fs); > > to get the database credentials. According to your post, in the model I > have removed all connections, this will result in an Exception, if I access > an EOEditingContext (i.e. within a Session). To prevent that, I set the > connection within the Application class, before any access to the database. > > EOModel model = EOModelGroup.defaultGroup().modelNamed("MyModelName"); > EODatabaseContext dc = > EODatabaseContext.registeredDatabaseContextForModel(model, > new EOEditingContext()); > EOAdaptor da = dc.adaptorContext().adaptor(); > > The database credentials I can store into an NSMutableDictionary: > > NSMutableDictionary cred = new NSMutableDictionary(); > cred.takeValueForKey(p.getProperty("username"), "username"); > cred.takeValueForKey(p.getProperty("password"), "password"); > cred.takeValueForKey(p.getProperty("url"), "URL"); > cred.takeValueForKey(p.getProperty("driver"), "driver"); > > Then I set the new ConnectionDictionary for the EOAdapter and EOModel: > > da.setConnectionDictionary(cred); > model.setConnectionDictionary(cred); > > This works also for all other EOEditingContext instances within the > application, I don't have to switch the connection for every new EC > instance. > > Some ideas I got from https://stackoverflow.com/questions/13459208 and > http://mirror.informatimago.com/next/developer.apple.com/doc > umentation/WebObjects/Enterprise_Objects/Connecting/chapter_ > 10_section_8.html#//apple_ref/doc/uid/TP30001011-DontLinkCha > pterID_6-TPXREF144 > > Best regards > André > > > > Am 2017-11-06 17:05, schrieb René Bock: > >> Hi André >> >> we don't store database connection infos in the eo-model. Instead we >> follow: >> >> https://wiki.wocommunity.org/display/documentation/Best+Prac >> tices-Properties+Files >> >> e.g: >> >> dbConnectURLGLOBAL=jdbc:mysql://localhost/DbName >> dbConnectUserGLOBAL=ojp >> dbConnectPasswordGLOBAL=XXXXX >> dbEOPrototypesEntityGLOBAL=EOJDBCMySQLPrototypes >> dbConnectPluginGLOBAL=MySQLPlugIn >> >> >> >> >> Am 06.11.2017 um 16:55 schrieb André Rothe <andre.ro...@phosco.info>: >>> >>> Hi, >>> >>> three questions according the database connection: >>> >>> I have a model, which has a database connection defined in a connection >>> dictionary. But the model should not open the connection per default, it >>> should get the credentials from another property file which will differ >>> between the instances of the application in the JavaMonitor. If I use this >>> solution: >>> >>> http://mirror.informatimago.com/next/developer.apple.com/doc >>> umentation/WebObjects/Enterprise_Objects/Connecting/chapter_ >>> 10_section_8.html >>> >>> the app will connect to the default database and makes then a reconnect >>> to the later provided database. Is it possible to prevent the first connect? >>> >>> If I use multiple EOEditingContexts in my application, I have to change >>> the connection parameters for every EC. When is the best time to set these >>> for the session.defaultEditingContext()? Can I get the current >>> connection credentials from an EditingContext instance to use it on another >>> EC instance? >>> >>> Thank you. >>> >>> Best regards >>> André >>> _______________________________________________ >>> Do not post admin requests to the list. They will be ignored. >>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>> Help/Unsubscribe/Update your Subscription: >>> https://lists.apple.com/mailman/options/webobjects-dev/bock% >>> 40salient-doremus.de >>> >>> This email sent to b...@salient-doremus.de >>> >> >> Mit freundlichen Grüßen >> >> René Bock >> >> -- >> Telefon: +49 69 650096 18 >> >> salient GmbH, Lindleystraße 12, 60314 Frankfurt >> Telefon Zentrale: 069 / 65 00 96 - 0 | www.salient-doremus.de >> > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/ > bogdan.zlatanov%40gmail.com > > This email sent to bogdan.zlata...@gmail.com >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com