我如何以编程方式获取String的OSGi捆绑包状态?

问题描述 投票:0回答:1

据我所知,我可以通过执行bundle.getState()来以编程方式获取捆绑状态,该方法将根据int或以Bundle.ACTIVEBundle.INSTALLEDBundle.RESOLVED等表示的状态返回状态捆绑包。由于某些原因,我需要以String的形式获取状态值,例如“ ACTIVE”,“ INSTALLED”,“ RESOLVED”等。该怎么做?

java osgi osgi-bundle
1个回答
1
投票

您必须进行自己的切换... OSGi在Java枚举之前就已启动。

类似:

    private static String toState(int state) {
        switch (state) {
        case Bundle.UNINSTALLED:
            return "UNINSTALLED";
        case Bundle.INSTALLED:
            return "INSTALLED";
        case Bundle.RESOLVED:
            return "RESOLVED";
        case Bundle.STARTING:
            return "STARTING";
        case Bundle.STOPPING:
            return "STOPPING";
        case Bundle.ACTIVE:
            return "ACTIVE";
        }
        return null;
    }
© www.soinside.com 2019 - 2024. All rights reserved.