[jboss-user] [JBoss Microcontainer Development] - ClassPool bootstrap refactoring
Kabir Khan
do-not-reply at jboss.com
Wed May 12 09:45:27 EDT 2010
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]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20100512/bb73c9e1/attachment-0001.html
More information about the jboss-user
mailing list