Class JenaSystem


  • public class JenaSystem
    extends java.lang.Object
    Jena "system" - simple controls for ensuring components are loaded and initialized.

    All initialization should be concurrent and thread-safe. In particular, some subsystems need initialization in some sort of order (e.g. ARQ before TDB).

    This is achieved by "levels": levels less than 100 are considered "Jena system levels" and are reserved.

    • 0 - reserved
    • 10 - jena-core
    • 20 - RIOT
    • 30 - ARQ
    • 40 - TDB
    • 100-500 - Fuseki initialization, including customizations
    • 9999 - other
    See also the notes on Jena initialization.
    • Field Detail

      • DEBUG_INIT

        public static boolean DEBUG_INIT
        Development support - flag to enable output during initialization. Output to System.err, not a logger to avoid the risk of recursive initialization.
    • Constructor Detail

      • JenaSystem

        public JenaSystem()
    • Method Detail

      • shutdown

        public static void shutdown()
        Shutdown subsystems
      • setSubsystemRegistry

        public static void setSubsystemRegistry​(JenaSubsystemRegistry thing)
        Set the JenaSubsystemRegistry. To have any effect, this function must be called before any other Jena code, and especially before calling JenaSystem.init().
      • forEach

        public static void forEach​(java.util.function.Consumer<JenaSubsystemLifecycle> action)
        Call an action on each item in the registry. Calls are made sequentially and in increasing level order. The exact order within a level is not specified; it is not registration order.
        Parameters:
        action -
      • logLifecycle

        public static void logLifecycle​(java.lang.String fmt,
                                        java.lang.Object... args)
        Output a debugging message if DEBUG_INIT is set