{"id":21154941,"url":"https://github.com/forge/furnace-simple","last_synced_at":"2025-06-15T14:39:19.098Z","repository":{"id":11412733,"uuid":"13862605","full_name":"forge/furnace-simple","owner":"forge","description":"Simple (Native Java) Service Container for Furnace","archived":false,"fork":false,"pushed_at":"2022-06-13T16:04:49.000Z","size":350,"stargazers_count":0,"open_issues_count":3,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-04T22:41:35.775Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/forge.png","metadata":{"files":{"readme":"README.asciidoc","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-25T14:17:13.000Z","updated_at":"2022-06-13T14:12:48.000Z","dependencies_parsed_at":"2022-08-29T20:00:25.143Z","dependency_job_id":null,"html_url":"https://github.com/forge/furnace-simple","commit_stats":null,"previous_names":[],"tags_count":92,"template":false,"template_full_name":null,"purl":"pkg:github/forge/furnace-simple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forge%2Ffurnace-simple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forge%2Ffurnace-simple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forge%2Ffurnace-simple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forge%2Ffurnace-simple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forge","download_url":"https://codeload.github.com/forge/furnace-simple/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forge%2Ffurnace-simple/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259991224,"owners_count":22942587,"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":[],"created_at":"2024-11-20T11:08:22.020Z","updated_at":"2025-06-15T14:39:19.073Z","avatar_url":"https://github.com/forge.png","language":"Java","readme":"== Furnace Container: Simple\n:idprefix: id_ \n\nimage:https://forge.ci.cloudbees.com/job/furnace-simple/badge/icon[\"Build Status\", link=\"https://forge.ci.cloudbees.com/job/furnace-simple/\"]\nimage:http://img.shields.io/:license-EPL-blue.svg[\"License\", link=\"https://www.eclipse.org/legal/epl-v10.html\"]\n\nThis addon is a 'Furnace container' that provides *lifecycle* and *service registry* support for dependent addons. \nAddons may depend on this to provide service instances to dependencies.\n\n=== Dependencies: None\n\n== Setup\n\nThis Addon requires the following installation steps.\n\n=== Add configuration to pom.xml \n\nTo use this Furnace container, you must add it as a dependency in the *pom.xml* of your `forge-addon` classified artifact:\n\n      \u003cdependency\u003e\n         \u003cgroupId\u003eorg.jboss.forge.furnace.container\u003c/groupId\u003e\n         \u003cartifactId\u003esimple\u003c/artifactId\u003e\n         \u003cclassifier\u003eforge-addon\u003c/classifier\u003e\n         \u003cversion\u003e${version}\u003c/version\u003e\n      \u003c/dependency\u003e\n      \n=== Add classes to the simple service registry.\nIn order for dependencies to use your services, you must add service types to the service registry.\n\n== Features\n\nProvides simple service registration mechanism::\nService types should never extend the `org.jboss.forge.furnace.container.simple.Service` interface.\n+\n[source,java]\n----\npublic class ExampleService\n{\n   // ...\n}\n----\n+\nService types may also receive the `Furnace` container instance as a constructor parameter: \n+\n[source,java]\n----\npublic class ExampleService\n{\n   public ExampleService(Furnace furnace) {\n      // do something constructor-like\n   }\n}\n----\n+\nTo register a type as a service, a file must be created with the name\n`META-INF/services/org.jboss.forge.furnace.container.simple.Service`, and each service type name must be\nadded to this file on a separate line:\n+\nExample registration file:\n+\n[source,text]\n----\nMETA-INF/services/org.jboss.forge.furnace.container.simple.Service\n......\norg.example.ExampleService\norg.example.ExampleService2\norg.my.custom.MyService\n......\n----\nTIP: Services registered in this way must exist in the same JAR file as the registry file.\n\n\nProvides simple event listening mechanism::\n To register an `EventListener`, a file must be created with the name `META-INF/services/org.jboss.forge.furnace.container.simple.EventListener`, and each `EventListener` implementation type name must be added on a separate line:\n+\n[source,java]\n----\npublic class ExampleEventListener implements EventListener\n{\n   public void handleEvent(Object event, Annotation... qualifiers)\n   {\n      System.out.println(\"Handled event: \" + event)\n   }\n}\n----\n+\nExample registration file:\n[source,text]\n----\nMETA-INF/services/org.jboss.forge.furnace.container.simple.EventListener\n......\norg.example.ExampleEventListener\norg.example.ExampleEventListener2\norg.my.custom.MyEventListener\n......\n----\nTIP: Listeners registered in this way must exist in the same JAR file as the registry file.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforge%2Ffurnace-simple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforge%2Ffurnace-simple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforge%2Ffurnace-simple/lists"}