Thanks for quick response, Why 2 configuration instances? There will be cayenne.xml (with node A) and my-cayenne.xml (with node A and B) on the classpath. Is that why? Would it be more convenient if my-cayenne.xml only consist of node B?
I am not sure how to initialize. -Borut 2010/5/3 Andrus Adamchik <and...@objectstyle.org> > "Default" refers to a "default domain" within a single configuration > instance. You will be working with 2 configuration instances, so both will > have a "default domain". This also means that your old code can stay > unchanged, while the new application won't be able to use a static method > for DataContext creation (either with domain name or without it). Instead > you will need to write your own factory method that gets a hold of "conf", > gets its default domain, and creates a context from it. > > Andrus > > > > On May 3, 2010, at 2:26 PM, Borut Bolčina wrote: > > Hello, >> >> Our old large web application uses one database and there are a large >> number >> of DataContext.createDataContext(); statements all over the web >> application >> itself and jars it depends on. >> >> Now there is a need to access another database. Currently the >> Configuration >> gets initialized with the first call of createDataContext - there is no >> special class which initializes cayenne eagerly. All defaults. >> >> Reading the API ( >> >> http://cayenne.apache.org/doc30/api/org/apache/cayenne/access/DataContext.html#createDataContext%28%29 >> ) >> there is a sentence: >> >> "Factory method that creates and returns a new instance of DataContext >> based >> on default domain." >> >> What is the default domain? I can't find anything in the modeler or in the >> cayenne xml configuration file to mark one node as default. >> >> Currently the cayenne.xml comes from one of the external jars, not the web >> application itself. Now I will have to create a manually crafted >> my-cayenne.xml configuration file which has another data node and >> initialize >> it with something like: >> >> DefaultConfiguration conf = new DefaultConfiguration("my-cayenne.xml"); >> >> But I suspect I would have to find all occurances of createDataContext() >> and >> replace it with createDataContext("old-node-name"). I would really like to >> avoid that! >> >> Instead, can I just leave the access code to "old" database as is and only >> create data context for the new database with >> createDataContext("my-new-node-name")? >> >> -Borut >> > >