[forge-issues] [JBoss JIRA] (FORGE-1007) Furnace container should support pluggable service providers.

Lincoln Baxter III (JIRA) jira-events at lists.jboss.org
Fri Jul 12 15:36:20 EDT 2013


     [ https://issues.jboss.org/browse/FORGE-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lincoln Baxter III closed FORGE-1007.
-------------------------------------

         Assignee: Lincoln Baxter III
    Fix Version/s: 2.0.0.Alpha7
                       (was: 2.x Future)
       Resolution: Done


Completed with introduction of "org.jboss.forge.furnace:container-api:forge-addon" and the org.jboss.forge.furnace.lifecycle.AddonLifecycleProducer SPI.
                
> Furnace container should support pluggable service providers.
> -------------------------------------------------------------
>
>                 Key: FORGE-1007
>                 URL: https://issues.jboss.org/browse/FORGE-1007
>             Project: Forge
>          Issue Type: Feature Request
>          Components: Furnace (Container)
>    Affects Versions: 2.0.0.Alpha6
>            Reporter: Lincoln Baxter III
>            Assignee: Lincoln Baxter III
>             Fix For: 2.0.0.Alpha7
>
>
> {code}11:49:28 AM lincolnthree1: gastaldi: I am considering creating a furnace-cdi addon
> 11:50:22 AM lincolnthree1: if all addons depended on this, it would make it a lot easier to support pluggable addon containers, instead of assuming CDI based on beans.xml
> 11:50:32 AM lincolnthree1: they could depend on that instead of furnace-api
> 11:50:43 AM lincolnthree1: and it would no longer need to be <provided> scope
> 11:51:21 AM lincolnthree1: i would say that it could wait for Forge 2.1
> 11:51:23 AM lincolnthree1: but...
> 11:51:29 AM lincolnthree1: it would likely not be a backwards compatible change.
> 11:52:16 AM lincolnthree1: it's pretty complicated though
> 11:52:22 AM lincolnthree1: so i'll probably put it off
> 11:52:40 AM lincolnthree1: we need to get business value first
> 11:52:42 AM lincolnthree1: and we don't need that atm
> 11:53:08 AM lincolnthree1: but… what we could do is use the addon as a marker
> 11:53:18 AM lincolnthree1: that would be simpler than actually implementing it all
> 11:53:23 AM lincolnthree1: it would still bring in the APIs
> 11:53:29 AM lincolnthree1: but wouldn't really change the internals
> 11:55:24 AM gastaldi: hummm
> 11:55:31 AM gastaldi: that would be interesting
> 11:55:32 AM lincolnthree1: actually, that might very well work
> 11:55:57 AM gastaldi: I think we should do it for 2.0
> 11:56:00 AM lincolnthree1: in the end, this addon would register a service called "AddonInitializer" that handles the startup/shutdown of the addon (aka, addon Runnable)
> 11:56:02 AM lincolnthree1: yeah me too
> 11:56:15 AM lincolnthree1: Furnace could get that instance from the addon itself using ServiceLoader
> 11:56:32 AM lincolnthree1: then it would call it and the lifecycle comes from the addon itself!!
> 11:56:41 AM lincolnthree1: brilliant!
> 11:57:07 AM lincolnthree1: a classloading-only addon just becomes one, then, that doesnt have an AddonInitializer
> 11:57:10 AM lincolnthree1: I like it
> 11:57:11 AM lincolnthree1: a lot
> 11:57:58 AM gastaldi: JIRA that sh*t
> 11:58:18 AM lincolnthree1: it maybe already
> 11:58:23 AM lincolnthree1: but i'll add these notes if it is
> gegastaldi [~gastaldi at redhat/jboss/gastaldi] entered the room. (11:58:33 AM)
> mode (+o gegastaldi) by ChanServ (11:58:33 AM)
> 12:00:04 PM lincolnthree1: gastaldi: getting lunch and relocating
> 12:00:06 PM lincolnthree1: back in a bit
> 12:00:35 PM gegastaldi: K
> 12:02:17 PM gegastaldi: That would enable CDI extensions
> 12:02:26 PM gegastaldi: On each addon
> 12:02:43 PM lincolnthree1: gegastaldi: maybe
> 12:02:46 PM lincolnthree1: gegastaldi: hopefully{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the forge-issues mailing list