Hi, No, it isn't allowed. Placholders in blueprint only works as metadata, that said, only element which actually is underlying org.osgi.service.blueprint.reflect.ValueMetadata could be substituted during runtime. Those metadata elements generally are some thing like value="xxx" in xml.
Freeman ------------- Freeman Fang FuseSource Email:[email protected] Web: fusesource.com Twitter: freemanfang Blog: http://freemanfang.blogspot.com http://blog.sina.com.cn/u/1473905042 weibo: http://weibo.com/u/1473905042 On 2012-7-24, at 下午6:23, Ephemeris Lappis wrote: > Hello. > > I've tried to define in a blueprint a reference to an OSGi service using a > filter which value should be a property configured in an external > configuration file (etc/*.cfg). > > It works as expected and the service is actually found when the filter value > is just given as a simple string. > > <reference > id="my.db" > interface="javax.sql.DataSource" > filter="(osgi.jndi.service.name=jdbc/derby)" /> > > When I change the filter value using "${my.ds}", it fails, with this logged > error : > > org.osgi.service.blueprint.container.ComponentDefinitionException: > org.osgi.framework.InvalidSyntaxException: Invalid operator: > )(objectClass=javax.sql.DataSource)) > > I've checked my properties placeholder logging the property value from a > camel route, using {{my.ds}}, and the value is actually resolved. > > Somebody knows if property expressions are allowed in this filter attribute > ? > > Thanks for your help. > > > > > -- > View this message in context: > http://servicemix.396122.n5.nabble.com/Property-in-OSGi-service-reference-filter-attribute-tp5713964.html > Sent from the ServiceMix - User mailing list archive at Nabble.com.
