You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2018/10/17 21:28:42 UTC

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

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