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