This naming processor, which sets up a DU attachment for a set of jndi binding service
dependencies (to be added later on the component start service so JNDI bindings are up
when the component needs), is currently bound to INSTALL phase, and this is limiting the
usage of such set. For instance in
https://issues.jboss.org/browse/AS7-5443 the naming
processors who set up app and module context, which are bound to POST_MODULE phase, need
to setup java:app/AppName and java:module/ModuleName, and these need to be also up when
the component needs (e.g. @PreDestroy).
I see two ways of minimise such limitations:
a) This attachment is a set, which needs concrete setup, we could change it to a list, and
take advantage of Attachable#addToAttachmentList(...), which inits the attachment list on
demand. AFAIK the change from set to list would not be an issue, cause duplicated entries
in this list would be MSC filtered/ignored (anyway we could always introduce
Attachable#addToAttachmentSet(...)). In the case this has no side effects, we could even
move the remaining logic of the processor to JndiNamingDependencyProcessor and remove it.
b) Move the Processor to an earlier phase, to ensure the attachment set is already setup.
Opinions?
-- E