Hi Dan, depends on how you setup your Spring and your application. I usually use maven as build system and therefore do differentiate between spring in test and on server. In you "test" environment you can keep your configuration.
One other possibility is how you tell spring / spring-dm which config files to use. Per default spring-dm searches for a spring xml file in META-INF/spring but you can also tell spring to search in other directories or just to use certain xml files. For example you might set the following in the MANIFEST Spring-Context: config/account-data-context.xml, config/account-security-context.xml More details on how to configure spring and so forth can be found at [1] Another thing I usually do is to separate Spring bean wiring from it's configuration, this way you can use different configurations for different locations. [1] - http://static.springsource.org/osgi/docs/1.2.1/reference/html/app-deploy.html#app-deploy:headers > Hi Achim > > what do you mean by "Now you just need to replace your property code > by the following."? > > does this mean i need to remove my spring > > <bean id="propertyConfigurer" > class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> > <property name="systemPropertiesModeName" > value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> > <property name="location" value="classpath:com/.../resources.properties" > /> > </bean> > > as well? > > I am hoping to leave my spring config untouched until we fully > OSGIzing it, so that my current test still functional as standlone > spring test > > Thank you > > -Dan > > > On Sun, Mar 13, 2011 at 12:09 PM, Achim Nierbeck > <[email protected]> wrote: >> Hi Dan, >> >> yes it is. >> >> first of all you need to make sure you got a cfg file in your etc folder >> with a name that matches a "PID" - PersistentID >> e.g. my.very.special.resources.cfg >> where my.very.special.resources is the pid. >> This way the FileInstaller takes this cfg file and tells the config >> admin service to provide a configuration for that pid. >> >> Now you just need to replace your property code by the following. >> >> <osgix:cm-properties id="cfg.with.defaults" >> persistent-id="my.very.special.resources"> >> <beans:prop key="host">localhost</beans:prop> >> <beans:prop key="port">3306</beans:prop> >> </osgix:cm-properties> >> >> >> >> It can also be found at [1] >> >> >> Regards, Achim >> >> >> [1] - >> http://static.springsource.org/osgi/docs/1.2.1/reference/html/compendium.html#compendium:cm >> >> >>> Hello, >>> >>> My jar ( spring bundle ) has a default set of configurations via >>> >>> <bean id="propertyConfigurer" >>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> >>> <property name="systemPropertiesModeName" >>> value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> >>> <property name="location" >>> value="classpath:com/.../resources.properties" /> >>> </bean> >>> >>> This way I can override the default properties using system >>> properties ( ie pass in -Dxuy=value to JVM ) >>> >>> Now I'd like to deploy my bundle to Karaf, is there a way for me to >>> setup Karaf/osgi's configAdmin to to use a config file under karaf's >>> etc directory to override my default properties? >>> >>> Big thanks ahead. >>> >>> -Dan >>
