[jboss-dev-forums] [JBoss AS7 Development] - Re: META-INF/services for module extensions - question/issue
Dan Sirbu
do-not-reply at jboss.com
Thu Sep 8 15:32:24 EDT 2011
Dan Sirbu [http://community.jboss.org/people/lmcdasi] created the discussion
"Re: META-INF/services for module extensions - question/issue"
To view the discussion, visit: http://community.jboss.org/message/625608#625608
--------------------------------------------------------------
To Jason: many thanks for the link - that spares me for extra trouble :)
To Brian: yes - there are for sure other people that are in the 'dark' as me and any open discussion is always productive. (+)
I'll go ahead with Jason link and since I will be 'mean' ;) - I will create one ModuleExtension and three Modules #1, #2, #3 with the following setup:
ModuleExtension loads --> ServiceLoadApiFromModule#1 --> executes the impl from Module#1
ServiceLoadApiFromModule#1 impl loads --> ServiceLoadApiFromModule#2 --> executes the impl from Module #2 see next (so Module#1 needs to have TCCL visibility on Module#2 )
ServiceLoadApiFromModule#2 --> ServiceLoadApiFromModule#3 (so Module#2 needs to have TCCL visibility on Module#3) --> executes the impl from Module #3 --> test stops
In a genric way, once in a Module, the Module should have visibility on all other Modules that were added as dependecies in the ModuleExtension, to cover more complex stuff.
ModuleExtension -> ServiceLoadApiFromModule#1 loader can happen with 2 arguments since it comes from ModuleExtension (it can use even the jboss-module service loader) but the remaining:
ServiceLoadApiFromModule#2,#3 - shall happen only with 1 argument since it is comming from Module and shall use the java.util.ServiceLoader.load().
Should the below achievable via module.xml setup as discussed ? If not, what would be the a code snapshot on classpath settings.
> Brian Stansberry wrote:
>
> The classloader for the ModuleExtension module, which in 7.0.2 will be the TCCL, may not have visibility to classes in Module#2. That's the nature of modular classloading -- the intent is to provide proper isolation, and not to expose everything to everybody. So if you think Module#1 is going to be relying on the TCCL having visibility to everything Module#1 depends on, then you should set the TCCL to a classloader that should have that visibility. Most likely that is Module#1's classloader.
Is this sound correct to you ?
BR,
Dan S.
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/625608#625608]
Start a new discussion in JBoss AS7 Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2225]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20110908/9b2d9b36/attachment.html
More information about the jboss-dev-forums
mailing list