[jboss-user] [JBoss Microcontainer Users] - Re: How to get DeploymentUnit?

alesj do-not-reply at jboss.com
Sun Nov 22 06:15:30 EST 2009

"Juergen.Zimmermann" wrote : 
  | So my 1st problem is: how to get the jndi name when the interface of an EJB is available?
Dunno, this is EJB question not MC. ;-)
Either ask on their forum or check Weld-int 
where, afair, something similar had to be implemented.

"Juergen.Zimmermann" wrote : 
  |   | DeploymentUnit du = ???;  // How to get DeploymentUnit? Via ClassLoader?
  |   | 

  | ClassLoader cl = clazz.getClassLoader();
  | Module module = ClassLoading.getModuleForClassLoader(cl);
  | if (module instanceof AbstractDeploymentClassLoaderPolicyModule)
  | {
  |    AbstractDeploymentClassLoaderPolicyModule deploymentModule = (AbstractDeploymentClassLoaderPolicyModule)module;
  |    DeploymentUnit unit = deploymentModule.getDeploymentUnit();
This way you get the deployment unit owning the classloader/module,
but to actually get the right deployment unit you would need to check the whole hierarchy of this unit.
get class's source location, and check it against unit's and sub-units classpath roots.

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4266915#4266915

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4266915

More information about the jboss-user mailing list