Skip to content

feat(node): implement runtime process manager and java launcher (#108) - #114

Merged
midagedev merged 2 commits into
mainfrom
feat/node-runtime-108
Feb 24, 2026
Merged

feat(node): implement runtime process manager and java launcher (#108)#114
midagedev merged 2 commits into
mainfrom
feat/node-runtime-108

Conversation

@midagedev

Copy link
Copy Markdown
Owner

Summary

  • add Java launcher entrypoint TcpMongoServerLauncher for external runtime process usage
  • extend TcpMongoServer with configurable host/port constructors
  • add Gradle helper task printLauncherClasspath for Node runtime bootstrap
  • implement Node startJongodbMemoryServer runtime manager with readiness wait, timeout handling, and graceful/forced stop
  • add runtime integration tests (mongodb driver ping/CRUD, 20-cycle start/stop, missing java binary, port-in-use failure)

Validation

  • npm run node:build
  • npm run node:typecheck
  • npm run node:test
  • ./.tooling/gradle-8.10.2/bin/gradle --no-daemon test

Issue

Closes #108
Part of #106

@midagedev

Copy link
Copy Markdown
Owner Author

Review note: waitForStartup attaches line/error/exit listeners but does not detach them after startup settles. In repeated start/stop workloads this can accumulate listeners and retained log buffers. Please add listener cleanup in both resolve and reject paths.

@midagedev

Copy link
Copy Markdown
Owner Author

Follow-up patch applied:

  • detached startup listeners (line/error/exit) after readiness/timeout/exit resolution in waitForStartup
  • reran npm run node:test (all pass)

@midagedev
midagedev merged commit 097aa7e into main Feb 24, 2026
5 checks passed
@midagedev
midagedev deleted the feat/node-runtime-108 branch February 24, 2026 09:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[node][runtime] Implement start/stop process manager for jongodb

1 participant