{"id":24515996,"url":"https://github.com/ph4r05/javarmimanagerworker","last_synced_at":"2026-05-17T20:03:21.329Z","repository":{"id":57725908,"uuid":"46746145","full_name":"ph4r05/javaRmiManagerWorker","owner":"ph4r05","description":"Java RMI manager worker implementation for parallelization across computers","archived":false,"fork":false,"pushed_at":"2015-12-03T02:22:55.000Z","size":38,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-22T01:20:57.465Z","etag":null,"topics":["java","java-library","maven","parallelization","worker-manager"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ph4r05.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-23T20:29:27.000Z","updated_at":"2017-02-21T21:24:48.000Z","dependencies_parsed_at":"2022-09-02T03:41:31.134Z","dependency_job_id":null,"html_url":"https://github.com/ph4r05/javaRmiManagerWorker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph4r05%2FjavaRmiManagerWorker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph4r05%2FjavaRmiManagerWorker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph4r05%2FjavaRmiManagerWorker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ph4r05%2FjavaRmiManagerWorker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ph4r05","download_url":"https://codeload.github.com/ph4r05/javaRmiManagerWorker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243719373,"owners_count":20336596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","java-library","maven","parallelization","worker-manager"],"created_at":"2025-01-22T01:20:21.836Z","updated_at":"2026-05-17T20:03:16.294Z","avatar_url":"https://github.com/ph4r05.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# javaRmiManagerWorker\nJava RMI manager worker implementation for computation parallelization across multiple computers.\n\n[![Build Status](https://travis-ci.org/ph4r05/javaRmiManagerWorker.svg?branch=master)](https://travis-ci.org/ph4r05/javaRmiManagerWorker)\n[![Coverity Status](https://scan.coverity.com/projects/7182/badge.svg)](https://scan.coverity.com/projects/ph4r05-javarmimanagerworker)\n\n## Description\nJava Remote Method Invocation is used for communication between manager and worker processes.\n\nSimple worker manager pattern is implemented. Manager is one process, generating new jobs and submitting them for computation.\nThere are multiple workers connected to manager and polling its job queue.\n\nManager process creates jobs for computation, adding them to the internal job queue.\nAs worker process connects to the manager process, it registers itself. Registration allows provider to call\nmethods on the worker.\n\nWhen worker has a free working thread available it asks manager for a new job for processing.\nProgress monitoring and cancellation are supported. Progress is signalized from the task, through worker to the manager.\nSame code flow is followed when checking for cancellation of given task.\n\nWhen computation finishes, manager callback for job finished is called with job object and job result.\n\nEach worker generates unique UUID after initialization. Under this UUID it is registered in the manager.\n\nIn order to test the code, use provided shell scripts to start one manager first. Then start multiple worker processes.\nAs manager finishes its work, it terminates all worker processes.\n\n## Maven repository\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.klinec\u003c/groupId\u003e\n  \u003cartifactId\u003eadmwl\u003c/artifactId\u003e\n  \u003cversion\u003e1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Maven project structure\nMain repository contains simple parent maven project which includes two sub-modules.\n* Library\n* Demo\n  \n### Library\n Main maven project with the library itself. It is a lightweight project with only dependency - *SLF4J*. This maven project\n is about to be submitted to the Maven Central Repository so you can use it in your projects.\n \n### Demo\n Maven project including library project, with Main method. Illustrates usage of the library and demonstrates a simple \n example of usage. Contains another dependencies. This repository is intended to be only illustrative, not present in the \n Maven Central Repository.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fph4r05%2Fjavarmimanagerworker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fph4r05%2Fjavarmimanagerworker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fph4r05%2Fjavarmimanagerworker/lists"}