Interface FrameworkMBean


  • public interface FrameworkMBean
    The FrameworkMbean provides mechanisms to exert control over the framework. For many operations, it provides a batch mechanism to avoid excessive message passing when interacting remotely.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      long[] getDependencyClosure​(long[] bundles)
      Returns the dependency closure for the specified bundles.
      int getFrameworkStartLevel()
      Retrieve the framework start level
      int getInitialBundleStartLevel()
      Answer the initial start level assigned to a bundle when it is first started
      java.lang.String getProperty​(java.lang.String key)
      Returns the value of the specified property.
      long[] getRemovalPendingBundles()
      Returns the bundles IDs that have non-current, in use bundle wirings.
      long installBundle​(java.lang.String location)
      Install the bundle indicated by the bundleLocations
      long installBundleFromURL​(java.lang.String location, java.lang.String url)
      Install the bundle indicated by the bundleLocations
      javax.management.openmbean.CompositeData installBundles​(java.lang.String[] locations)
      Batch install the bundles indicated by the list of bundleLocationUrls
      javax.management.openmbean.CompositeData installBundlesFromURL​(java.lang.String[] locations, java.lang.String[] urls)
      Batch install the bundles indicated by the list of bundleLocationUrls
      void refreshBundle​(long bundleIdentifier)
      Force the update, replacement or removal of the packages identified by the specified bundle.
      boolean refreshBundleAndWait​(long bundleIdentifier)  
      void refreshBundles​(long[] bundleIdentifiers)
      Force the update, replacement or removal of the packages identified by the list of bundles.
      javax.management.openmbean.CompositeData refreshBundlesAndWait​(long[] bundleIdentifiers)  
      javax.management.openmbean.CompositeData resolve​(long[] bundleIdentifiers)
      Same as resolveBundles(long[]) but with a more detailed return type.
      boolean resolveBundle​(long bundleIdentifier)
      Resolve the bundle indicated by the unique symbolic name and version
      boolean resolveBundles​(long[] bundleIdentifiers)
      Batch resolve the bundles indicated by the list of bundle identifiers
      void restartFramework()
      Restart the framework by updating the system bundle
      void setBundleStartLevel​(long bundleIdentifier, int newlevel)
      Set the start level for the bundle identifier
      javax.management.openmbean.CompositeData setBundleStartLevels​(long[] bundleIdentifiers, int[] newlevels)
      Set the start levels for the list of bundles.
      void setFrameworkStartLevel​(int newlevel)
      Set the start level for the framework
      void setInitialBundleStartLevel​(int newlevel)
      Set the initial start level assigned to a bundle when it is first started
      void shutdownFramework()
      Shutdown the framework by stopping the system bundle
      void startBundle​(long bundleIdentifier)
      Start the bundle indicated by the bundle identifier
      javax.management.openmbean.CompositeData startBundles​(long[] bundleIdentifiers)
      Batch start the bundles indicated by the list of bundle identifier
      void stopBundle​(long bundleIdentifier)
      Stop the bundle indicated by the bundle identifier
      javax.management.openmbean.CompositeData stopBundles​(long[] bundleIdentifiers)
      Batch stop the bundles indicated by the list of bundle identifier
      void uninstallBundle​(long bundleIdentifier)
      Uninstall the bundle indicated by the bundle identifier
      javax.management.openmbean.CompositeData uninstallBundles​(long[] bundleIdentifiers)
      Batch uninstall the bundles indicated by the list of bundle identifiers
      void updateBundle​(long bundleIdentifier)
      Update the bundle indicated by the bundle identifier
      void updateBundleFromURL​(long bundleIdentifier, java.lang.String url)
      Update the bundle identified by the bundle identifier
      javax.management.openmbean.CompositeData updateBundles​(long[] bundleIdentifiers)
      Batch update the bundles indicated by the list of bundle identifier.
      javax.management.openmbean.CompositeData updateBundlesFromURL​(long[] bundleIdentifiers, java.lang.String[] urls)
      Update the bundle uniquely identified by the bundle symbolic name and version using the contents of the supplied urls.
      void updateFramework()
      Update the framework by updating the system bundle.
    • Method Detail

      • getDependencyClosure

        long[] getDependencyClosure​(long[] bundles)
                             throws java.io.IOException
        Returns the dependency closure for the specified bundles.

        A graph of bundles is computed starting with the specified bundles. The graph is expanded by adding any bundle that is either wired to a package that is currently exported by a bundle in the graph or requires a bundle in the graph. The graph is fully constructed when there is no bundle outside the graph that is wired to a bundle in the graph. The graph may contain UNINSTALLED bundles that are removal pending.

        Parameters:
        bundles - The initial bundles IDs for which to generate the dependency closure.
        Returns:
        A bundle ID array containing a snapshot of the dependency closure of the specified bundles, or an empty array if there were no specified bundles.
        Throws:
        java.io.IOException - if the operation failed
      • getFrameworkStartLevel

        int getFrameworkStartLevel()
                            throws java.io.IOException
        Retrieve the framework start level
        Returns:
        the framework start level
        Throws:
        java.io.IOException - if the operation failed
      • getInitialBundleStartLevel

        int getInitialBundleStartLevel()
                                throws java.io.IOException
        Answer the initial start level assigned to a bundle when it is first started
        Returns:
        the start level
        Throws:
        java.io.IOException - if the operation failed
      • getProperty

        java.lang.String getProperty​(java.lang.String key)
                              throws java.io.IOException
        Returns the value of the specified property. If the key is not found in the Framework properties, the system properties are then searched. The method returns null if the property is not found.
        Parameters:
        key - The name of the requested property.
        Returns:
        The value of the requested property, or null if the property is undefined.
        Throws:
        java.io.IOException - if the operation failed
      • getRemovalPendingBundles

        long[] getRemovalPendingBundles()
                                 throws java.io.IOException
        Returns the bundles IDs that have non-current, in use bundle wirings. This is typically the bundles which have been updated or uninstalled since the last call to refreshBundles(long[]).
        Returns:
        A bundle ID array containing a snapshot of the bundles which have non-current, in use bundle wirings, or an empty array if there are no such bundles.
        Throws:
        java.io.IOException - if the operation failed
      • installBundle

        long installBundle​(java.lang.String location)
                    throws java.io.IOException
        Install the bundle indicated by the bundleLocations
        Parameters:
        location - the location of the bundle to install
        Returns:
        the bundle id the installed bundle
        Throws:
        java.io.IOException - if the operation does not succeed
      • installBundleFromURL

        long installBundleFromURL​(java.lang.String location,
                                  java.lang.String url)
                           throws java.io.IOException
        Install the bundle indicated by the bundleLocations
        Parameters:
        location - the location to assign to the bundle
        url - the URL which will supply the bytes for the bundle
        Returns:
        the bundle id the installed bundle
        Throws:
        java.io.IOException - if the operation does not succeed
      • refreshBundle

        void refreshBundle​(long bundleIdentifier)
                    throws java.io.IOException
        Force the update, replacement or removal of the packages identified by the specified bundle.
        Parameters:
        bundleIdentifier - the bundle identifier
        Throws:
        java.io.IOException - if the operation failed
      • refreshBundleAndWait

        boolean refreshBundleAndWait​(long bundleIdentifier)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • refreshBundles

        void refreshBundles​(long[] bundleIdentifiers)
                     throws java.io.IOException
        Force the update, replacement or removal of the packages identified by the list of bundles.
        Parameters:
        bundleIdentifiers - The identifiers of the bundles to refresh, or null for all bundles with packages pending removal.
        Throws:
        java.io.IOException - if the operation failed
      • refreshBundlesAndWait

        javax.management.openmbean.CompositeData refreshBundlesAndWait​(long[] bundleIdentifiers)
                                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • resolveBundle

        boolean resolveBundle​(long bundleIdentifier)
                       throws java.io.IOException
        Resolve the bundle indicated by the unique symbolic name and version
        Parameters:
        bundleIdentifier - the bundle identifier
        Returns:
        true if the bundle was resolved, false otherwise
        Throws:
        java.io.IOException - if the operation does not succeed
        java.lang.IllegalArgumentException - if the bundle indicated does not exist
      • resolveBundles

        boolean resolveBundles​(long[] bundleIdentifiers)
                        throws java.io.IOException
        Batch resolve the bundles indicated by the list of bundle identifiers
        Parameters:
        bundleIdentifiers - The identifiers of the bundles to resolve, or null to resolve all unresolved bundles.
        Returns:
        true if the bundles were resolved, false otherwise
        Throws:
        java.io.IOException - if the operation does not succeed
      • resolve

        javax.management.openmbean.CompositeData resolve​(long[] bundleIdentifiers)
                                                  throws java.io.IOException
        Same as resolveBundles(long[]) but with a more detailed return type.
        Parameters:
        bundleIdentifiers -
        Returns:
        Throws:
        java.io.IOException
      • restartFramework

        void restartFramework()
                       throws java.io.IOException
        Restart the framework by updating the system bundle
        Throws:
        java.io.IOException - if the operation failed
      • setBundleStartLevel

        void setBundleStartLevel​(long bundleIdentifier,
                                 int newlevel)
                          throws java.io.IOException
        Set the start level for the bundle identifier
        Parameters:
        bundleIdentifier - the bundle identifier
        newlevel - the new start level for the bundle
        Throws:
        java.io.IOException - if the operation failed
      • setFrameworkStartLevel

        void setFrameworkStartLevel​(int newlevel)
                             throws java.io.IOException
        Set the start level for the framework
        Parameters:
        newlevel - the new start level
        Throws:
        java.io.IOException - if the operation failed
      • setInitialBundleStartLevel

        void setInitialBundleStartLevel​(int newlevel)
                                 throws java.io.IOException
        Set the initial start level assigned to a bundle when it is first started
        Parameters:
        newlevel - the new start level
        Throws:
        java.io.IOException - if the operation failed
      • shutdownFramework

        void shutdownFramework()
                        throws java.io.IOException
        Shutdown the framework by stopping the system bundle
        Throws:
        java.io.IOException - if the operation failed
      • startBundle

        void startBundle​(long bundleIdentifier)
                  throws java.io.IOException
        Start the bundle indicated by the bundle identifier
        Parameters:
        bundleIdentifier - the bundle identifier
        Throws:
        java.io.IOException - if the operation does not succeed
        java.lang.IllegalArgumentException - if the bundle indicated does not exist
      • stopBundle

        void stopBundle​(long bundleIdentifier)
                 throws java.io.IOException
        Stop the bundle indicated by the bundle identifier
        Parameters:
        bundleIdentifier - the bundle identifier
        Throws:
        java.io.IOException - if the operation does not succeed
        java.lang.IllegalArgumentException - if the bundle indicated does not exist
      • uninstallBundle

        void uninstallBundle​(long bundleIdentifier)
                      throws java.io.IOException
        Uninstall the bundle indicated by the bundle identifier
        Parameters:
        bundleIdentifier - the bundle identifier
        Throws:
        java.io.IOException - if the operation does not succeed
        java.lang.IllegalArgumentException - if the bundle indicated does not exist
      • updateBundle

        void updateBundle​(long bundleIdentifier)
                   throws java.io.IOException
        Update the bundle indicated by the bundle identifier
        Parameters:
        bundleIdentifier - the bundle identifier
        Throws:
        java.io.IOException - if the operation does not succeed
        java.lang.IllegalArgumentException - if the bundle indicated does not exist
      • updateBundleFromURL

        void updateBundleFromURL​(long bundleIdentifier,
                                 java.lang.String url)
                          throws java.io.IOException
        Update the bundle identified by the bundle identifier
        Parameters:
        bundleIdentifier - the bundle identifier
        url - the URL to use to update the bundle
        Throws:
        java.io.IOException - if the operation does not succeed
        java.lang.IllegalArgumentException - if the bundle indicated does not exist
      • updateBundlesFromURL

        javax.management.openmbean.CompositeData updateBundlesFromURL​(long[] bundleIdentifiers,
                                                                      java.lang.String[] urls)
                                                               throws java.io.IOException
        Update the bundle uniquely identified by the bundle symbolic name and version using the contents of the supplied urls.
        Parameters:
        bundleIdentifiers - the array of bundle identifiers
        urls - the array of URLs to use to update the bundles
        Returns:
        the resulting state from executing the operation
        Throws:
        java.io.IOException - if the operation does not succeed
        java.lang.IllegalArgumentException - if the bundle indicated does not exist
        See Also:
        BATCH_ACTION_RESULT_TYPE for the precise specification of the CompositeData type representing the returned result.
      • updateFramework

        void updateFramework()
                      throws java.io.IOException
        Update the framework by updating the system bundle.
        Throws:
        java.io.IOException - if the operation failed