Hi You can @inject BundleContext, I can find couple of examples ?
Regards JB Le jeu. 27 oct. 2022 à 20:13, Steinar Bang <[email protected]> a écrit : > I have this command, not touched since 2017 (because I stopped needing > it). > > Is it possible to inject/access the BundleContext of the current bundle > in this class? > > @Command(scope="ukelonn", name="release-liquibase-lock", description = > "Forcibly release the Liquibase changelog lock") > @Service > public class KarafReleaseLiquibaseLockCommand implements Action { > @Reference > UkelonnService ukelonn; > > @Override > public Object execute() throws Exception { > DataSource datasource = ukelonn.getDataSource(); > UkelonnLiquibase liquibase = new UkelonnLiquibase(); > try (Connection connection = datasource.getConnection()) { > liquibase.forceReleaseLocks(connection); > } > System.out.println("Forcibly unlocked the Liquibase changelog > lock"); // NOSONAR This is command output and should not go to a logger > return null; > } > } > > I need the BundleContext to be able to replace > ClassLoaderResourceAccessor[1] > with OSGiResourceAccessor[2] to try fixing the following stack trace[3] > in karaf.log. > > The liquibase setup seems to work, in spite of the stack trace, but it > looked like something that should be fixed, and changing to something > called OSGiResourceAccessor seemed like something that should be tried. > > Thanks! > > > - Steinar > > PS! For the curious I no longer need this command to clear the liquibase > changelog lock, because I figured out why the lock tended to get stuck: > karaf was occasionally brutally killed and restarted, sometimes in the > middle of the liquibase setup[4]. > > > References: > [1] < > https://github.com/liquibase/liquibase/blob/master/liquibase-core/src/main/java/liquibase/resource/ClassLoaderResourceAccessor.java#L19 > > > [2] < > https://github.com/liquibase/liquibase/blob/master/liquibase-core/src/main/java/liquibase/resource/OSGiResourceAccessor.java#L6 > > > [3] < > https://gist.github.com/steinarb/37b891b7e64df386e822b661991f5af0#file-karaf-log-L438 > > > [4] < > https://steinar.bang.priv.no/2019/11/28/how-i-learnt-about-linux-oom-killer/ > > > >
