{"adoption": {"forks": 1437, "observed_at": "2026-08-28T04:08:37.855394+00:00", "stars": 4164}, "canonical_url": "https://ross.abutalabs.com/products/tx-lcn", "card": {"archived": false, "artifact_type": "framework", "description": "LCN distributed transaction framework, compatible with dubbo, spring cloud and Motan framework, supports various relational databases", "domain": ["microservices", "databases", "backend"], "enriched": true, "function": ["database", "middleware", "rpc"], "health_score": 20, "homepage": "https://www.codingapi.com", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["codingapi/tx-lcn"], "name": "codingapi/tx-lcn", "platform": ["jvm"], "pushed_at": "2023-09-06T07:27:14+00:00", "repo": "codingapi/tx-lcn", "stars": 4164, "tags": ["distributed-transactions", "lcn", "dubbo", "spring-cloud", "motan", "jta", "transaction-manager", "spring"], "topics": ["tx-lcn", "motan", "spring-cloud", "dubbo", "transaction", "jta"], "urls": [], "use_cases": ["manage distributed transactions across spring cloud microservices", "ensure data consistency with dubbo rpc calls", "coordinate transactions across multiple databases", "add distributed transaction support to motan services", "implement saga or tcc transaction patterns in java", "replace jta with a lightweight distributed transaction coordinator"], "what_it_is": "TX-LCN is a Java distributed transaction framework providing consistent transactions across microservices, compatible with Dubbo, Spring Cloud, and Motan RPC frameworks. It includes a transaction client (TC), transaction manager (TM), and communication protocol modules, supporting relational databases.", "when_to_avoid": ["you use non-JVM languages or non-relational databases", "you prefer modern alternatives like Seata with a larger active community", "your services can tolerate eventual consistency without distributed transactions"], "when_to_choose": ["you have java microservices using dubbo, spring cloud, or motan needing cross-service transactional consistency", "you want a dedicated transaction coordinator (TM) separate from application clients (TC)", "your stack uses relational databases like mysql"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tx-lcn", "repo": "codingapi/tx-lcn", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:37.855394+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:47.321561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bec2a7c2da7ae85c6ad146c9862bb2fd9a6e717c4e3fbc4923c8b48bfae8897", "fetched_at": "2026-08-28T04:08:37.855394+00:00", "kind": "readme", "missing": false, "url": "https://github.com/codingapi/tx-lcn"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3217, "days_push": 1092, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}