PengZheng commented on issue #766:
URL: https://github.com/apache/celix/issues/766#issuecomment-2261890713

   > Note that the service name is represented in the service properties under 
the property name objectClass, this is inherited for the Java OSGi 
specification. Also note that for Celix - in contrast with Java OSGi - it is 
only possible to register a single interface per service registration in the 
Apache Celix Framework. This restriction was added because C does not 
(natively) supports multiple interfaces (struct with function pointers) on a 
single object/pointer.
   
   This simply means a service instance of a given service type can not serve 
as a service instance of a difference service type. Because in C we don't have 
multiple inheritance. I cannot see how it is related to your requirement 1.
   
   If your intention is indeed to provide different instances of the same type 
to different consumers. That is what we call [Service On 
Demand](https://github.com/apache/celix/blob/master/documents/patterns.md#service-on-demand-sod-pattern)
 pattern. Check the implementation of [log_admin 
bundle](https://github.com/apache/celix/tree/master/bundles/logging/log_admin) 
and the 
[log_helper](https://github.com/apache/celix/tree/master/bundles/logging/log_helper)
 to figure out what exactly is the so called Service On Demand and how to 
implement your own.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@celix.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to