Re: [PATCH]Virtual Host Choice on HTML Manager
on Mon, 12 Jan 2004 17:04:07 +0100 Remy Maucherat <[EMAIL PROTECTED]> wrote: >Fixes were added a few days ago to the admin webapp to support dynamic >host creation. This is a first step. It should then be possible to add a >manager to a newly created host using the admin webapp (and then you're >done, no hacks required). The biggest problem is probably that the admin >webapp is not scriptable at all. Thank you for your comment. Your modification is same as my second idea. I'm looking forward to evaluating this new feature soon. (on 5.0.18?) Regards. TANAKA - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [PATCH]Virtual Host Choice on HTML Manager
on Tue, 6 Jan 2004 16:48:47 -0600 Glenn Nielsen <[EMAIL PROTECTED]> wrote: >> I'll try to modify as follows: >> >> 1)Make new classes extend HTMLManagerServlet & ManagerServlet. >> 2)These servlets are optional. (commented out in web.xml) >> 3)Only admin role can access them. (by web.xml) >> >> Do you think I've it figured out? > >That sounds right. :-) I've done and put them on http://www.ytp.ne.jp/tech/tomcat/manager/index.html I modified existing classes to allow them to be extended, but did not change their functions. Also I create a new build file for Deployer named 'build-muti.xml' cause of security. I hope committers evaluate and commit them. Regards. TANAKA Yoshihiro - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [PATCH]Virtual Host Choice on HTML Manager
on Mon, 05 Jan 2004 20:57:28 +0100 Remy Maucherat <[EMAIL PROTECTED]> wrote: >> An acceptable patch would be to extend the existing manager class with >> a new class which implements this "feature". Then those administering >> Tomcat can choose which version of the manager they want to install. > >I agree with this. >Is one manager per vhost really too much to ask ? (since different >principals will be needed in many situations) Thanx for your comments everyone. I got your point. I'm not lazy to login each virtual host, but I am when installing manager application to each virtual host. >There are a use cases for the feature, of course, so I'm ok with having >an extension class that could replace the default manager servlet. I'll try to modify as follows: 1)Make new classes extend HTMLManagerServlet & ManagerServlet. 2)These servlets are optional. (commented out in web.xml) 3)Only admin role can access them. (by web.xml) Do you think I've it figured out? Regards. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[PATCH]Virtual Host Choice on HTML Manager
Hi, Happy New Year! I wrote patches that allow to choose any virtual host of Tomcat when you operate HTML Manager, Manager Servlet, and Deployer. I put patches and screen shots on: http://www.ytp.ne.jp/tech/tomcat/manager/index.html I hope committers would try and apply the patches. It's my pleasure to debug, if any. Regards. -- TANAKA Yoshihiro / http://www.ytp.ne.jp/ --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
"in the ClassLoader sense" on MBean manual
To all committers, I'd like to ask a question about Tomcat5 manual while I'm translating it into Japanese. (We have been translating all TC5 manuals into Japanese.) In the part of,"Including your own mbean-descriptor files" clause on "MBean Descriptor How To" page: http://jakarta.apache.org/tomcat/tomcat-5.0-doc/mbeans-descriptor-howto.html You may configure custom components (e.g. Valves/Realms) by including your own mbean-descriptor file(s), and setting the "descriptors" attribute to point to a ';' separated list of paths (in the ClassLoader sense) of files to add to the default list under ServerLifecycleListener definition in server.xml. I couldn't get the meaning of the phrase,"(in the ClassLoader sense)". Does it mean, "like in the ClassLoader"? Would someone please tell me in another words? Regards. -- TANAKA Yoshihiro / http://www.ytp.ne.jp/ --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: "in the ClassLoader sense" on MBean manual
on Sat, 13 Dec 2003 15:20:43 +0100 Remy Maucherat <[EMAIL PROTECTED]> wrote: Got it! Thanks a lot. >Yes, in the CL sense. >It's no longer useful with modeler 1.1, however: modeler will try to >load a mbeans-descriptors.xml resource from the same package as your >class, and then if not found there look into the "core" descriptor file >(which are specified using the list you mention). > >Rémy ------ TANAKA Yoshihiro / http://www.ytp.ne.jp/ --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
"in the ClassLoader sense" on MBean manual
To all committers, I'd like to ask a question about Tomcat5 manual while I'm translating it into Japanese. (We have been translating all TC5 manuals into Japanese.) In the part of,"Including your own mbean-descriptor files" clause on "MBean Descriptor How To" page: http://jakarta.apache.org/tomcat/tomcat-5.0-doc/mbeans-descriptor-howto.html You may configure custom components (e.g. Valves/Realms) by including your own mbean-descriptor file(s), and setting the "descriptors" attribute to point to a ';' separated list of paths (in the ClassLoader sense) of files to add to the default list under ServerLifecycleListener definition in server.xml. I couldn't get the meaning of the phrase,"(in the ClassLoader sense)". Does it mean, "like in the ClassLoader"? Would someone please tell me in another words? Regards. -- TANAKA Yoshihiro / http://www.ytp.ne.jp/ --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[PATCH]ApplicationResources_ja.properties
Hi! This is a patch to show Japanese messages of the admin tool which are added to Tomcat5. I appreciate that someone will apply it to CVS. Thank you. -- TANAKA Yoshihiro / http://www.ytp.ne.jp/ --- Index: ApplicationResources_ja.properties === RCS file: /home/cvspublic/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_ja.properties,v retrieving revision 1.4 diff -u -r1.4 ApplicationResources_ja.properties --- ApplicationResources_ja.properties 2 Sep 2003 14:09:47 - 1.4 +++ ApplicationResources_ja.properties 24 Sep 2003 11:12:04 - @@ -21,7 +21,7 @@ sample.someText.required="Some Text"\u306f\u7a7a\u306b\u3067\u304d\u307e\u305b\u3093 sample.moreText.required="More Text"\u306f\u7a7a\u306b\u3067\u304d\u307e\u305b\u3093 save.success=\u4fdd\u5b58\u6210\u529f! -save.success=\u4fdd\u5b58\u5931\u6557! +save.fail=\u4fdd\u5b58\u5931\u6557! server.portnumber=\u30dd\u30fc\u30c8\u756a\u53f7 server.debuglevel=\u30c7\u30d0\u30c3\u30b0\u30ec\u30d9\u30eb server.shutdown=\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3 @@ -97,7 +97,7 @@ actions.loggers.deletes=\u65e2\u5b58\u306eLoggers\u306e\u524a\u9664 actions.loggers.edit=\u65e2\u5b58\u306eLogger\u306e\u7de8\u96c6 actions.realms.create=\u65b0\u3057\u3044\u30e6\u30fc\u30b6\u30ec\u30eb\u30e0\u306e\u4f5c\u6210 -actions.realms.delete=\u73fe\u5728\u306e\u30e6\u30fc\u30b6\u30ec\u30eb\u30e0\u3092\u524a\u9664 +actions.realms.delete=\u73fe\u5728\u306e\u30e6\u30fc\u30b6\u30ec\u30eb\u30e0\u306e\u524a\u9664 actions.realms.deletes=\u30e6\u30fc\u30b6\u30ec\u30eb\u30e0\u306e\u524a\u9664 actions.realms.edit=\u65e2\u5b58\u306e\u30ec\u30eb\u30e0\u306e\u7de8\u96c6 actions.requestfilter.create=\u65b0\u3057\u3044\u30ea\u30af\u30a8\u30b9\u30c8\u30d5\u30a3\u30eb\u30bf\u306e\u4f5c\u6210 @@ -111,29 +111,44 @@ actions.alias.create=\u65b0\u3057\u3044\u30a8\u30a4\u30ea\u30a2\u30b9\u306e\u4f5c\u6210 actions.alias.delete=\u30a8\u30a4\u30ea\u30a2\u30b9\u306e\u524a\u9664 new.alias=\u65b0\u3057\u3044\u30a8\u30a4\u30ea\u30a2\u30b9 -connector.type=\u578b +connector.type=\u7a2e\u985e connector.scheme=\u30b9\u30ad\u30fc\u30e0 connector.accept.count=\u540c\u6642\u63a5\u7d9a\u6570 +connector.compression=\u5727\u7e2e +connector.connection.linger=\u63a5\u7d9a\u306e\u6b8b\u5b58[linger] connector.connection.timeout=\u63a5\u7d9a\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8 +connector.connection.uploadTimeout=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8 connector.default.buffer=\u30c7\u30d5\u30a9\u30eb\u30c8\u30d0\u30c3\u30d5\u30a1\u30b5\u30a4\u30ba +connector.connection.disableUploadTimeout=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u306e\u7121\u52b9\u5316 connector.enable.dns=DNS\u306e\u30eb\u30c3\u30af\u30a2\u30c3\u30d7 connector.address.ip=IP\u30a2\u30c9\u30ec\u30b9 connector.redirect.portnumber=\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u30dd\u30fc\u30c8\u756a\u53f7 connector.min=\u6700\u5c0f connector.milliseconds=\u30df\u30ea\u79d2 connector.max=\u6700\u5927 +connector.maxkeepalive=\u30ad\u30fc\u30d7\u30a2\u30e9\u30a4\u30d6\u30ea\u30af\u30a8\u30b9\u30c8\u6700\u5927\u6570 +connector.maxspare=\u4e88\u5099\u30b9\u30ec\u30c3\u30c9\u6700\u5927\u6570 +connector.maxthreads=\u30b9\u30ec\u30c3\u30c9\u6700\u5927\u6570 +connector.minspare=\u4e88\u5099\u30b9\u30ec\u30c3\u30c9\u6700\u5c0f\u6570 connector.proxy.name=\u30d7\u30ed\u30ad\u30b7\u540d connector.proxy.portnumber=\u30d7\u30ed\u30ad\u30b7\u30dd\u30fc\u30c8\u756a\u53f7 +connector.algorithm=\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0 +connector.ciphers=\u6697\u53f7\u5316\u65b9\u5f0f connector.client.auth=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u8a8d\u8a3c connector.keystore.filename=\u30ad\u30fc\u30b9\u30c8\u30a2\u30d5\u30a1\u30a4\u30eb\u540d connector.keystore.password=\u30ad\u30fc\u30b9\u30c8\u30a2\u30d1\u30b9\u30ef\u30fc\u30c9 +connector.keystore.type=\u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u7a2e\u985e +connector.sslProtocol=SSL\u30d7\u30ed\u30c8\u30b3\u30eb connector.keyPass.warning=keytool\u3092\u4f7f\u3063\u3066\u8a3c\u660e\u66f8\u3092\u4f5c\u6210\u3057\u3066\u4e0b\u3055\u3044\u3002 +connector.secure=SSL\u901a\u4fe1 +connector.tcpNoDelay=TCP\u9045\u5ef6\u7121\u3057 +connector.xpoweredby=X Powered By \u30d8\u30c3\u30c0 host.properties=\u30db\u30b9\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3 host.name=\u540d\u524d host.base=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d9\u30fc\u30b9 host.autoDeploy=\u81ea\u52d5\u914d\u5099 host.deployXML=\u914d\u5099XML -host.liveDeploy=\u52d5\u7684\u914d\u5099 +host.deployOnStartup=\u8d77\u52d5\u6642\u306e\u914d\u5099 host.wars=WAR\u30d5\u30a1\u30a4\u30eb\u3092\u5c55\u958b\u3059\u308b host.aliases=\u30a8\u30a4\u30ea\u30a2\u30b9 host.alias.name=\u30a8\u30a4\u30ea\u30a2\u30b9\u5
[PATCH] Tomcat5 StatusManagerServlet
I couldn't get correct Japanese messages on "Server Status" in the HTML manager screen because the StatusManagerServlet of TC5 has a problem about i18n. I made a patch as follows, and hope that you will include it on next release. Thanx for developing Tomcat! Index: StatusManagerServlet.java === RCS file: /home/cvspublic/jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager/StatusManagerServlet.java,v retrieving revision 1.10 diff -u -r1.10 StatusManagerServlet.java --- StatusManagerServlet.java 17 Aug 2003 14:50:24 - 1.10 +++ StatusManagerServlet.java 23 Aug 2003 15:38:09 - @@ -70,6 +70,7 @@ import java.text.MessageFormat; import java.util.Enumeration; import java.util.Iterator; +import java.util.Locale; import java.util.Set; import java.util.Vector; @@ -90,6 +91,10 @@ import org.apache.tomcat.util.compat.JdkCompat; +import org.apache.catalina.ContainerServlet; +import org.apache.catalina.Context; +import org.apache.catalina.Deployer; +import org.apache.catalina.Wrapper; import org.apache.catalina.util.ServerInfo; import org.apache.catalina.util.StringManager; @@ -101,7 +106,7 @@ */ public class StatusManagerServlet -extends HttpServlet implements NotificationListener { +extends HttpServlet implements NotificationListener, ContainerServlet { // - Instance Variables @@ -150,8 +155,57 @@ StringManager.getManager(Constants.Package); +/** + * The Context container associated with our web application. + */ +protected Context context = null; + + +/** + * The Wrapper container associated with this servlet. + */ +protected Wrapper wrapper = null; + + +/** + * The Deployer container that contains our own web application's Context, + * along with the associated Contexts for web applications that we + * are managing. + */ +protected Deployer deployer = null; + + // - Public Methods +// getWrapper() & setWrapper() are added to get Context. (ytp) +/** + * Return the Wrapper with which we are associated. + */ +public Wrapper getWrapper() { + +return (this.wrapper); + +} + + +/** + * Set the Wrapper with which we are associated. + * + * @param wrapper The new wrapper + */ +public void setWrapper(Wrapper wrapper) { + +this.wrapper = wrapper; +if (wrapper == null) { +context = null; +deployer = null; +} else { +context = (Context) wrapper.getParent(); +deployer = (Deployer) context.getParent(); +} + +} + /** * Initialize this servlet. @@ -247,7 +301,10 @@ HttpServletResponse response) throws IOException, ServletException { -response.setContentType("text/html"); +Locale locale = Locale.getDefault(); +String charset = context.getCharsetMapper().getCharset(locale); +response.setLocale(locale); +response.setContentType("text/html; charset=" + charset); PrintWriter writer = response.getWriter(); -- TANAKA Yoshihiro(ytp) / http://www.ytp.ne.jp/ --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]