[
https://issues.apache.org/jira/browse/FELIX-303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dennis Geurts updated FELIX-303:
--------------------------------
Attachment: proxy.patch.txt
Hi Marcel.
This issue, to me, sounds like a great improvement. In fact, I currently need
such functionality
to be able to register a proxy instead of the service itself to the framework.
However, the lifecycle callbacks and the dependency injections will have to
take place on the service instance itself.
Please find attached a very rudimentary implementation of the functionality
that I require. Maybe a good starting point for your implementation ?
Example usage:
Dummy (an interface) dummy = new DummyImpl();
MyProxy proxy = new MyProxy(dummy);
manager.add(createService()
.setInterface(Dummy.class.getName(), null)
.setImplementation(dummy)
.setProxy(proxy)
.add(createServiceDependency()
.setService(LogService.class)
.setRequired(false))
);
In your comment you mention the addition of some Object[] parameters. Can you
be a little bit more specific ?
Cheers, Dennis
> Support for compositions
> ------------------------
>
> Key: FELIX-303
> URL: https://issues.apache.org/jira/browse/FELIX-303
> Project: Felix
> Issue Type: New Feature
> Components: Dependency Manager
> Affects Versions: 0.8.0
> Reporter: Marcel Offermans
> Assignee: Marcel Offermans
> Fix For: 1.0.0
>
> Attachments: proxy.patch.txt
>
>
> When creating service implementations out of POJO's, the more complex
> implementations will often be composed out of several POJO's, using
> composition instead of inheritance. This means instead of one implementation,
> you have N implementations. The consequences of this are that for both the
> callbacks and the injected services, you want to be able to explicitly
> specify one of more instances, instead of assuming there's only one. The API
> needs to be extended to support this (basically adding a parameter of type
> Object[] for some of the methods).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.