tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yoav Shapira" <yo...@apache.org>
Subject Re: using manager webapp programatically
Date Tue, 10 Oct 2006 22:29:18 GMT
Hi,
Download mc4j (http://mc4j.org/confluence/display/mc4j/Home) or
jmanage (http://www.jmanage.org/) or JBoss Console
(http://jboss.org/wiki/Wiki.jsp?page=JMXConsole) and take a look at
their source code.  It's simple, elegant, and effective (all three
work well, and there are several others).

Yoav

On 10/10/06, Jason Novotny <novotny@gridsphere.org> wrote:
>
>     Cool-- I'm new to JMX, can you provide any sample snippet code or
> place to look in order to use the Tomcat JMX stuff?
>
>     Thanks a bunch, Jason
>
> Yoav Shapira wrote:
> > Hi,
> > I don't have time to delve deeply into looking at the manager app
> > request path info code right now, but a quick suggestion: if I were to
> > do anything building on top of the manager / admin webapp
> > functionality, I wouldn't do it via request includes, and I would
> > instead build on top of the JMX stuff exposed by Tomcat.  That should
> > not only be easier, but more portable because your app and the manager
> > app wouldn't have to run on the same instance of Tomcat (which you do
> > when you rely on crossContext).
> >
> > Yoav
> >
> > On 10/9/06, Jason Novotny <novotny@gridsphere.org> wrote:
> >>
> >> Hi,
> >>
> >>     I have a webapp (a portal) that sets the crossContext="true" and so
> >> can accesss other webapps in Tomcat. My goal is to do an include() on
> >> the manager webapp to show the deployed applications. Here is my code:
> >>
> >> doGet(HttpServletRequest req, HttpServletResponse res) throws
> >> IOException, ServletException {
> >>
> >> ServletContext context = ctx.getContext("/manager");
> >> context.getRequestDispatcher("/list").include(req, res);
> >>
> >> }
> >>
> >> Unfortunately I get the following:
> >>
> >> FAIL - Unknown command /portal
> >>
> >> I looked at the source code of the manager app and I see it has this
> >> line:
> >>
> >> String command = request.getPathInfo();
> >>         if (command == null)
> >>             command = request.getServletPath();
> >>
> >> So it looks like request.getPathInfo() is returning null so then it uses
> >> the getServletPath which returns my servlet path that is doing the
> >> dispatching, "portal" and not "/list" as I desire. Is that expected
> >> behaavior?
> >>
> >> I finally "hacked" something together, where I have to pass in my own
> >> implementation of HttpServletRequest object in the include(),  where the
> >> getPathInfo returns a hardcoded "/list"-- it works but is a terrible
> >> hack. I'm wondering if there is a better way-- or maybe the manager
> >> webapp could be altered so that instead of doing request.getPathInfo it
> >> could do some kind of request.getParameter().. in which case the manager
> >> webapp would be invoked by doing /manager?command=list instead of
> >> /manager/list
> >>
> >>     Thanks, Jason
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> >> For additional commands, e-mail: dev-help@tomcat.apache.org
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: dev-help@tomcat.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message