hmm they are in SystemInstance.get().getComponent(ContainerSystem.class).getJNDIContext() context
don't think you can get they without reproducing the logic used for the log (and that's not a solution ;) BTW listing SystemInstance.get().getComponent(ContainerSystem.class).getJNDIContext().lookup(java:global) should be fine as a first step Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau 2012/12/18 Thiago Veronezi <[email protected]>: > Hi Romain, > > It is still wrong... working on that. > btw, do you know a good way to get the JNDI names? I just want to list > the same jndi strings shown in the log file. > > []s, > Thiago. > > > > On Tue, Dec 18, 2012 at 12:54 PM, Romain Manni-Bucau > <[email protected]> wrote: >> Hi Thiago, >> >> if i understand here jndi = ejbs? >> >> it doesn't really match, there is not the resources and all the user >> could have bound. >> >> Romain Manni-Bucau >> Twitter: @rmannibucau >> Blog: http://rmannibucau.wordpress.com/ >> LinkedIn: http://fr.linkedin.com/in/rmannibucau >> Github: https://github.com/rmannibucau >> >> >> >> >> ---------- Forwarded message ---------- >> From: <[email protected]> >> Date: 2012/12/18 >> Subject: svn commit: r1423544 - >> /openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java >> To: [email protected] >> >> >> Author: tveronezi >> Date: Tue Dec 18 17:32:42 2012 >> New Revision: 1423544 >> >> URL: http://svn.apache.org/viewvc?rev=1423544&view=rev >> Log: >> Better way to list the JNDI values. >> >> Modified: >> >> openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java >> >> Modified: >> openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java >> URL: >> http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java?rev=1423544&r1=1423543&r2=1423544&view=diff >> ============================================================================== >> --- >> openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java >> (original) >> +++ >> openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/GetJndi.java >> Tue Dec 18 17:32:42 2012 >> @@ -17,14 +17,12 @@ >> >> package org.apache.tomee.webapp.command.impl; >> >> -import org.apache.tomee.webapp.Application; >> +import org.apache.openejb.BeanContext; >> +import org.apache.openejb.loader.SystemInstance; >> +import org.apache.openejb.spi.ContainerSystem; >> import org.apache.tomee.webapp.command.Command; >> import org.apache.tomee.webapp.command.IsProtected; >> >> -import javax.naming.Context; >> -import javax.naming.NameClassPair; >> -import javax.naming.NamingEnumeration; >> -import javax.naming.NamingException; >> import java.util.ArrayList; >> import java.util.HashMap; >> import java.util.List; >> @@ -36,32 +34,18 @@ public class GetJndi implements Command >> @Override >> public Object execute(final Map<String, Object> params) throws >> Exception { >> final String sessionId = (String) params.get("sessionId"); >> - final Application.Session session = >> Application.getInstance().getSession(sessionId); >> final List<String> jndi = new ArrayList<String>(); >> >> - list(session.getContext(), jndi, ""); >> + ContainerSystem container = >> SystemInstance.get().getComponent(ContainerSystem.class); >> + BeanContext[] deployments = container.deployments(); >> + if (deployments != null) { >> + for (BeanContext beanContext : deployments) { >> + jndi.add(String.valueOf(beanContext.getDeploymentID())); >> + } >> + } >> + >> final Map<String, Object> json = new HashMap<String, Object>(); >> json.put("jndi", jndi); >> - >> return json; >> } >> - >> - private void list(final Context context, final List<String> jndi, >> String path) throws NamingException { >> - final NamingEnumeration<NameClassPair> namingEnum = >> context.list(""); >> - while (namingEnum.hasMore()) { >> - final NameClassPair pair = namingEnum.next(); >> - >> - String namePath = (path + "/" + pair.getName()).trim(); >> - if (namePath.startsWith("/")) { >> - namePath = namePath.substring(1); >> - } >> - jndi.add(namePath); >> - >> - final Object obj = context.lookup(pair.getName()); >> - if (Context.class.isInstance(obj)) { >> - list((Context) obj, jndi, namePath); >> - } >> - } >> - } >> - >> }
