Hello Pierre,
your example worked fine. I got it working now, it was not related to
the Dependcy Manager directly. I messed because an Exception was
swallowed by a CompletableFuture.
Thanks a lot for your help.
Regards
Florian
On 06.07.2018 01:35, Pierre De Rop wrote:
Hello Florian,
I have tried to reproduce the problem, but it seems to work well; I have
committed a sample code which reflects the usecase you are describing here
[1].
Can you please clone it and give it a try (the sample code is built using
bndtools 3.4.0).
To build the sample:
git clone https://github.com/pderop/test.dm.factorypid.git
cd test.dm.factorypid
chmod a+x ./gradlew
./gradlew jar
./gradlew export.launch
the last command generates a ubber jar in
test.dm.factorypid/test/generated/distributions/executable/launch.jar
just run it:
cd test.dm.factorypid/test/generated/distributions/executable
java -jar launch.jar
you will see these logs:
Configurator: creating conf
JavacordConnector.configure: property=value
JavacordConnector.start
NOPCommandRegistry.run
now, from gogo, stop the bundle:
g! lb
START LEVEL 1
ID|State |Level|Name
0|Active | 0|System Bundle (5.6.10)|5.6.10
1|Active | 1|test (1.0.0.201807052324)|1.0.0.201807052324
2|Active | 1|Apache Felix Configuration Admin Service
(1.8.8)|1.8.8
3|Active | 1|Apache Felix Dependency Manager (4.4.1)|4.4.1
4|Active | 1|Apache Felix Gogo Command (1.0.2)|1.0.2
5|Active | 1|Apache Felix Gogo Runtime (1.0.10)|1.0.10
6|Active | 1|Apache Felix Gogo Shell (1.0.0)|1.0.0
7|Active | 1|Apache Felix Metatype Service (1.1.2)|1.1.2
stop 1
and you will see this logs:
JavacordConnector.stop
so, I wonder why you are overriding the init/start/stop/destroy callbacks
using :
setCallbacks(null, "connect", "disconnect", null);
This method is only used when you need to override the lifecycle
init/start/stop/destroy callbacks.
Maybe your component has "start"/"stop" callbacks, not
"connect"/"disconnect" callbacks ?
let me know if the sample works for you, maybe there is another thing I
have missed ?
regards
Pierre
[1] https://github.com/pderop/test.dm.factorypid
On Thu, Jul 5, 2018 at 6:43 PM, Florian Pattke <cap5...@web.de> wrote:
Hello,
I am using a FactoryConfigurationAdapterServer and I have problems to
unregister the services, when I stop the bundle.
Here is my activator code:
public void init(BundleContext bundleContext, DependencyManager
dependencyManager) throws Exception {
dependencyManager.add(
createFactoryConfigurationAdapterService(
JavacordConnector.SERVICE_PID,
"configure",
true,
JavacordConnectorConfiguration.class
)
.setImplementation(JavacordConnector.class)
.setCallbacks(null, "connect", "disconnect", null)
.add(
createServiceDependency()
.setService(CommandRegistry.class)
.setRequired(false)
.setDefaultImplementation(NOPCommandRegistry.class)
)
);
}
Situation:
- bundle is active
- factory adapter is registered
- via config file and ConfigAdmin is a JavacordConnector registered as well
Now when I stop the bundle nothing happens. All services are still
available, up and running.
How can achieve that all these services will be stopped, once I stop the
bundle?
Regards
Florian
---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org