Skip to content

Document InitialNaming Service Registry - Value 5 #57

@LSantha

Description

@LSantha

InitialNaming Service Registry

Document the InitialNaming Service Registry JNode concept in the wiki.

Value: 5

Concept Summary

Type-keyed singleton service registry implementing bind/lookup pattern with listener notifications. InitialNaming provides the foundation for JNode's plugin system and service discovery mechanism, serving as the central registry for all system services.

Key Files

  • core/src/core/org/jnode/naming/InitialNaming.java
  • core/src/core/org/jnode/naming/NameSpace.java
  • core/src/core/org/jnode/naming/AbstractNameSpace.java

Occurrences

~100 references in core/src/core

Wiki Status

NOT documented (only mentioned in Architecture.md)

Bridges

Plugin system, Boot sequence, Service discovery

Instructions

Skill to Use

Use the [[update-wiki|update-wiki skill]] (load with skill({ name: "update-wiki" })) for understanding JNode internals.

Context Research

Study InitialNaming.java and related naming classes to understand the bind/lookup mechanism. Review how services are registered and discovered during boot. Research the listener notification system and how it enables dynamic service management.

Update index.md

  • Pages table: Add entry for InitialNaming.md
  • Concepts → Pages table: Add "InitialNaming" mapping to [[InitialNaming]]
  • Source Path → Pages table: Add mappings for core/src/core/org/jnode/naming/
  • Task Routing table: Add relevant task route(s)

Task Routing Suggestions

  1. Plugin system: InitialNaming is central to plugin registration
  2. Service discovery: Understanding how services are found is crucial
  3. Boot sequence: Naming is initialized early in the boot process

Wiki Page Structure

# InitialNaming Service Registry

> Type-keyed singleton service registry implementing bind/lookup pattern.

## Overview
2-3 paragraph explanation of InitialNaming, its role in the service discovery system, and how it supports the plugin architecture.

## Key Components
| Class / File | Role |
|---|---|
| `core/src/core/org/jnode/naming/InitialNaming.java` | Main service registry implementation |
| `core/src/core/org/jnode/naming/NameSpace.java` | Name space abstraction |
| `core/src/core/org/jnode/naming/AbstractNameSpace.java` | Base name space implementation |

## How It Works
Step-by-step explanation of how services are bound, looked up, and discovered. Include the listener mechanism for dynamic updates.

## Gotchas & Non-Obvious Behavior
- Service names must be unique within their type
- Listener notifications must be handled carefully
- The registry is initialized early in boot and may not be available during early startup

## Related Pages
- [[Plugin-System]]
- [[Boot-Sequence]]
- [[Service-Discovery]]

Related Concepts: Plugin system, Service discovery, Boot sequence, Naming, Registry pattern

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions