>>>>> Steinar Bang <[email protected]>: > Is there a feature in karaf 4.4.6 that starts spi fly 1.3.7? > If so: which one?
The feature is called (surprisingly): "spifly" https://github.com/apache/karaf/blob/main/assemblies/features/specs/src/main/feature/feature.xml#L31 > And is it loaded by other features, The spifly feature is loaded/required by two other features groovy (which I'm pretty sure I don't load): https://github.com/apache/karaf/blob/main/assemblies/features/specs/src/main/feature/feature.xml#L154 cdi (which I'm probably loading through something else?) https://github.com/apache/karaf/blob/main/assemblies/features/specs/src/main/feature/feature.xml#L134 cdi is not, as far as I can tell, loaded by any other features in karaf. The shiro-core feature of shiro loads the spifly feature: https://github.com/apache/shiro/blob/main/support/features/src/main/resources/features.xml#L25 And the shiro-core feature I do load (probably pretty high up my feature dependency tree...?): https://github.com/steinarb/authservice/blob/master/authservice/authservice.web.security.dbrealm/src/main/feature/feature.xml#L9 So...? Is there a way to, so to speak, force the run-level of a particular bundle that is already loaded by a feature? Or any other way to end up with a spifly running at run-level 40? (why do I want it to run at run-level 40: I want to load liquibase-core and have SPI Fly do its work, before trying to use liquibase at run-level 80. Doesn't have to be 40, that's just an arbitrary pick on my behalf. But it has to be lower than 80). One other workaround could have been running everything at run-level 80 and have a component depending on the SPI services of liquibase. The problem with that, however, is that the services have cardinality multiple, so there is no way for a component to know when they are finished starting. I'm still thinking, but I take all ideas, and suggestions. Right now SPI Fly at run-level 80 eventually spin up all liquibase services (I can see them running bundle:services on the liquibase-core bundle), but too late (liquibase setup has already failed because the services weren't available whe needed). I guess I could lobby shiro to start SPI Fly at run-level 40...? (but I can see it if their response is "But why???" :-) )
