Author: pderop
Date: Wed Oct 17 21:28:42 2018
New Revision: 1844178

URL: http://svn.apache.org/viewvc?rev=1844178&view=rev
Log:
Fluent service properties don't work using Java 9/10/11

Modified:
    
felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/guides/whatsnew-r12.mdtext

Modified: 
felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/guides/whatsnew-r12.mdtext
URL: 
http://svn.apache.org/viewvc/felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/guides/whatsnew-r12.mdtext?rev=1844178&r1=1844177&r2=1844178&view=diff
==============================================================================
--- 
felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/guides/whatsnew-r12.mdtext
 (original)
+++ 
felix/site/trunk/content/documentation/subprojects/apache-felix-dependency-manager/guides/whatsnew-r12.mdtext
 Wed Oct 17 21:28:42 2018
@@ -19,6 +19,7 @@ Notice:    Licensed to the Apache Softwa
 This section describes some enhancements and API modification which have been 
performed in the dependency manager r12 release.
 Mainly,
 
+- Support for Java 9/10/11
 - annotation API has been simplified
 - support for user-defined annotation property types
 - DM API has been reworked to simplify the definition of aspect and adapters.
@@ -203,7 +204,7 @@ Essentially, the following enhancements
 
 ### Not backward compatible annotation changes
 
-This sections describes what has been removed in the annotation api:
+The following has been removed in the annotation api:
 
 - removed FactoryConfigurationAdapterService annotation, which was too 
verbose. when you need to define some factory pid component, just reuse the 
@Component annotation and declare the new factoryPid/propagate/updated 
attributes that have been added in the @Component annotation
 - Removed PropertyMetadata annotation: it was related to metatypes, but as of 
today, osgi metatypes can be defined using standard metatype annotations. No 
need to support this anymore.
@@ -212,3 +213,15 @@ This sections describes what has been re
 - Removed PropertyMetaData annotation, which was related to osgi metatype. 
Simply use standard metatype annotation.
 - propagated configuration dependencies are now taking precedence over 
component service properties, meaning that a component is defined with some 
service properties, then the service properties which are also found from the 
propagated configuration will be overriden (by the configuration properties)
 
+When using Java 9 / 10 / 11, then you can't use fluent service properties with 
dm-lambda, because in these new jdk version, the -parameters option does not 
generate anymore the lambda parameters metadata.
+So, the following example won't work **using jdk 9/10/11** (but still works 
using Java 8):
+
+    :::java
+    component(comp -> comp.impl(Foo.class).provides(FooService.class, property 
-> "service property value"));
+
+With Java 9/10/11, use this instead:
+
+    :::java
+    component(comp -> comp.impl(Foo.class).provides(FooService.class, 
"property", "service property value"));
+
+The fluent service properties using lambda expression maybe removed in future 
DM version if a solution is not found to make it working with Java 9/10/11
\ No newline at end of file


Reply via email to