Kabir Khan [http://community.jboss.org/people/kabir.khan%40jboss.com] replied to the discussion
"ClassPool bootstrap refactoring" To view the discussion, visit: http://community.jboss.org/message/542584#542584 -------------------------------------------------------------- IRC discussion > > kkhan:ping ALR > > [14:24]ALR:kkhan: Hey > > [14:24]kkhan:ALR: Regarding my bootstrap stuff I think you're right > > [14:24] ggear joined the chat room. > > [14:24] ggear was granted voice by ChanServ. > > [14:25]kkhan:too many dependencies on classpools and other stuuff > > [14:25]ALR:kkhan: Yup, saw your post. > > [14:25]kkhan:ALR: Are you ok with me adding the correct hooks for events > where I need them, or do you prefer doing so yourself > > [14:25]ALR:Also we should be making sure all commits/features get testied > > [14:26]ALR:kkhan: Sure, you can add them. I'll give some opinions and help > guide as you need. > > [14:26]kkhan:ALR: Yeah, what I had wasn't really meant to be committed, it > was more a basis for further instructions > > [14:26]kkhan:*further discussion > > [14:26]ALR:kkhan: Ah OK. I put it in to facilitate testing > > [14:26]ALR:But hadn't really planned on releasing like that > > [14:26]ALR:kkhan: I'll reply to your post, but also > > [14:26]ALR:: > > [14:26]ALR:I got that ClassLoading SPI test passing > > [14:27]kkhan:ok cool > > [14:27]ALR:Let's see what events you need: > > [14:27]kkhan:ALR: It probably makes sense to rever what I had done to get rid > of all the deps > > [14:27]kkhan:and then do it properly > > [14:27]kkhan:so I didn't really look into the ClassLoading SPI test since > that was more deps > > [14:27]ALR: > http://anonsvn.jboss.org/repos/jbossas/projects/bootstrap/trunk/api/src/main/java/org/jboss/bootstrap/api/lifecycle/LifecycleState.java > > http://anonsvn.jboss.org/repos/jbossas/projects/bootstrap/trunk/api/src/main/java/org/jboss/bootstrap/api/lifecycle/LifecycleState.java > > [14:28]kkhan:I want something like PRE_KERNEL_BOOTSTRAP and > POST_KERNEL_BOOTSTRAP > > [14:29]kkhan:ALR: Sound ok? > > [14:29]ALR:kkhan: Not really in its current form > > [14:30]ALR:As "Kernel" is an MC construct > > [14:30]ALR:And these LifecycleStates are in the main API > > [14:30]kkhan:Actually, I probably don't need the PRE one that can be done > whenever > > [14:30]kkhan:i.e. early > > [14:30]ALR:kkhan: "INSTANCIATED" > > [14:30]ALR:Or maybe PRE_INIT > > [14:31]ALR:And the "post", when exactly does that need to happen? > > [14:31]kkhan:The post needs to happen after the kernel has been bootstrapped, > but before anything else has been deployed > > [14:32]ALR:kkhan: By "deployed", you mean processing the bootstrap XMLs? > > [14:32]kkhan:yes > > [14:32] pgier joined the chat room. > > [14:32] pgier was granted voice by ChanServ. > > [14:32]ALR:OK > > [14:32]ALR:Lemme look > > [14:33]kkhan:ALR: I think a PRE_CONFIG or POST_CONFIG state would do the > trick, to be raised by AbstractServer.doInitialize() somewhere > > [14:33]kkhan:That should be generic enough > > [14:33]ALR:Yep > > [14:33]kkhan:ALR: Ok, I'll go with that then > > [14:34]ALR:Just need to think of a good name. > > [14:34]ALR:I think "PRE_BOOTSTRAP", "POST_BOOTSTRAP"? > > [14:34]kkhan:Hmm, not sure > > [14:34] vblagoje joined the chat room. > > [14:35]ALR:That's essentially what we're doing. > > [14:35]kkhan:Since only AbtractMCServerBase calls bootstrap > > [14:35]ALR:The generic API knows about bootstraps. > > [14:35]kkhan:So where do I raise it? > > [14:35]ALR:Yes, but that's only because it's our only impl. > > [14:35]ALR:We could also, for instance, have a Fungal (JCA Kernel) > implementation. > > [14:36]ALR:So you'd fire the callbacks in AbstractMCServerBase, yes. > > [14:36]ALR:Or at a higher level, even better, if you could refactor to get > the right wiring. > > [14:37]kkhan:I think I'd like to trigger it from AbstractServer.doInitialize() > > [14:37]ALR: > http://anonsvn.jboss.org/repos/jbossas/projects/bootstrap/trunk/impl-base/src/main/java/org/jboss/bootstrap/impl/base/server/AbstractServer.java > > http://anonsvn.jboss.org/repos/jbossas/projects/bootstrap/trunk/impl-base/src/main/java/org/jboss/bootstrap/impl/base/server/AbstractServer.java > > [14:37]ALR:Yes, all you need to do is call "setState" > > [14:37]kkhan:Just need the name > > [14:38] smarlow is now known as smarlow_afk. > > [14:38]ALR:AbstractServer.doInitialize is now abstract > > [14:38]ALR:So again, some refactoring may be needed to get your pre/post > bootstrap hooks up at that level > > [14:38]ALR:kkhan: Why don't I take this? > > [14:38]ALR:I'll get you the hooks. > > [14:38]ALR:And refactor the events and the tests. > > [14:38]kkhan:ALR: Cool > > [14:38]ALR:Then you can extract out your ClassPool stuff. > > [14:39]ALR:And reintegrate it. > > [14:39]kkhan:ALR: Yeah, sounds good > > [14:39]kkhan:Thanks > > [14:39]ALR:kkhan: Where do you see the ClassPool logic going? > > [14:39]kkhan:ALR: I think that will go in the classpool project > > [14:40]kkhan:And then I'll modify AS MAin to set the correct event handlers > before booting the server > > [14:40]ALR:kkhan: Making ClassPool depend upon bootstrap-api? > > [14:40]kkhan:ALR: I haven't looked too much into which deps that would bring > in yet > > [14:40]ALR:kkhan: I think we should put it into bootstrap-impl-as. > > [14:41]ALR:kkhan: For 2 reasons: > > [14:41]kkhan:ALR: ok by me > > [14:41]ALR:1) ClassPool needn't know about Bootstrap. > > [14:41]ALR:2) We shouldn't add the event handlers in AS Main; that's used > only by standalone AS. We get it for free in Embedded if we set it up in > bootstrap-as. > > [14:42]kkhan:ALR: ok, as long as you don;t mind the deps there. > > [14:42]ALR:kkhan: Nope. It's for AS, so all bets are off. > > [14:42]kkhan:ALR: ok cool > > -------------------------------------------------------------- Reply to this message by going to Community [http://community.jboss.org/message/542584#542584] Start a new discussion in JBoss Microcontainer Development at Community [http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2115]
_______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user