Az jutott eszembe, hogy a spring appcontexteinkhez írhatnánk egy olyan BeanFactoryPostProcessort, ami végigmászna az összes bean definíciónkon, és mondjuk valamilyen módszerrel összeállított JNDI resource névvel megpróbálná behelyettesíteni a bean-t, persze csak ha van olyan JNDI resource. Így bedobhatnánk akár teljes bean-eket is a konfigba, ugyanúgy mint egyenként property-ket. Kiadhatnánk az appcontext-et úgy, hogy egy Derby datasource van beleregisztrálva, és azt felülvágnánk egy JNDI DataSource-szal, a hibernate sessionben pedig a Dialect osztály nevét írnánk át, kész is a konfiguráció.
Ehhez persze le kell szoktatnunk arról a szerintem rémes szokásukról a library-jaink fejlesztőit hogy classpath-on lévő propertyfileból szedjék fel a konfigurációjukat.
Ez persze nem egy teljesen friss ötlet, csak ma vetettem fel elösször publikusan. Majd harcolok érte :-)