Interface HostExtensionPoint
- All Known Subinterfaces:
A2aSkillset,A2aTransportExtension,McpToolset,TaskExecutorExtension
X-Plugin-Context manifest header). Implementations are
discovered from the plugin's child ApplicationContext and made available to host code
exclusively through PluginExtensionRegistry#extensions(Class) - never registered into
the root ApplicationContext's BeanFactory.
This is not a general-purpose SPI mechanism. Each concrete extension point
the host wants to support is its own interface extending HostExtensionPoint, defined
by the host, not by plugin authors - e.g. TaskExecutorExtension, the platform's first
real consumer.
Package placement for concrete extension points: this marker lives in
osgi.api.spring because it is part of the Spring-plugin-context contract - that is the
one thing every extension point shares. Concrete subtypes do not belong here;
they live in sibling packages under osgi.api named for their own domain (e.g.
osgi.api.tasks.TaskExecutorExtension). This marker's package is not a shared namespace
for every extension point - grouping unrelated extension points under spring would
wrongly imply they are Spring-specific, when the only Spring-specific thing about them is how
they are discovered.