[14:24]
kkhan:
ALR: Regarding my bootstrap stuff I think you're right
[14:24]
ggear joined the chat room.
[14:25]
kkhan:too many dependencies on classpools and other stuuff
[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:I got that ClassLoading SPI test passing
[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:28]
kkhan:I want something like PRE_KERNEL_BOOTSTRAP and POST_KERNEL_BOOTSTRAP
[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]
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]
pgier joined the chat room.
[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]
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: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:Yes, all you need to do is call "setState"
[14:37]
kkhan:Just need the name
[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]
ALR:Then you can extract out your ClassPool stuff.
[14:39]
ALR:And reintegrate it.
[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: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.