Skip to content

[Subtask]: Change TableService to SPI mode to support expansion of other implementation methods. #3762

@wardlican

Description

@wardlican

Search before asking

  • I have searched in the issues and found no similar issues.

Description

Solution Overview

  • Added a new SPI factory interface, TableServiceProvider (based on ServiceLoader).
  • Provides a default implementation, DefaultTableServiceProvider, and registers it in META-INF/services.
  • Added a new configuration option, TABLE_SERVICE_IMPL (string), with two supported syntaxes:
    -- Specify the provider name (e.g., default)
    -- Specify the implementation class name (e.g., org.apache.amoro.server.table.DefaultTableService)
  • Creates a TableService in the AmoroServiceContainer using a configuration-based loader method.
  • Retains the existing default behavior: Falling back to DefaultTableService when not configured.

Parent issue

#3670

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:subtaskSubtask of another issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions