# SOFAArk

SOFAArk is a light-weight，java based classloader isolation framework.

Repository: https://github.com/sofastack/sofa-ark
Canonical: https://ross.abutalabs.com/products/sofaark
Homepage: https://www.sofastack.tech/projects/sofa-boot/sofa-ark-readme/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: sofa-ark, sofa-boot, classloader-isolation, sofastack
Last push: 2026-08-22T02:36:51+00:00
Link (homepage): https://www.sofastack.tech/projects/sofa-boot/sofa-ark-readme/
Link (site_page): https://www.sofastack.tech/projects/sofa-boot/faq

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 98, release rhythm 93, longevity 100
- inputs: {"age_days": 3096, "days_push": 12, "days_rel": 50, "gap_med": 21.0, "n_releases_24m": 13}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1638, forks 527 (observed 2026-08-28T04:05:15.109966+00:00)

## What it is
Jarslink 2.0 is an Ark Plugin built on SOFAArk that manages multi-application (multi-Biz) merged deployment on a single JVM, supporting dynamic install/uninstall, hot replacement, and cross-application JVM service communication. The project is in maintenance mode with its features merged into the Koupleless modular development framework, so new users should use Koupleless instead.

## Use cases
- deploy multiple Java applications in a single JVM to save resources
- hot-swap application modules at runtime without downtime
- isolate conflicting third-party dependencies between modules using classloader isolation
- replace cross-application RPC calls with in-JVM service calls to reduce latency
- dynamically upgrade shared components without requiring all dependent apps to upgrade
- run multiple Spring Boot / SOFABoot apps as Ark Biz modules in one container

## When to choose
- you are on the SOFAStack/SOFABoot stack and need merged deployment or class isolation
- you want to run several small apps in one JVM to cut resource overhead
- you need runtime dynamic install/uninstall or hot replacement of application modules

## When to avoid
- you are starting a new project - use Koupleless, which absorbed Jarslink's features
- you need a general-purpose application server or container orchestration rather than JVM-level modularity
- your applications are large and independently scalable, where separate deployment is simpler

## Facets
- artifact type: plugin
- maturity: maintenance
- function: plugin-system, middleware, deployment, concurrency
- domain: backend, developer-tools, microservices
- platform: jvm, cross-platform
- tags: sofaark, ark-plugin, multi-application-deployment, class-isolation, hot-deployment, merged-deployment, sofastack, spring-boot, java

## Member repositories
- sofastack/sofa-ark (main) score 97
- sofastack/sofa-jarslink (plugin) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:15.109966+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:30:23.062851+00:00, confidence not recorded.
  - readme: https://github.com/sofastack/sofa-ark (fetched 2026-08-28T04:05:15.109966+00:00, sha 85112cca4122)
  - homepage: https://www.sofastack.tech/projects/sofa-boot/sofa-ark-readme/ (fetched 2026-08-29T09:45:44.028474+00:00, sha c8ce592ac221)
  - site_page: https://www.sofastack.tech/projects/sofa-boot/faq (fetched 2026-08-29T09:45:44.032589+00:00, sha 031031143980)
- Data as of 2026-08-30T08:39:29.467469+00:00.
