I put this page on
jopr.org - feel free to edit this as you deem necessary with any
ideas/thoughts you have. I'm still trying to wrap my head around all the issues that
need to be addressed here, and I'm not sure I have it completely.
http://jopr.org/confluence/display/RHQ/Plugin+Dependencies+and+Class+Loaders
----- Original Message -----
From: "John Mazzitelli" <mazz(a)redhat.com>
To: "jopr-dev" <jopr-dev(a)lists.jboss.org>
Sent: Friday, May 29, 2009 5:07:57 PM GMT -05:00 US/Canada Eastern
Subject: [jopr-dev] more on plugins/classloaders
Tell me where I am wrong.
Suppose I am writing plugin "Z" - there are plugins A, B, C and D that may or
may not be deployed. Here's Z's descriptor:
<plugin name="Z">
<depends plugin="A" />
<server name="Z1.server">
<runs-inside>
<parent-resource-type name="B1.server" plugin="B"/>
<parent-resource-type name="C1.server" plugin="C"/>
<runs-inside>
</server>
<server name="Z2.server">
sourcePlugin="D"
sourceType="D1" >
</server>
</plugin>
This means that if I deploy Z, then:
1) plugin 'A' MUST be deployed as well (i.e. if A does not exist, Z will not
deploy).
2) plugin D may or may not exist, if it doesn't exist, then.... what is Z2.server? Do
we ignore that? Since D1 type definition doesn't exist, then Z2.server can't
possibly exist. I think we ignore Z2.server as if it was never there
3) plugin B and plugin C may or may not exist. If they don't exist, then Z1.server is
meaningless. I think we ignore Z1.server if B and C are missing
4) When Z1.server is detected, the component's classloader includes what? Its parent
classloader is A classloader plus B classloader? Or C?
5) what if there are TWO or more <depends> tags - say <depends
plugin="E"> in addition to above. Does Z plugin classloader include the A and
E classes? I think so (not sure how I'm gonna implement that)
6) where does this "child first" or "hidden" configuration go? What is
its semantics?
Is there anything else i'm missing that I need to consider? anything I need to make
sure I impement?
_______________________________________________
jopr-dev mailing list
jopr-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jopr-dev