> (BTW, could the documentation be updated to reflect the expected location of > the cayenne configuration files?)
It has this little piece there: "Location is a '/'-separated path (same path separator is used on UNIX and Windows) that is resolved relative to the application classpath". But I guess we can emphasize it better. > Ideally I'd like to place my cayenne configuration files into the folder > WEB-INF/DBConfig_CayenneV3.1 using the simplest possible method so that it's > clear to any future developers of my project to understand exactly what these > files are used for. First, let's maybe rename it to "DBConfig_CayenneV3_1" (Just in case, as "." can mean other things in Java). Now since you are in control of the app structure, I suggest you just put them under "WEB-INF/classes/DBConfig_CayenneV3_1" or a similar folder. But this is in a resulting .war. In your *source* you would simply put it in a folder that is packaged to WEB-INF/classes during the .war assembly. And your build tool (Maven, Ant, etc) will ensure it is in the right place in archive. IMO placing it in "src/main/resources" (if you are using Maven) or to your Java sources folder will make it very clear to developers. (in a DBConfig_CayenneV3_1 subpackage if you like). Sticking to locations that end up on CLASSPATH one way or the other will ensure you don't need a custom CayenneFilter. But of course you can write one to load from WEB-INF too, which requires some, but very minimal DI understanding. Andrus On Jul 26, 2013, at 5:45 PM, Andrew Willerding <[email protected]> wrote: > I'm trying to migrate to Cayenne 3.1 and I had the same problem trying to > figure out this problem until I found this thread topic. I'm trying to map > the config location to a folder other than the classes folder using the > suggestion from the documentation. (BTW, could the documentation be updated > to reflect the expected location of the cayenne configuration files?) > > https://cayenne.apache.org/docs/3.1/cayenne-guide/starting-cayenne.html > > "When started by the web container, it creates a instance of ServerRuntime > and stores it in the ServletContext. Note that the name of Cayenne XML > project file is derived from the "filter-name". In the example above > CayenneFilter will look for an XML file "cayenne-project.xml". This can be > overridden with "configuration-location" init parameter." > > I'm using tomcat (and I'm certainly not a power user and I don't want to dive > into DI) so I'm not clear exactly which init parameter this is referencing. > Ideally I'd like to place my cayenne configuration files into the folder > WEB-INF/DBConfig_CayenneV3.1 using the simplest possible method so that it's > clear to any future developers of my project to understand exactly what these > files are used for. I've tried adding this to the web.xml file without > success: > > <servlet> > .... > <init-param> > <description>Cayenne Config files</description> > <param-name>configuration-location</param-name> > <param-value>/WEB-INF/DBConfig_CayenneV3.1</param-value> > </init-param> > ... > </servlet> > > > Thanks, > > Andrew > > > > On 02/08/2012 01:55 PM, Andrus Adamchik wrote: >> Great! Yeah, removing support for WEB-INF as a config location was an >> intentional step. Using CLASSPATH to locate resources is the most portable >> approach that works in any Java environment, not just web apps. >> >> And of course for those who are used to WEB-INF/, it is always easy to write >> your own bootstrap code based on CayenneFilter ideas. >> >> Andrus >> >> On Feb 8, 2012, at 9:04 PM, jason-pa wrote: >> >>> Hi Andrus, >>> Thank you! >>> ...... >>> "cayenne-shopperDomain.xml" was located in WEB-INF. Changed my ant build >>> script to move "cayenne-shopperDomain.xml" (and the other associated cayenne >>> configuration files) to WEB-INF/classes. That was it. Doh! I did a Homer >>> Simpson :) I overlooked the obvious :). Thank so much for your patience. >>> ..... >>> FYI >>> ..... >>> Had been using Cayenne v3.0.1 and v.3.0.2 with Tomcat (on various projects). >>> Never to had to move the cayenne configuration files from "WEB-INF" to >>> "WEB-INF/classes" before. Thus, my confusion over the obvious. >>> ...... >>> In general, kudos to all the Cayenne contributors. I find Cayenne a joy to >>> work with. >>> ...... >>> The Cayenne Modeler v3.1M3 graphing is a great feature. >>> ..... >>> Thank you so much for the help. >>> >>> >>> -- >>> View this message in context: >>> http://cayenne.195.n3.nabble.com/Web-App-Configuration-with-Cayenne-v-3-1M3-tp3724256p3726896.html >>> Sent from the Cayenne - User mailing list archive at Nabble.com. >>> > >
