• R/O
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revision15 (tree)
Time2015-08-17 15:01:44
Authort_nakayama1971

Log Message

(empty log message)

Change Summary

Incremental Difference

--- trunk/plugin/DevLoader8/build.xml (nonexistent)
+++ trunk/plugin/DevLoader8/build.xml (revision 15)
@@ -0,0 +1,29 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<project name="DevLoader8" default="all" basedir=".">
3+ <property environment="env"/>
4+
5+ <property name="src" value="src"/>
6+ <property name="build" value="classes"/>
7+
8+ <target name="all" depends="deploy" />
9+
10+ <target name="compile">
11+ <mkdir dir="${build}"/>
12+ <javac
13+ classpathref="classpath"
14+ destdir="${build}"
15+ srcdir="${src}"
16+ debug="true" target="1.7" optimize="off"
17+ excludes="**/CVS/**">
18+ </javac>
19+ </target>
20+
21+ <target name="deploy">
22+ <jar destfile="DevLoader8.jar" >
23+ <fileset dir="./classes" />
24+ <fileset dir="./src">
25+ <include name="**/*.java"/>
26+ </fileset>
27+ </jar>
28+ </target>
29+</project>
--- trunk/plugin/DevLoader8/src/org/apache/catalina/mbeans/mbeans-descriptors.xml (nonexistent)
+++ trunk/plugin/DevLoader8/src/org/apache/catalina/mbeans/mbeans-descriptors.xml (revision 15)
@@ -0,0 +1,2767 @@
1+<?xml version="1.0"?>
2+<!DOCTYPE mbeans-descriptors PUBLIC
3+ "-//Apache Software Foundation//DTD Model MBeans Configuration File"
4+ "http://jakarta.apache.org/commons/dtds/mbeans-descriptors.dtd">
5+
6+<!--
7+ Descriptions of JMX MBeans for Catalina
8+
9+ $Id: mbeans-descriptors.xml,v 1.75 2003/02/19 01:04:44 costin Exp $
10+ -->
11+
12+<mbeans-descriptors>
13+
14+
15+ <mbean name="AccessLogValve"
16+ className="org.apache.catalina.mbeans.ClassNameMBean"
17+ description="Valve that generates a web server access log"
18+ domain="Catalina"
19+ group="Valve"
20+ type="org.apache.catalina.valves.AccessLogValve">
21+
22+ <attribute name="className"
23+ description="Fully qualified class name of the managed object"
24+ type="java.lang.String"
25+ writeable="false"/>
26+
27+ <attribute name="debug"
28+ description="The debugging detail level for this component"
29+ type="int"/>
30+
31+ <attribute name="directory"
32+ description="The directory in which log files are created"
33+ type="java.lang.String"/>
34+
35+ <attribute name="pattern"
36+ description="The pattern used to format our access log lines"
37+ type="java.lang.String"/>
38+
39+ <attribute name="prefix"
40+ description="The prefix that is added to log file filenames"
41+ type="java.lang.String"/>
42+
43+ <attribute name="resolveHosts"
44+ description="Resolve hosts"
45+ is="true"
46+ type="boolean"/>
47+
48+ <attribute name="rotatable"
49+ description="Rotate log"
50+ is="true"
51+ type="boolean"/>
52+
53+ <attribute name="suffix"
54+ description="The suffix that is added to log file filenames"
55+ type="java.lang.String"/>
56+
57+ </mbean>
58+
59+
60+ <mbean name="BasicAuthenticator"
61+ className="org.apache.catalina.mbeans.ClassNameMBean"
62+ description="An Authenticator and Valve implementation of HTTP BASIC
63+ Authentication"
64+ domain="Catalina"
65+ group="Valve"
66+ type="org.apache.catalina.authenticator.BasicAuthenticator">
67+
68+ <attribute name="algorithm"
69+ description="The message digest algorithm to be used when generating
70+ session identifiers"
71+ type="java.lang.String"/>
72+
73+ <attribute name="cache"
74+ description="Should we cache authenticated Principals if the request
75+ is part of an HTTP session?"
76+ type="boolean"/>
77+
78+ <attribute name="className"
79+ description="Fully qualified class name of the managed object"
80+ type="java.lang.String"
81+ writeable="false"/>
82+
83+ <attribute name="debug"
84+ description="The debugging detail level for this component"
85+ type="int"/>
86+
87+ <attribute name="entropy"
88+ description="A String initialization parameter used to increase the
89+ entropy of the initialization of our random number
90+ generator"
91+ type="java.lang.String"/>
92+ </mbean>
93+
94+
95+ <mbean name="CertificatesValve"
96+ className="org.apache.catalina.mbeans.ClassNameMBean"
97+ description="Valve that exposes SSL certificate information"
98+ domain="Catalina"
99+ group="Valve"
100+ type="org.apache.catalina.valves.CertificatesValve">
101+
102+ <attribute name="className"
103+ description="Fully qualified class name of the managed object"
104+ type="java.lang.String"
105+ writeable="false"/>
106+
107+ <attribute name="debug"
108+ description="The debugging detail level for this component"
109+ type="int"/>
110+
111+ </mbean>
112+
113+
114+ <mbean name="ContextConfig"
115+ className="org.apache.catalina.mbeans.ClassNameMBean"
116+ description="Startup event listener for a Context that configures the
117+ properties of that Context, and the associated defined
118+ servlets"
119+ domain="Catalina"
120+ group="Listener"
121+ type="org.apache.catalina.startup.ContextConfig">
122+
123+ <attribute name="className"
124+ description="Fully qualified class name of the managed object"
125+ type="java.lang.String"
126+ writeable="false"/>
127+
128+ <attribute name="debug"
129+ description="The debugging detail level for this component"
130+ type="int"/>
131+
132+ </mbean>
133+
134+
135+ <mbean name="ContextEnvironment"
136+ className="org.apache.catalina.mbeans.ContextEnvironmentMBean"
137+ description="Representation of an application environment entry"
138+ domain="Catalina"
139+ group="Resources"
140+ type="org.apache.catalina.deploy.ContextEnvironment">
141+
142+ <attribute name="className"
143+ description="Fully qualified class name of the managed object"
144+ type="java.lang.String"
145+ writeable="false"/>
146+
147+ <attribute name="description"
148+ description="The description of this environment entry"
149+ type="java.lang.String"/>
150+
151+ <attribute name="name"
152+ description="The name of this environment entry"
153+ type="java.lang.String"/>
154+
155+ <attribute name="override"
156+ description="Does this environment entry allow overrides by the
157+ application deployment descriptor"
158+ type="boolean"/>
159+
160+ <attribute name="type"
161+ description="The type of this environment entry"
162+ type="java.lang.String"/>
163+
164+ <attribute name="value"
165+ description="The value of this environment entry"
166+ type="java.lang.String"/>
167+
168+ </mbean>
169+
170+
171+ <mbean name="ContextResource"
172+ className="org.apache.catalina.mbeans.ContextResourceMBean"
173+ description="Representation of a resource reference for a web application"
174+ domain="Catalina"
175+ group="Resources"
176+ type="org.apache.catalina.deploy.ContextResource">
177+
178+ <attribute name="auth"
179+ description="The authorization requirement for this resource"
180+ type="java.lang.String"/>
181+
182+ <attribute name="description"
183+ description="The description of this resource"
184+ type="java.lang.String"/>
185+
186+ <attribute name="name"
187+ description="The name of this resource"
188+ type="java.lang.String"/>
189+
190+ <attribute name="scope"
191+ description="The sharing scope of this resource factory"
192+ type="java.lang.String"/>
193+
194+ <attribute name="type"
195+ description="The type of this environment entry"
196+ type="java.lang.String"/>
197+
198+ </mbean>
199+
200+
201+ <mbean name="ContextResourceLink"
202+ className="org.apache.catalina.mbeans.ContextResourceLinkMBean"
203+ description="Representation of a resource link for a web application"
204+ domain="Catalina"
205+ group="Resources"
206+ type="org.apache.catalina.deploy.ContextResourceLink">
207+
208+ <attribute name="global"
209+ description="The global name of this resource"
210+ type="java.lang.String"/>
211+
212+ <attribute name="name"
213+ description="The name of this resource"
214+ type="java.lang.String"/>
215+
216+ <attribute name="type"
217+ description="The type of this resource"
218+ type="java.lang.String"/>
219+
220+ </mbean>
221+
222+
223+ <mbean name="CoyoteConnector"
224+ className="org.apache.catalina.mbeans.ConnectorMBean"
225+ description="Implementation of a Coyote connector"
226+ domain="Catalina"
227+ group="Connector"
228+ type="org.apache.coyote.tomcat4.CoyoteConnector">
229+
230+ <attribute name="acceptCount"
231+ description="The accept count for this Connector"
232+ type="int"/>
233+
234+ <attribute name="address"
235+ description="The IP address on which to bind"
236+ type="java.lang.String"/>
237+
238+ <attribute name="bufferSize"
239+ description="The input buffer size we should create on input streams"
240+ type="int"/>
241+
242+ <attribute name="className"
243+ description="Fully qualified class name of the managed object"
244+ type="java.lang.String"
245+ writeable="false"/>
246+
247+ <attribute name="clientAuth"
248+ description="Should we require client authentication?"
249+ type="boolean"/>
250+
251+ <attribute name="connectionTimeout"
252+ description="Timeout value on the incoming connection"
253+ type="int"/>
254+
255+ <attribute name="curProcessors"
256+ description="Current number of active processors"
257+ type="int"
258+ writeable="false"/>
259+
260+ <attribute name="debug"
261+ description="The debugging detail level for this component"
262+ type="int"/>
263+
264+ <attribute name="enableLookups"
265+ description="The 'enable DNS lookups' flag for this Connector"
266+ type="boolean"/>
267+
268+ <attribute name="keystoreFile"
269+ description="Pathname to the key store file to be used"
270+ type="java.lang.String"/>
271+
272+ <attribute name="keystorePass"
273+ description="Password for accessing the key store file"
274+ type="java.lang.String"/>
275+
276+ <attribute name="maxProcessors"
277+ description="The maximum number of processors allowed"
278+ type="int"/>
279+
280+ <attribute name="minProcessors"
281+ description="The minimum number of processors to start at
282+ initialization time"
283+ type="int"/>
284+
285+ <attribute name="port"
286+ description="The port number on which we listen for ajp13 requests"
287+ type="int"/>
288+
289+ <attribute name="protocolHandlerClassName"
290+ description="Coyote Protocol handler class name"
291+ type="java.lang.String"
292+ writeable="false"/>
293+
294+ <attribute name="proxyName"
295+ description="The Server name to which we should pretend requests to this Connector"
296+ type="java.lang.String"/>
297+
298+ <attribute name="proxyPort"
299+ description="The Server port to which we should pretend requests to this Connector"
300+ type="int"/>
301+
302+ <attribute name="redirectPort"
303+ description="The redirect port for non-SSL to SSL redirects"
304+ type="int"/>
305+
306+ <attribute name="scheme"
307+ description="Protocol name for this Connector (http, https)"
308+ type="java.lang.String"/>
309+
310+ <attribute name="secret"
311+ description="Authentication secret (I guess ... not in Javadocs)"
312+ type="java.lang.String"/>
313+
314+ <attribute name="secure"
315+ description="Is this a secure (SSL) Connector?"
316+ type="boolean"/>
317+
318+ <attribute name="tomcatAuthentication"
319+ description="Should Tomcat perform all authentications?"
320+ type="boolean"/>
321+
322+ <attribute name="disableUploadTimeout"
323+ description="Should Tomcat ignore setting a timeout for uploads?"
324+ type="boolean"/>
325+
326+ </mbean>
327+
328+
329+ <mbean name="DefaultContext"
330+ className="org.apache.catalina.mbeans.DefaultContextMBean"
331+ description="Used to store the default configuration a Host will use
332+ when creating a Context"
333+ domain="Catalina"
334+ group="Default-Context"
335+ type="org.apache.catalina.core.StandardDefaultContext">
336+
337+ <attribute name="cookies"
338+ description="Should we attempt to use cookies for session id
339+ communication?"
340+ type="boolean"/>
341+
342+ <attribute name="crossContext"
343+ description="Should we allow the ServletContext.getContext() method to
344+ access the context of other web applications in this
345+ server?"
346+ type="boolean"/>
347+
348+ <attribute name="reloadable"
349+ description="The reloadable flag for this web application"
350+ type="boolean"/>
351+
352+ <attribute name="swallowOutput"
353+ description="Flag to set to cause the system.out and system.err
354+ to be redirected to the logger when executing a servlet"
355+ type="boolean"/>
356+
357+ <attribute name="useNaming"
358+ description="Create JNDI naming context?"
359+ is="true"
360+ type="boolean"/>
361+
362+ <operation name="addEnvironment"
363+ description="Add an environment entry for this web application"
364+ impact="ACTION"
365+ returnType="void">
366+ <parameter name="envName"
367+ description="New environment entry name"
368+ type="java.lang.String"/>
369+ </operation>
370+
371+ <operation name="addResource"
372+ description="Add a resource reference for this web application"
373+ impact="ACTION"
374+ returnType="void">
375+ <parameter name="resourceName"
376+ description="New resource reference name"
377+ type="java.lang.String"/>
378+ </operation>
379+
380+ <operation name="removeEnvironment"
381+ description="Remove any environment entry with the specified name"
382+ impact="ACTION"
383+ returnType="void">
384+ <parameter name="envName"
385+ description="Name of the environment entry to remove"
386+ type="java.lang.String"/>
387+ </operation>
388+
389+ <operation name="removeResource"
390+ description="Remove any resource reference with the specified name"
391+ impact="ACTION"
392+ returnType="void">
393+ <parameter name="resourceName"
394+ description="Name of the resource reference to remove"
395+ type="java.lang.String"/>
396+ </operation>
397+
398+ </mbean>
399+
400+
401+ <mbean name="DigestAuthenticator"
402+ className="org.apache.catalina.mbeans.ClassNameMBean"
403+ description="An Authenticator and Valve implementation of HTTP DIGEST
404+ Authentication"
405+ domain="Catalina"
406+ group="Valve"
407+ type="org.apache.catalina.authenticator.DigestAuthenticator">
408+
409+ <attribute name="algorithm"
410+ description="The message digest algorithm to be used when generating
411+ session identifiers"
412+ type="java.lang.String"/>
413+
414+ <attribute name="cache"
415+ description="Should we cache authenticated Principals if the request
416+ is part of an HTTP session?"
417+ type="boolean"/>
418+
419+ <attribute name="className"
420+ description="Fully qualified class name of the managed object"
421+ type="java.lang.String"
422+ writeable="false"/>
423+
424+ <attribute name="debug"
425+ description="The debugging detail level for this component"
426+ type="int"/>
427+
428+ <attribute name="entropy"
429+ description="A String initialization parameter used to increase the
430+ entropy of the initialization of our random number
431+ generator"
432+ type="java.lang.String"/>
433+ </mbean>
434+
435+ <mbean name="EngineConfig"
436+ className="org.apache.catalina.mbeans.ClassNameMBean"
437+ description="Startup event listener for a Engine that configures the
438+ properties of that Engine, and the associated defined
439+ contexts"
440+ domain="Catalina"
441+ group="Listener"
442+ type="org.apache.catalina.startup.EngineConfig">
443+
444+ <attribute name="className"
445+ description="Fully qualified class name of the managed object"
446+ type="java.lang.String"
447+ writeable="false"/>
448+
449+ <attribute name="debug"
450+ description="The debugging detail level for this component"
451+ type="int"/>
452+
453+ </mbean>
454+
455+
456+ <mbean name="ErrorReportValve"
457+ className="org.apache.catalina.mbeans.ClassNameMBean"
458+ description="Implementation of a Valve that outputs HTML error pages"
459+ domain="Catalina"
460+ group="Valve"
461+ type="org.apache.catalina.valves.ErrorReportValve">
462+
463+ <attribute name="className"
464+ description="Fully qualified class name of the managed object"
465+ type="java.lang.String"
466+ writeable="false"/>
467+
468+ <attribute name="debug"
469+ description="The debugging detail level for this component"
470+ type="int"/>
471+
472+ </mbean>
473+
474+
475+ <mbean name="ErrorDispatcherValve"
476+ className="org.apache.catalina.mbeans.ClassNameMBean"
477+ description="Implementation of a Valve that handles the error
478+ dispatch"
479+ domain="Catalina"
480+ group="Valve"
481+ type="org.apache.catalina.valves.ErrorDispatcherValve">
482+
483+ <attribute name="className"
484+ description="Fully qualified class name of the managed object"
485+ type="java.lang.String"
486+ writeable="false"/>
487+
488+ <attribute name="debug"
489+ description="The debugging detail level for this component"
490+ type="int"/>
491+
492+ </mbean>
493+
494+
495+ <mbean name="FileLogger"
496+ className="org.apache.catalina.mbeans.ClassNameMBean"
497+ description="Implementation of Logger that appends log messages to a
498+ file"
499+ domain="Catalina"
500+ group="Logger"
501+ type="org.apache.catalina.logger.FileLogger">
502+
503+ <attribute name="className"
504+ description="Fully qualified class name of the managed object"
505+ type="java.lang.String"
506+ writeable="false"/>
507+
508+ <attribute name="debug"
509+ description="The debugging detail level for this component"
510+ type="int"/>
511+
512+ <attribute name="directory"
513+ description="The directory in which log files are created"
514+ type="java.lang.String"/>
515+
516+ <attribute name="prefix"
517+ description="The prefix that is added to log file filenames"
518+ type="java.lang.String"/>
519+
520+ <attribute name="suffix"
521+ description="The suffix that is added to log file filenames"
522+ type="java.lang.String"/>
523+
524+ <attribute name="timestamp"
525+ description="Should logged messages be date/time stamped?"
526+ type="boolean"/>
527+
528+ <attribute name="verbosity"
529+ description="The verbosity level for above which log messages may be
530+ filtered"
531+ type="int"/>
532+
533+ </mbean>
534+
535+ <mbean name="FormAuthenticator"
536+ className="org.apache.catalina.mbeans.ClassNameMBean"
537+ description="An Authenticator and Valve implementation of FORM BASED
538+ Authentication"
539+ domain="Catalina"
540+ group="Valve"
541+ type="org.apache.catalina.authenticator.FormAuthenticator">
542+
543+ <attribute name="algorithm"
544+ description="The message digest algorithm to be used when generating
545+ session identifiers"
546+ type="java.lang.String"/>
547+
548+ <attribute name="cache"
549+ description="Should we cache authenticated Principals if the request
550+ is part of an HTTP session?"
551+ type="boolean"/>
552+
553+ <attribute name="className"
554+ description="Fully qualified class name of the managed object"
555+ type="java.lang.String"
556+ writeable="false"/>
557+
558+ <attribute name="debug"
559+ description="The debugging detail level for this component"
560+ type="int"/>
561+
562+ <attribute name="entropy"
563+ description="A String initialization parameter used to increase the
564+ entropy of the initialization of our random number
565+ generator"
566+ type="java.lang.String"/>
567+ </mbean>
568+
569+
570+ <mbean name="Group"
571+ className="org.apache.catalina.mbeans.GroupMBean"
572+ description="Group from a user database"
573+ domain="Users"
574+ group="Group"
575+ type="org.apache.catalina.Group">
576+
577+ <attribute name="description"
578+ description="Description of this group"
579+ type="java.lang.String"/>
580+
581+ <attribute name="groupname"
582+ description="Group name of this group"
583+ type="java.lang.String"/>
584+
585+ <attribute name="roles"
586+ description="MBean Names of roles for this group"
587+ type="java.lang.String[]"
588+ writeable="false"/>
589+
590+ <attribute name="users"
591+ description="MBean Names of user members of this group"
592+ type="java.lang.String[]"
593+ writeable="false"/>
594+
595+ <operation name="addRole"
596+ description="Add a new authorized role for this group"
597+ impact="ACTION"
598+ returnType="void">
599+ <parameter name="role"
600+ description="Role to be added"
601+ type="java.lang.String"/>
602+ </operation>
603+
604+ <operation name="removeRole"
605+ description="Remove an old authorized role for this group"
606+ impact="ACTION"
607+ returnType="void">
608+ <parameter name="role"
609+ description="Role to be removed"
610+ type="java.lang.String"/>
611+ </operation>
612+
613+ <operation name="removeRoles"
614+ description="Remove all authorized roles for this group"
615+ impact="ACTION"
616+ returnType="void">
617+ </operation>
618+
619+ </mbean>
620+
621+
622+ <mbean name="HostConfig"
623+ className="org.apache.catalina.mbeans.ClassNameMBean"
624+ description="Startup event listener for a Host that configures the
625+ properties of that Host, and the associated defined
626+ contexts"
627+ domain="Catalina"
628+ group="Listener"
629+ type="org.apache.catalina.startup.HostConfig">
630+
631+ <attribute name="className"
632+ description="Fully qualified class name of the managed object"
633+ type="java.lang.String"
634+ writeable="false"/>
635+
636+ <attribute name="configClass"
637+ description="The Java class name of the Context configuration class we
638+ should use"
639+ type="java.lang.String"/>
640+
641+ <attribute name="contextClass"
642+ description="The Java class name of the Context implementation we
643+ should use"
644+ type="java.lang.String"/>
645+
646+ <attribute name="debug"
647+ description="The debugging detail level for this component"
648+ type="int"/>
649+
650+ </mbean>
651+
652+
653+ <mbean name="Http10Connector"
654+ className="org.apache.catalina.mbeans.ClassNameMBean"
655+ description="HTTP/1.0 Connector for Tomcat Standalone"
656+ domain="Catalina"
657+ group="Connector"
658+ type="org.apache.catalina.connector.http10.HttpConnector">
659+
660+ <attribute name="acceptCount"
661+ description="The accept count for this Connector"
662+ type="int"/>
663+
664+ <attribute name="address"
665+ description="The IP address on which to bind"
666+ type="java.lang.String"/>
667+
668+ <attribute name="bufferSize"
669+ description="The input buffer size we should create on input streams"
670+ type="int"/>
671+
672+ <attribute name="className"
673+ description="Fully qualified class name of the managed object"
674+ type="java.lang.String"
675+ writeable="false"/>
676+
677+ <attribute name="connectionTimeout"
678+ description="Timeout value on the incoming connection"
679+ type="int"/>
680+
681+ <attribute name="debug"
682+ description="The debugging detail level for this component"
683+ type="int"/>
684+
685+ <attribute name="enableLookups"
686+ description="The 'enable DNS lookups' flag for this Connector"
687+ type="boolean"/>
688+
689+ <attribute name="maxProcessors"
690+ description="The maximum number of processors allowed"
691+ type="int"/>
692+
693+ <attribute name="minProcessors"
694+ description="The minimum number of processors to start at
695+ initialization time"
696+ type="int"/>
697+
698+ <attribute name="port"
699+ description="TCP port number to listen on"
700+ type="int"/>
701+
702+ <attribute name="proxyName"
703+ description="The server name to which we should pretend requests to
704+ this Connector were directed"
705+ type="java.lang.String"/>
706+
707+ <attribute name="proxyPort"
708+ description="The server port to which we should pretend requests to
709+ this Connector were directed"
710+ type="int"/>
711+
712+ <attribute name="redirectPort"
713+ description="The redirect port for non-SSL to SSL redirects"
714+ type="int"/>
715+
716+ <attribute name="scheme"
717+ description="Protocol name for this Connector (http, https)"
718+ type="java.lang.String"/>
719+
720+ <attribute name="secure"
721+ description="Is this a secure (SSL) Connector?"
722+ type="boolean"/>
723+
724+ </mbean>
725+
726+
727+ <mbean name="Http11Connector"
728+ className="org.apache.catalina.mbeans.ClassNameMBean"
729+ description="HTTP/1.1 Connector for Tomcat Standalone"
730+ domain="Catalina"
731+ group="Connector"
732+ type="org.apache.catalina.connector.http.HttpConnector">
733+
734+ <attribute name="acceptCount"
735+ description="The accept count for this Connector"
736+ type="int"/>
737+
738+ <attribute name="address"
739+ description="The IP address on which to bind"
740+ type="java.lang.String"/>
741+
742+ <attribute name="allowChunking"
743+ description="Flag which indicates if HTTP/1.1 chunking transfer
744+ encoding can be used"
745+ type="boolean"/>
746+
747+ <attribute name="bufferSize"
748+ description="The input buffer size we should create on input streams"
749+ type="int"/>
750+
751+ <attribute name="className"
752+ description="Fully qualified class name of the managed object"
753+ type="java.lang.String"
754+ writeable="false"/>
755+
756+ <attribute name="connectionTimeout"
757+ description="Timeout value on the incoming connection"
758+ type="int"/>
759+
760+ <attribute name="debug"
761+ description="The debugging detail level for this component"
762+ type="int"/>
763+
764+ <attribute name="enableLookups"
765+ description="The 'enable DNS lookups' flag for this Connector"
766+ type="boolean"/>
767+
768+ <attribute name="maxProcessors"
769+ description="The maximum number of processors allowed"
770+ type="int"/>
771+
772+ <attribute name="minProcessors"
773+ description="The minimum number of processors to start at
774+ initialization time"
775+ type="int"/>
776+
777+ <attribute name="port"
778+ description="TCP port number to listen on"
779+ type="int"/>
780+
781+ <attribute name="proxyName"
782+ description="The server name to which we should pretend requests to
783+ this Connector were directed"
784+ type="java.lang.String"/>
785+
786+ <attribute name="proxyPort"
787+ description="The server port to which we should pretend requests to
788+ this Connector were directed"
789+ type="int"/>
790+
791+ <attribute name="redirectPort"
792+ description="The redirect port for non-SSL to SSL redirects"
793+ type="int"/>
794+
795+ <attribute name="scheme"
796+ description="Protocol name for this Connector (http, https)"
797+ type="java.lang.String"/>
798+
799+ <attribute name="secure"
800+ description="Is this a secure (SSL) Connector?"
801+ type="boolean"/>
802+
803+ </mbean>
804+
805+
806+ <mbean name="JAASRealm"
807+ className="org.apache.catalina.mbeans.ClassNameMBean"
808+ description="Implmentation of Realm that authenticates users via the
809+ Java Authentication and Authorization Service (JAAS)"
810+ domain="Catalina"
811+ group="Realm"
812+ type="org.apache.catalina.realm.JAASRealm">
813+
814+ <attribute name="appName"
815+ description="The application name passed to the JAAS LoginContext,
816+ which uses it to select the set of relevant
817+ LoginModules"
818+ type="java.lang.String"/>
819+
820+ <attribute name="className"
821+ description="Fully qualified class name of the managed object"
822+ type="java.lang.String"
823+ writeable="false"/>
824+
825+ <attribute name="debug"
826+ description="The debugging detail level for this component"
827+ type="int"/>
828+
829+ <attribute name="digest"
830+ description="Digest algorithm used in storing passwords in a
831+ non-plaintext format"
832+ type="java.lang.String"/>
833+
834+ <attribute name="roleClassNames"
835+ description="Comma-delimited list of javax.security.Principal classes
836+ that represent security roles"
837+ type="java.lang.String"/>
838+
839+ <attribute name="userClassNames"
840+ description="Comma-delimited list of javax.security.Principal classes
841+ that represent individual users"
842+ type="java.lang.String"/>
843+
844+ <attribute name="validate"
845+ description="Should we validate client certificate chains when they
846+ are presented?"
847+ type="java.lang.String"/>
848+
849+ </mbean>
850+
851+
852+ <mbean name="JDBCRealm"
853+ className="org.apache.catalina.mbeans.ClassNameMBean"
854+ description="Implementation of Realm that works with any JDBC
855+ supported database"
856+ domain="Catalina"
857+ group="Realm"
858+ type="org.apache.catalina.realm.JDBCRealm">
859+
860+ <attribute name="className"
861+ description="Fully qualified class name of the managed object"
862+ type="java.lang.String"
863+ writeable="false"/>
864+
865+ <attribute name="connectionName"
866+ description="The connection username to use when trying to connect to
867+ the database"
868+ type="java.lang.String"/>
869+
870+ <attribute name="connectionPassword"
871+ description="The connection URL to use when trying to connect to the
872+ database"
873+ type="java.lang.String"/>
874+
875+ <attribute name="connectionURL"
876+ description="The connection URL to use when trying to connect to the
877+ database"
878+ type="java.lang.String"/>
879+
880+ <attribute name="debug"
881+ description="The debugging detail level for this component"
882+ type="int"/>
883+
884+ <attribute name="digest"
885+ description="Digest algorithm used in storing passwords in a
886+ non-plaintext format"
887+ type="java.lang.String"/>
888+
889+ <attribute name="driverName"
890+ description="The JDBC driver to use"
891+ type="java.lang.String"/>
892+
893+ <attribute name="roleNameCol"
894+ description="The column in the user role table that names a role"
895+ type="java.lang.String"/>
896+
897+ <attribute name="userCredCol"
898+ description="The column in the user table that holds the user's
899+ credentials"
900+ type="java.lang.String"/>
901+
902+ <attribute name="userNameCol"
903+ description="The column in the user table that holds the user's
904+ username"
905+ type="java.lang.String"/>
906+
907+ <attribute name="userRoleTable"
908+ description="The table that holds the relation between user's and
909+ roles"
910+ type="java.lang.String"/>
911+
912+ <attribute name="userTable"
913+ description="The table that holds user data"
914+ type="java.lang.String"/>
915+
916+ </mbean>
917+
918+
919+ <mbean name="JDBCUserDatabase"
920+ className="org.apache.catalina.mbeans.JDBCUserDatabaseMBean"
921+ description="JDBC based user and group database"
922+ domain="Users"
923+ group="UserDatabase"
924+ type="org.apache.catalina.users.JDBCUserDatabase">
925+
926+ <attribute name="groups"
927+ description="MBean Names of all defined groups"
928+ type="java.lang.String[]"
929+ writeable="false"/>
930+
931+ <attribute name="roles"
932+ description="MBean Names of all defined roles"
933+ type="java.lang.String[]"
934+ writeable="false"/>
935+
936+ <attribute name="users"
937+ description="MBean Names of all defined users"
938+ type="java.lang.String[]"
939+ writeable="false"/>
940+
941+ <operation name="createGroup"
942+ description="Create new group and return MBean name"
943+ impact="ACTION"
944+ returnType="java.lang.String">
945+ <parameter name="groupname"
946+ description="Group name of the new group"
947+ type="java.lang.String"/>
948+ <parameter name="description"
949+ description="Description of the new group"
950+ type="java.lang.String"/>
951+ </operation>
952+
953+ <operation name="createRole"
954+ description="Create new role and return MBean name"
955+ impact="ACTION"
956+ returnType="java.lang.String">
957+ <parameter name="rolename"
958+ description="Role name of the new role"
959+ type="java.lang.String"/>
960+ <parameter name="description"
961+ description="Description of the new role"
962+ type="java.lang.String"/>
963+ </operation>
964+
965+ <operation name="createUser"
966+ description="Create new user and return MBean name"
967+ impact="ACTION"
968+ returnType="java.lang.String">
969+ <parameter name="username"
970+ description="User name of the new user"
971+ type="java.lang.String"/>
972+ <parameter name="password"
973+ description="Password of the new user"
974+ type="java.lang.String"/>
975+ <parameter name="fullName"
976+ description="Full name of the new user"
977+ type="java.lang.String"/>
978+ </operation>
979+
980+ <operation name="findGroup"
981+ description="Return MBean Name of the specified group (if any)"
982+ impact="INFO"
983+ returnType="java.lang.String">
984+ <parameter name="groupname"
985+ description="Group name of the requested group"
986+ type="java.lang.String"/>
987+ </operation>
988+
989+ <operation name="findRole"
990+ description="Return MBean Name of the specified role (if any)"
991+ impact="INFO"
992+ returnType="java.lang.String">
993+ <parameter name="rolename"
994+ description="Role name of the requested role"
995+ type="java.lang.String"/>
996+ </operation>
997+
998+ <operation name="findUser"
999+ description="Return MBean Name of the specified user (if any)"
1000+ impact="INFO"
1001+ returnType="java.lang.String">
1002+ <parameter name="username"
1003+ description="User name of the requested user"
1004+ type="java.lang.String"/>
1005+ </operation>
1006+
1007+ <operation name="removeGroup"
1008+ description="Remove existing group (and all user memberships)"
1009+ impact="ACTION"
1010+ returnType="void">
1011+ <parameter name="groupname"
1012+ description="Group name of the group to remove"
1013+ type="java.lang.String"/>
1014+ </operation>
1015+
1016+ <operation name="removeRole"
1017+ description="Remove existing role"
1018+ impact="ACTION"
1019+ returnType="void">
1020+ <parameter name="rolename"
1021+ description="Role name of the role to remove"
1022+ type="java.lang.String"/>
1023+ </operation>
1024+
1025+ <operation name="removeUser"
1026+ description="Remove existing user (and all group memberships)"
1027+ impact="ACTION"
1028+ returnType="void">
1029+ <parameter name="username"
1030+ description="User name of the user to remove"
1031+ type="java.lang.String"/>
1032+ </operation>
1033+
1034+ <operation name="save"
1035+ description="Save current users and groups to persistent storage"
1036+ impact="ACTION"
1037+ returnType="void">
1038+ </operation>
1039+
1040+ </mbean>
1041+
1042+
1043+ <mbean name="JNDIRealm"
1044+ className="org.apache.catalina.mbeans.ClassNameMBean"
1045+ description="Implementation of Realm that works with a directory
1046+ server accessed via the Java Naming and Directory
1047+ Interface (JNDI) APIs"
1048+ domain="Catalina"
1049+ group="Realm"
1050+ type="org.apache.catalina.realm.JNDIRealm">
1051+
1052+ <attribute name="className"
1053+ description="Fully qualified class name of the managed object"
1054+ type="java.lang.String"
1055+ writeable="false"/>
1056+
1057+ <attribute name="connectionName"
1058+ description="The connection username for the server we will contact"
1059+ type="java.lang.String"/>
1060+
1061+ <attribute name="connectionPassword"
1062+ description="The connection password for the server we will contact"
1063+ type="java.lang.String"/>
1064+
1065+ <attribute name="connectionURL"
1066+ description="The connection URL for the server we will contact"
1067+ type="java.lang.String"/>
1068+
1069+ <attribute name="contextFactory"
1070+ description="The JNDI context factory for this Realm"
1071+ type="java.lang.String"/>
1072+
1073+ <attribute name="debug"
1074+ description="The debugging detail level for this component"
1075+ type="int"/>
1076+
1077+ <attribute name="digest"
1078+ description="Digest algorithm used in storing passwords in a
1079+ non-plaintext format"
1080+ type="java.lang.String"/>
1081+
1082+ <attribute name="roleBase"
1083+ description="The base element for role searches"
1084+ type="java.lang.String"/>
1085+
1086+ <attribute name="roleName"
1087+ description="The name of the attribute containing roles held elsewhere"
1088+ type="java.lang.String"/>
1089+
1090+ <attribute name="roleSearch"
1091+ description="The message format used to select roles for a user"
1092+ type="java.lang.String"/>
1093+
1094+ <attribute name="roleSubtree"
1095+ description="Should we search the entire subtree for matching
1096+ memberships?"
1097+ type="boolean"/>
1098+
1099+ <attribute name="userBase"
1100+ description="The base element for user searches"
1101+ type="java.lang.String"/>
1102+
1103+ <attribute name="userPassword"
1104+ description="The attribute name used to retrieve the user password"
1105+ type="java.lang.String"/>
1106+
1107+ <attribute name="userPattern"
1108+ description="The message format used to select a user"
1109+ type="java.lang.String"/>
1110+
1111+ <attribute name="userRoleName"
1112+ description="The name of the attribute in the user's entry containing
1113+ roles for that user"
1114+ type="java.lang.String"/>
1115+
1116+ <attribute name="userSearch"
1117+ description="The message format used to search for a user"
1118+ type="java.lang.String"/>
1119+
1120+ <attribute name="userSubtree"
1121+ description="Should we search the entire subtree for matching
1122+ users?"
1123+ type="boolean"/>
1124+
1125+ </mbean>
1126+
1127+
1128+ <mbean name="MBeanFactory"
1129+ className="org.apache.catalina.mbeans.MBeanFactory"
1130+ description="Factory for MBeans and corresponding components"
1131+ domain="Catalina">
1132+
1133+ <!-- IMPLEMENTATION NOTE - all of the createXxxxx methods create a new -->
1134+ <!-- component and attach it to Catalina's component tree. The return -->
1135+ <!-- value is the object name of the corresponding MBean for the new -->
1136+ <!-- component. -->
1137+
1138+ <operation name="createAccessLoggerValve"
1139+ description="Create a new AccessLoggerValve"
1140+ impact="ACTION"
1141+ returnType="java.lang.String">
1142+ <parameter name="parent"
1143+ description="MBean Name of the associated parent component"
1144+ type="java.lang.String"/>
1145+ </operation>
1146+
1147+ <operation name="createAjpConnector"
1148+ description="Create a new AjpConnector"
1149+ impact="ACTION"
1150+ returnType="java.lang.String">
1151+ <parameter name="parent"
1152+ description="MBean Name of the associated parent component"
1153+ type="java.lang.String"/>
1154+ <parameter name="address"
1155+ description="The IP address on which to bind"
1156+ type="java.lang.String"/>
1157+ <parameter name="port"
1158+ description="TCP port number to listen on"
1159+ type="int"/>
1160+ </operation>
1161+
1162+ <operation name="createDefaultContext"
1163+ description="Create a new DefaultContext"
1164+ impact="ACTION"
1165+ returnType="java.lang.String">
1166+ <parameter name="parent"
1167+ description="MBean Name of the associated parent component"
1168+ type="java.lang.String"/>
1169+ </operation>
1170+
1171+ <operation name="createFileLogger"
1172+ description="Create a new FileLogger"
1173+ impact="ACTION"
1174+ returnType="java.lang.String">
1175+ <parameter name="parent"
1176+ description="MBean Name of the associated parent component"
1177+ type="java.lang.String"/>
1178+ </operation>
1179+
1180+ <operation name="createHttpConnector"
1181+ description="Create a new HttpConnector"
1182+ impact="ACTION"
1183+ returnType="java.lang.String">
1184+ <parameter name="parent"
1185+ description="MBean Name of the associated parent component"
1186+ type="java.lang.String"/>
1187+ <parameter name="address"
1188+ description="The IP address on which to bind"
1189+ type="java.lang.String"/>
1190+ <parameter name="port"
1191+ description="TCP port number to listen on"
1192+ type="int"/>
1193+ </operation>
1194+
1195+ <operation name="createHttpsConnector"
1196+ description="Create a new HttpsConnector"
1197+ impact="ACTION"
1198+ returnType="java.lang.String">
1199+ <parameter name="parent"
1200+ description="MBean Name of the associated parent component"
1201+ type="java.lang.String"/>
1202+ <parameter name="address"
1203+ description="The IP address on which to bind"
1204+ type="java.lang.String"/>
1205+ <parameter name="port"
1206+ description="TCP port number to listen on"
1207+ type="int"/>
1208+ </operation>
1209+
1210+ <operation name="createJDBCRealm"
1211+ description="Create a new JDBC Realm"
1212+ impact="ACTION"
1213+ returnType="java.lang.String">
1214+ <parameter name="parent"
1215+ description="MBean Name of the associated parent component"
1216+ type="java.lang.String"/>
1217+ </operation>
1218+
1219+ <operation name="createJNDIRealm"
1220+ description="Create a new JNDI Realm"
1221+ impact="ACTION"
1222+ returnType="java.lang.String">
1223+ <parameter name="parent"
1224+ description="MBean Name of the associated parent component"
1225+ type="java.lang.String"/>
1226+ </operation>
1227+
1228+ <operation name="createMemoryRealm"
1229+ description="Create a new Memory Realm"
1230+ impact="ACTION"
1231+ returnType="java.lang.String">
1232+ <parameter name="parent"
1233+ description="MBean Name of the associated parent component"
1234+ type="java.lang.String"/>
1235+ </operation>
1236+
1237+ <operation name="createRemoteAddrValve"
1238+ description="Create a new Remote Address Filter Valve"
1239+ impact="ACTION"
1240+ returnType="java.lang.String">
1241+ <parameter name="parent"
1242+ description="MBean Name of the associated parent component"
1243+ type="java.lang.String"/>
1244+ </operation>
1245+
1246+ <operation name="createRemoteHostValve"
1247+ description="Create a new Remote Host Filter Valve"
1248+ impact="ACTION"
1249+ returnType="java.lang.String">
1250+ <parameter name="parent"
1251+ description="MBean Name of the associated parent component"
1252+ type="java.lang.String"/>
1253+ </operation>
1254+
1255+ <operation name="createRequestDumperValve"
1256+ description="Create a new Request Dumper Valve"
1257+ impact="ACTION"
1258+ returnType="java.lang.String">
1259+ <parameter name="parent"
1260+ description="MBean Name of the associated parent component"
1261+ type="java.lang.String"/>
1262+ </operation>
1263+
1264+ <operation name="createSingleSignOn"
1265+ description="Create a new Single Sign On Valve"
1266+ impact="ACTION"
1267+ returnType="java.lang.String">
1268+ <parameter name="parent"
1269+ description="MBean Name of the associated parent component"
1270+ type="java.lang.String"/>
1271+ </operation>
1272+
1273+ <operation name="createStandardContext"
1274+ description="Create a new StandardContext"
1275+ impact="ACTION"
1276+ returnType="java.lang.String">
1277+ <parameter name="parent"
1278+ description="MBean Name of the associated parent component"
1279+ type="java.lang.String"/>
1280+ <parameter name="path"
1281+ description="The context path for this Context"
1282+ type="java.lang.String"/>
1283+ <parameter name="docBase"
1284+ description="Document base directory (or WAR) for ths Context"
1285+ type="java.lang.String"/>
1286+ </operation>
1287+
1288+ <operation name="createStandardEngine"
1289+ description="Create a new StandardEngine"
1290+ impact="ACTION"
1291+ returnType="java.lang.String">
1292+ <parameter name="parent"
1293+ description="MBean Name of the associated parent component"
1294+ type="java.lang.String"/>
1295+ <parameter name="name"
1296+ description="Unique name of this Engine"
1297+ type="java.lang.String"/>
1298+ <parameter name="defaultHost"
1299+ description="Default host name for this Engine"
1300+ type="java.lang.String"/>
1301+ </operation>
1302+
1303+ <operation name="createStandardHost"
1304+ description="Create a new StandardHost"
1305+ impact="ACTION"
1306+ returnType="java.lang.String">
1307+ <parameter name="parent"
1308+ description="MBean Name of the associated parent component"
1309+ type="java.lang.String"/>
1310+ <parameter name="name"
1311+ description="Unique name of this Host"
1312+ type="java.lang.String"/>
1313+ <parameter name="appBase"
1314+ description="Application base directory for this Host"
1315+ type="java.lang.String"/>
1316+ <parameter name="unpackWARs"
1317+ description="Should we unpack WARs when auto-deploying?"
1318+ type="boolean"/>
1319+ </operation>
1320+
1321+ <operation name="createStandardManager"
1322+ description="Create a new StandardManager"
1323+ impact="ACTION"
1324+ returnType="java.lang.String">
1325+ <parameter name="parent"
1326+ description="MBean Name of the associated parent component"
1327+ type="java.lang.String"/>
1328+ </operation>
1329+
1330+ <operation name="createStandardService"
1331+ description="Create a new StandardService"
1332+ impact="ACTION"
1333+ returnType="java.lang.String">
1334+ <parameter name="parent"
1335+ description="MBean Name of the associated parent component"
1336+ type="java.lang.String"/>
1337+ <parameter name="name"
1338+ description="Unique name of this Service"
1339+ type="java.lang.String"/>
1340+ </operation>
1341+
1342+ <operation name="createSystemErrLogger"
1343+ description="Create a new System Error Logger"
1344+ impact="ACTION"
1345+ returnType="java.lang.String">
1346+ <parameter name="parent"
1347+ description="MBean Name of the associated parent component"
1348+ type="java.lang.String"/>
1349+ </operation>
1350+
1351+ <operation name="createSystemOutLogger"
1352+ description="Create a new System Output Logger"
1353+ impact="ACTION"
1354+ returnType="java.lang.String">
1355+ <parameter name="parent"
1356+ description="MBean Name of the associated parent component"
1357+ type="java.lang.String"/>
1358+ </operation>
1359+
1360+ <operation name="createUserDatabaseRealm"
1361+ description="Create a new UserDatabase Realm"
1362+ impact="ACTION"
1363+ returnType="java.lang.String">
1364+ <parameter name="parent"
1365+ description="MBean Name of the associated parent component"
1366+ type="java.lang.String"/>
1367+ <parameter name="resourceName"
1368+ description="Global JNDI resource name of our UserDatabase instance"
1369+ type="java.lang.String"/>
1370+ </operation>
1371+
1372+ <operation name="createWebappLoader"
1373+ description="Create a new Web Application Loader"
1374+ impact="ACTION"
1375+ returnType="java.lang.String">
1376+ <parameter name="parent"
1377+ description="MBean Name of the associated parent component"
1378+ type="java.lang.String"/>
1379+ </operation>
1380+
1381+ <!-- IMPLEMENTATION NOTE - all of the removeXxxxx methods cause the -->
1382+ <!-- corresponding Catalina component (and any related child -->
1383+ <!-- components to be stopped (if necessary) and removed, and the -->
1384+ <!-- corresponding MBeans to be destroyed. -->
1385+
1386+ <operation name="removeConnector"
1387+ description="Remove an existing Connector"
1388+ impact="ACTION"
1389+ returnType="void">
1390+ <parameter name="name"
1391+ description="MBean Name of the component to be removed"
1392+ type="java.lang.String"/>
1393+ </operation>
1394+
1395+ <operation name="removeContext"
1396+ description="Remove an existing Context"
1397+ impact="ACTION"
1398+ returnType="void">
1399+ <parameter name="name"
1400+ description="MBean Name of the component to be removed"
1401+ type="java.lang.String"/>
1402+ </operation>
1403+
1404+ <operation name="removeHost"
1405+ description="Remove an existing Host"
1406+ impact="ACTION"
1407+ returnType="void">
1408+ <parameter name="name"
1409+ description="MBean Name of the component to be removed"
1410+ type="java.lang.String"/>
1411+ </operation>
1412+
1413+ <operation name="removeLoader"
1414+ description="Remove an existing Loader"
1415+ impact="ACTION"
1416+ returnType="void">
1417+ <parameter name="name"
1418+ description="MBean Name of the component to be removed"
1419+ type="java.lang.String"/>
1420+ </operation>
1421+
1422+ <operation name="removeLogger"
1423+ description="Remove an existing Logger"
1424+ impact="ACTION"
1425+ returnType="void">
1426+ <parameter name="name"
1427+ description="MBean Name of the component to be removed"
1428+ type="java.lang.String"/>
1429+ </operation>
1430+
1431+ <operation name="removeManager"
1432+ description="Remove an existing Manager"
1433+ impact="ACTION"
1434+ returnType="void">
1435+ <parameter name="name"
1436+ description="MBean Name of the component to be removed"
1437+ type="java.lang.String"/>
1438+ </operation>
1439+
1440+ <operation name="removeRealm"
1441+ description="Remove an existing Realm"
1442+ impact="ACTION"
1443+ returnType="void">
1444+ <parameter name="name"
1445+ description="MBean Name of the component to be removed"
1446+ type="java.lang.String"/>
1447+ </operation>
1448+
1449+ <operation name="removeService"
1450+ description="Remove an existing Service"
1451+ impact="ACTION"
1452+ returnType="void">
1453+ <parameter name="name"
1454+ description="MBean Name of the component to be removed"
1455+ type="java.lang.String"/>
1456+ </operation>
1457+
1458+ <operation name="removeValve"
1459+ description="Remove an existing Valve"
1460+ impact="ACTION"
1461+ returnType="void">
1462+ <parameter name="name"
1463+ description="MBean Name of the component to be removed"
1464+ type="java.lang.String"/>
1465+ </operation>
1466+
1467+ </mbean>
1468+
1469+
1470+ <mbean name="MemoryRealm"
1471+ className="org.apache.catalina.mbeans.ClassNameMBean"
1472+ description="Simple implementation of Realm that reads an XML file to
1473+ configure the valid users, passwords, and roles"
1474+ domain="Catalina"
1475+ group="Realm"
1476+ type="org.apache.catalina.realm.MemoryRealm">
1477+
1478+ <attribute name="className"
1479+ description="Fully qualified class name of the managed object"
1480+ type="java.lang.String"
1481+ writeable="false"/>
1482+
1483+ <attribute name="debug"
1484+ description="The debugging detail level for this component"
1485+ type="int"/>
1486+
1487+ <attribute name="pathname"
1488+ description="The pathname of the XML file containing our database
1489+ information"
1490+ type="java.lang.String"/>
1491+
1492+ </mbean>
1493+
1494+
1495+ <mbean name="MemoryUserDatabase"
1496+ className="org.apache.catalina.mbeans.MemoryUserDatabaseMBean"
1497+ description="In-memory user and group database"
1498+ domain="Users"
1499+ group="UserDatabase"
1500+ type="org.apache.catalina.users.MemoryUserDatabase">
1501+
1502+ <attribute name="encoding"
1503+ description="Character encoding to use when writing XML file"
1504+ type="java.lang.String"/>
1505+
1506+ <attribute name="groups"
1507+ description="MBean Names of all defined groups"
1508+ type="java.lang.String[]"
1509+ writeable="false"/>
1510+
1511+ <attribute name="pathname"
1512+ description="Relative or absolute pathname to database file"
1513+ type="java.lang.String"/>
1514+
1515+ <attribute name="roles"
1516+ description="MBean Names of all defined roles"
1517+ type="java.lang.String[]"
1518+ writeable="false"/>
1519+
1520+ <attribute name="users"
1521+ description="MBean Names of all defined users"
1522+ type="java.lang.String[]"
1523+ writeable="false"/>
1524+
1525+ <operation name="createGroup"
1526+ description="Create new group and return MBean name"
1527+ impact="ACTION"
1528+ returnType="java.lang.String">
1529+ <parameter name="groupname"
1530+ description="Group name of the new group"
1531+ type="java.lang.String"/>
1532+ <parameter name="description"
1533+ description="Description of the new group"
1534+ type="java.lang.String"/>
1535+ </operation>
1536+
1537+ <operation name="createRole"
1538+ description="Create new role and return MBean name"
1539+ impact="ACTION"
1540+ returnType="java.lang.String">
1541+ <parameter name="rolename"
1542+ description="Role name of the new role"
1543+ type="java.lang.String"/>
1544+ <parameter name="description"
1545+ description="Description of the new role"
1546+ type="java.lang.String"/>
1547+ </operation>
1548+
1549+ <operation name="createUser"
1550+ description="Create new user and return MBean name"
1551+ impact="ACTION"
1552+ returnType="java.lang.String">
1553+ <parameter name="username"
1554+ description="User name of the new user"
1555+ type="java.lang.String"/>
1556+ <parameter name="password"
1557+ description="Password of the new user"
1558+ type="java.lang.String"/>
1559+ <parameter name="fullName"
1560+ description="Full name of the new user"
1561+ type="java.lang.String"/>
1562+ </operation>
1563+
1564+ <operation name="findGroup"
1565+ description="Return MBean Name of the specified group (if any)"
1566+ impact="INFO"
1567+ returnType="java.lang.String">
1568+ <parameter name="groupname"
1569+ description="Group name of the requested group"
1570+ type="java.lang.String"/>
1571+ </operation>
1572+
1573+ <operation name="findRole"
1574+ description="Return MBean Name of the specified role (if any)"
1575+ impact="INFO"
1576+ returnType="java.lang.String">
1577+ <parameter name="rolename"
1578+ description="Role name of the requested role"
1579+ type="java.lang.String"/>
1580+ </operation>
1581+
1582+ <operation name="findUser"
1583+ description="Return MBean Name of the specified user (if any)"
1584+ impact="INFO"
1585+ returnType="java.lang.String">
1586+ <parameter name="username"
1587+ description="User name of the requested user"
1588+ type="java.lang.String"/>
1589+ </operation>
1590+
1591+ <operation name="removeGroup"
1592+ description="Remove existing group (and all user memberships)"
1593+ impact="ACTION"
1594+ returnType="void">
1595+ <parameter name="groupname"
1596+ description="Group name of the group to remove"
1597+ type="java.lang.String"/>
1598+ </operation>
1599+
1600+ <operation name="removeRole"
1601+ description="Remove existing role"
1602+ impact="ACTION"
1603+ returnType="void">
1604+ <parameter name="rolename"
1605+ description="Role name of the role to remove"
1606+ type="java.lang.String"/>
1607+ </operation>
1608+
1609+ <operation name="removeUser"
1610+ description="Remove existing user (and all group memberships)"
1611+ impact="ACTION"
1612+ returnType="void">
1613+ <parameter name="username"
1614+ description="User name of the user to remove"
1615+ type="java.lang.String"/>
1616+ </operation>
1617+
1618+ <operation name="save"
1619+ description="Save current users and groups to persistent storage"
1620+ impact="ACTION"
1621+ returnType="void">
1622+ </operation>
1623+
1624+ </mbean>
1625+
1626+
1627+ <mbean name="NamingContextListener"
1628+ className="org.apache.catalina.mbeans.ClassNameMBean"
1629+ description="Helper class used to initialize and populate the JNDI
1630+ context associated with each context and server"
1631+ domain="Catalina"
1632+ group="Listener"
1633+ type="org.apache.catalina.core.NamingContextListener">
1634+
1635+ <attribute name="className"
1636+ description="Fully qualified class name of the managed object"
1637+ type="java.lang.String"
1638+ writeable="false"/>
1639+
1640+ <attribute name="debug"
1641+ description="The debugging detail level for this component"
1642+ type="int"/>
1643+
1644+ </mbean>
1645+
1646+
1647+ <mbean name="NamingResources"
1648+ className="org.apache.catalina.mbeans.NamingResourcesMBean"
1649+ description="Holds and manages the naming resources defined in the
1650+ J2EE Enterprise Naming Context and their associated JNDI context"
1651+ domain="Catalina"
1652+ group="Resources"
1653+ type="org.apache.catalina.deploy.NamingResources">
1654+
1655+ <attribute name="environments"
1656+ description="MBean Names of the set of defined environment entries
1657+ for this web application"
1658+ type="java.lang.String[]"
1659+ writeable="false"/>
1660+
1661+ <attribute name="resources"
1662+ description="MBean Names of all the defined resource references
1663+ for this application."
1664+ type="java.lang.String[]"
1665+ writeable="false"/>
1666+
1667+ <attribute name="resourceLinks"
1668+ description="MBean Names of all the defined resource link references
1669+ for this application."
1670+ type="java.lang.String[]"
1671+ writeable="false"/>
1672+
1673+ <operation name="addEnvironment"
1674+ description="Add an environment entry for this web application"
1675+ impact="ACTION"
1676+ returnType="void">
1677+ <parameter name="envName"
1678+ description="New environment entry name"
1679+ type="java.lang.String"/>
1680+ <parameter name="type"
1681+ description="New environment entry type"
1682+ type="java.lang.String"/>
1683+ <parameter name="value"
1684+ description="New environment entry value"
1685+ type="java.lang.String"/>
1686+ </operation>
1687+
1688+ <operation name="addResource"
1689+ description="Add a resource reference for this web application"
1690+ impact="ACTION"
1691+ returnType="void">
1692+ <parameter name="resourceName"
1693+ description="New resource reference name"
1694+ type="java.lang.String"/>
1695+ <parameter name="type"
1696+ description="New resource reference type"
1697+ type="java.lang.String"/>
1698+ </operation>
1699+
1700+ <operation name="addResourceLink"
1701+ description="Add a resource link reference for this web application"
1702+ impact="ACTION"
1703+ returnType="void">
1704+ <parameter name="global"
1705+ description="New resource reference global name"
1706+ type="java.lang.String"/>
1707+ <parameter name="resourceLinkName"
1708+ description="New resource reference name"
1709+ type="java.lang.String"/>
1710+ <parameter name="type"
1711+ description="New resource reference type"
1712+ type="java.lang.String"/>
1713+ </operation>
1714+
1715+ <operation name="removeEnvironment"
1716+ description="Remove any environment entry with the specified name"
1717+ impact="ACTION"
1718+ returnType="void">
1719+ <parameter name="envName"
1720+ description="Name of the environment entry to remove"
1721+ type="java.lang.String"/>
1722+ </operation>
1723+
1724+ <operation name="removeResource"
1725+ description="Remove any resource reference with the specified name"
1726+ impact="ACTION"
1727+ returnType="void">
1728+ <parameter name="resourceName"
1729+ description="Name of the resource reference to remove"
1730+ type="java.lang.String"/>
1731+ </operation>
1732+
1733+ <operation name="removeResourceLink"
1734+ description="Remove any resource link reference with the specified name"
1735+ impact="ACTION"
1736+ returnType="void">
1737+ <parameter name="resourceLinkName"
1738+ description="Name of the resource reference to remove"
1739+ type="java.lang.String"/>
1740+ </operation>
1741+
1742+ </mbean>
1743+
1744+
1745+ <mbean name="RemoteAddrValve"
1746+ className="org.apache.catalina.mbeans.ClassNameMBean"
1747+ description="Concrete implementation of RequestFilterValve that
1748+ filters based on the string representation of the remote
1749+ client's IP address"
1750+ domain="Catalina"
1751+ group="Valve"
1752+ type="org.apache.catalina.valves.RemoteAddrValve">
1753+
1754+ <attribute name="allow"
1755+ description="The comma-delimited set of allow expressions"
1756+ type="java.lang.String"/>
1757+
1758+ <attribute name="className"
1759+ description="Fully qualified class name of the managed object"
1760+ type="java.lang.String"
1761+ writeable="false"/>
1762+
1763+ <attribute name="debug"
1764+ description="The debugging detail level for this component"
1765+ type="int"/>
1766+
1767+ <attribute name="deny"
1768+ description="The comma-delimited set of deny expressions"
1769+ type="java.lang.String"/>
1770+
1771+ </mbean>
1772+
1773+
1774+ <mbean name="RemoteHostValve"
1775+ className="org.apache.catalina.mbeans.ClassNameMBean"
1776+ description="Concrete implementation of RequestFilterValve that
1777+ filters based on the string representation of the remote
1778+ client's host name"
1779+ domain="Catalina"
1780+ group="Valve"
1781+ type="org.apache.catalina.valves.RemoteHostValve">
1782+
1783+ <attribute name="allow"
1784+ description="The comma-delimited set of allow expressions"
1785+ type="java.lang.String"/>
1786+
1787+ <attribute name="className"
1788+ description="Fully qualified class name of the managed object"
1789+ type="java.lang.String"
1790+ writeable="false"/>
1791+
1792+ <attribute name="debug"
1793+ description="The debugging detail level for this component"
1794+ type="int"/>
1795+
1796+ <attribute name="deny"
1797+ description="The comma-delimited set of deny expressions"
1798+ type="java.lang.String"/>
1799+
1800+ </mbean>
1801+
1802+
1803+ <mbean name="NonLoginAuthenticator"
1804+ className="org.apache.catalina.mbeans.ClassNameMBean"
1805+ description="An Authenticator and Valve implementation that checks
1806+ only security constraints not involving user authentication"
1807+ domain="Catalina"
1808+ group="Valve"
1809+ type="org.apache.catalina.authenticator.NonLoginAuthenticator">
1810+
1811+ <attribute name="algorithm"
1812+ description="The message digest algorithm to be used when generating
1813+ session identifiers"
1814+ type="java.lang.String"/>
1815+
1816+ <attribute name="cache"
1817+ description="Should we cache authenticated Principals if the request
1818+ is part of an HTTP session?"
1819+ type="boolean"/>
1820+
1821+ <attribute name="className"
1822+ description="Fully qualified class name of the managed object"
1823+ type="java.lang.String"
1824+ writeable="false"/>
1825+
1826+ <attribute name="debug"
1827+ description="The debugging detail level for this component"
1828+ type="int"/>
1829+
1830+ <attribute name="entropy"
1831+ description="A String initialization parameter used to increase the
1832+ entropy of the initialization of our random number
1833+ generator"
1834+ type="java.lang.String"/>
1835+ </mbean>
1836+
1837+
1838+ <mbean name="RequestDumperValve"
1839+ className="org.apache.catalina.mbeans.ClassNameMBean"
1840+ description="Implementation of a Valve that logs interesting contents
1841+ from the specified Request and the corresponding
1842+ Response"
1843+ domain="Catalina"
1844+ group="Valve"
1845+ type="org.apache.catalina.valves.RequestDumperValve">
1846+
1847+ <attribute name="className"
1848+ description="Fully qualified class name of the managed object"
1849+ type="java.lang.String"
1850+ writeable="false"/>
1851+
1852+ <attribute name="debug"
1853+ description="The debugging detail level for this component"
1854+ type="int"/>
1855+
1856+ </mbean>
1857+
1858+
1859+ <mbean name="Role"
1860+ className="org.apache.catalina.mbeans.RoleMBean"
1861+ description="Security role from a user database"
1862+ domain="Users"
1863+ group="Role"
1864+ type="org.apache.catalina.Role">
1865+
1866+ <attribute name="description"
1867+ description="Description of this role"
1868+ type="java.lang.String"/>
1869+
1870+ <attribute name="rolename"
1871+ description="Role name of this role"
1872+ type="java.lang.String"/>
1873+
1874+ </mbean>
1875+
1876+
1877+ <mbean name="SingleSignOn"
1878+ className="org.apache.catalina.mbeans.ClassNameMBean"
1879+ description="A Valve that supports a 'single signon' user experience"
1880+ domain="Catalina"
1881+ group="Valve"
1882+ type="org.apache.catalina.authenticator.SingleSignOn">
1883+
1884+ <attribute name="className"
1885+ description="Fully qualified class name of the managed object"
1886+ type="java.lang.String"
1887+ writeable="false"/>
1888+
1889+ <attribute name="debug"
1890+ description="The debugging detail level for this component"
1891+ type="int"/>
1892+
1893+ </mbean>
1894+
1895+
1896+ <mbean name="SSLAuthenticator"
1897+ className="org.apache.catalina.mbeans.ClassNameMBean"
1898+ description="An Authenticator and Valve implementation of
1899+ authentication that utilizes SSL certificates to
1900+ identify client users"
1901+ domain="Catalina"
1902+ group="Valve"
1903+ type="org.apache.catalina.authenticator.SSLAuthenticator">
1904+
1905+ <attribute name="algorithm"
1906+ description="The message digest algorithm to be used when generating
1907+ session identifiers"
1908+ type="java.lang.String"/>
1909+
1910+ <attribute name="cache"
1911+ description="Should we cache authenticated Principals if the request
1912+ is part of an HTTP session?"
1913+ type="boolean"/>
1914+
1915+ <attribute name="className"
1916+ description="Fully qualified class name of the managed object"
1917+ type="java.lang.String"
1918+ writeable="false"/>
1919+
1920+ <attribute name="debug"
1921+ description="The debugging detail level for this component"
1922+ type="int"/>
1923+
1924+ <attribute name="entropy"
1925+ description="A String initialization parameter used to increase the
1926+ entropy of the initialization of our random number
1927+ generator"
1928+ type="java.lang.String"/>
1929+ </mbean>
1930+
1931+
1932+ <mbean name="StandardContext"
1933+ className="org.apache.catalina.mbeans.StandardContextMBean"
1934+ description="Standard Context Component"
1935+ domain="Catalina"
1936+ group="Context"
1937+ type="org.apache.catalina.core.StandardContext">
1938+
1939+ <attribute name="cookies"
1940+ description="Should we attempt to use cookies for session id
1941+ communication?"
1942+ type="boolean"/>
1943+
1944+ <attribute name="cookies"
1945+ description="Should we attempt to use cookies for session id
1946+ communication?"
1947+ type="boolean"/>
1948+
1949+ <attribute name="crossContext"
1950+ description="Should we allow the ServletContext.getContext() method to
1951+ access the context of other web applications in this
1952+ server?"
1953+ type="boolean"/>
1954+
1955+ <attribute name="debug"
1956+ description="The debugging detail level for this component"
1957+ type="int"/>
1958+
1959+ <attribute name="docBase"
1960+ description="The document root for this web application"
1961+ type="java.lang.String"/>
1962+
1963+ <attribute name="environments"
1964+ description="MBean Names of the set of defined environment entries
1965+ for this web application"
1966+ type="java.lang.String[]"
1967+ writeable="false"/>
1968+
1969+ <attribute name="managedResource"
1970+ description="The managed resource this MBean is associated with"
1971+ type="java.lang.Object"/>
1972+
1973+ <attribute name="override"
1974+ description="The DefaultContext override flag for this web
1975+ application"
1976+ type="boolean"/>
1977+
1978+ <attribute name="path"
1979+ description="The context path for this Context"
1980+ type="java.lang.String"/>
1981+
1982+ <attribute name="reloadable"
1983+ description="The reloadable flag for this web application"
1984+ type="boolean"/>
1985+
1986+ <attribute name="resources"
1987+ description="MBean Names of all the defined resource references
1988+ for this application."
1989+ type="java.lang.String[]"
1990+ writeable="false"/>
1991+
1992+ <attribute name="swallowOutput"
1993+ description="Flag to set to cause the system.out and system.err
1994+ to be redirected to the logger when executing a servlet"
1995+ type="boolean"/>
1996+
1997+ <attribute name="useNaming"
1998+ description="Create a JNDI naming context for this application?"
1999+ is="true"
2000+ type="boolean"/>
2001+
2002+ <attribute name="workDir"
2003+ description="The pathname to the work directory for this context"
2004+ type="java.lang.String"/>
2005+
2006+ <attribute name="available"
2007+ description="Is this context available"
2008+ type="boolean"/>
2009+
2010+ <operation name="addEnvironment"
2011+ description="Add an environment entry for this web application"
2012+ impact="ACTION"
2013+ returnType="void">
2014+ <parameter name="envName"
2015+ description="New environment entry name"
2016+ type="java.lang.String"/>
2017+ </operation>
2018+
2019+ <operation name="addResource"
2020+ description="Add a resource reference for this web application"
2021+ impact="ACTION"
2022+ returnType="void">
2023+ <parameter name="resourceName"
2024+ description="New resource reference name"
2025+ type="java.lang.String"/>
2026+ </operation>
2027+
2028+ <operation name="removeEnvironment"
2029+ description="Remove any environment entry with the specified name"
2030+ impact="ACTION"
2031+ returnType="void">
2032+ <parameter name="envName"
2033+ description="Name of the environment entry to remove"
2034+ type="java.lang.String"/>
2035+ </operation>
2036+
2037+ <operation name="removeResource"
2038+ description="Remove any resource reference with the specified name"
2039+ impact="ACTION"
2040+ returnType="void">
2041+ <parameter name="resourceName"
2042+ description="Name of the resource reference to remove"
2043+ type="java.lang.String"/>
2044+ </operation>
2045+
2046+ <operation name="start"
2047+ description="Start the webapp"
2048+ impact="ACTION"
2049+ returnType="void">
2050+ </operation>
2051+
2052+ <operation name="stop"
2053+ description="Start the webapp"
2054+ impact="ACTION"
2055+ returnType="void">
2056+ </operation>
2057+
2058+ <operation name="reload"
2059+ description="Restart the webapp"
2060+ impact="ACTION"
2061+ returnType="void">
2062+ </operation>
2063+
2064+ </mbean>
2065+
2066+
2067+ <mbean name="StandardContextValve"
2068+ className="org.apache.catalina.mbeans.ClassNameMBean"
2069+ description="Valve that implements the default basic behavior for the
2070+ StandardContext container implementation"
2071+ domain="Catalina"
2072+ group="Valve"
2073+ type="org.apache.catalina.core.StandardContextValve">
2074+
2075+ <attribute name="className"
2076+ description="Fully qualified class name of the managed object"
2077+ type="java.lang.String"
2078+ writeable="false"/>
2079+
2080+ <attribute name="debug"
2081+ description="The debugging detail level for this component"
2082+ type="int"/>
2083+
2084+ </mbean>
2085+
2086+
2087+ <mbean name="StandardEngine"
2088+ className="org.apache.catalina.mbeans.StandardEngineMBean"
2089+ description="Standard Engine Component"
2090+ domain="Catalina"
2091+ group="Engine"
2092+ type="org.apache.catalina.core.StandardEngine">
2093+
2094+ <attribute name="debug"
2095+ description="The debugging detail level for this component"
2096+ type="int"/>
2097+
2098+ <attribute name="defaultHost"
2099+ description="Name of the default Host for this Engine"
2100+ type="java.lang.String"/>
2101+
2102+ <attribute name="managedResource"
2103+ description="The managed resource this MBean is associated with"
2104+ type="java.lang.Object"/>
2105+
2106+ <attribute name="name"
2107+ description="Unique name of this Engine"
2108+ type="java.lang.String"/>
2109+
2110+ </mbean>
2111+
2112+
2113+ <mbean name="StandardEngineValve"
2114+ className="org.apache.catalina.mbeans.ClassNameMBean"
2115+ description="Valve that implements the default basic behavior for the
2116+ StandardEngine container implementation"
2117+ domain="Catalina"
2118+ group="Valve"
2119+ type="org.apache.catalina.core.StandardEngineValve">
2120+
2121+ <attribute name="className"
2122+ description="Fully qualified class name of the managed object"
2123+ type="java.lang.String"
2124+ writeable="false"/>
2125+
2126+ <attribute name="debug"
2127+ description="The debugging detail level for this component"
2128+ type="int"/>
2129+
2130+ </mbean>
2131+
2132+
2133+ <mbean name="StandardHost"
2134+ className="org.apache.catalina.mbeans.StandardHostMBean"
2135+ description="Standard Host Component"
2136+ domain="Catalina"
2137+ group="Host"
2138+ type="org.apache.catalina.core.StandardHost">
2139+
2140+ <attribute name="appBase"
2141+ description="The application root for this Host"
2142+ type="java.lang.String"/>
2143+
2144+ <attribute name="autoDeploy"
2145+ description="The auto deploy flag for this Host"
2146+ type="boolean"/>
2147+
2148+ <attribute name="debug"
2149+ description="The debugging detail level for this component"
2150+ type="int"/>
2151+
2152+ <attribute name="deployXML"
2153+ description="deploy Context XML config files property"
2154+ is="true"
2155+ type="boolean"/>
2156+
2157+ <attribute name="liveDeploy"
2158+ description="The live deploy flag for this Host"
2159+ type="boolean"/>
2160+
2161+ <attribute name="managedResource"
2162+ description="The managed resource this MBean is associated with"
2163+ type="java.lang.Object"/>
2164+
2165+ <attribute name="name"
2166+ description="Unique name of this Host"
2167+ type="java.lang.String"/>
2168+
2169+ <attribute name="unpackWARs"
2170+ description="Unpack WARs property"
2171+ is="true"
2172+ type="boolean"/>
2173+
2174+ <operation name="addAlias"
2175+ description="Add an alias name that should be mapped to this Host"
2176+ impact="ACTION"
2177+ returnType="void">
2178+ <parameter name="alias"
2179+ description="The alias to be added"
2180+ type="java.lang.String"/>
2181+ </operation>
2182+
2183+ <operation name="findAliases"
2184+ description="Return the set of alias names for this Host"
2185+ impact="INFO"
2186+ returnType="java.lang.String[]"/>
2187+
2188+ <operation name="getValves"
2189+ description="Return the MBean Names of the Valves associated with this
2190+ Host"
2191+ impact="INFO"
2192+ returnType="java.lang.String[]"/>
2193+
2194+ <operation name="removeAlias"
2195+ description="Remove the specified alias name from the aliases for this
2196+ Host"
2197+ impact="ACTION"
2198+ returnType="void">
2199+ <parameter name="alias"
2200+ description="Alias name to be removed"
2201+ type="java.lang.String"/>
2202+ </operation>
2203+
2204+ </mbean>
2205+
2206+
2207+ <mbean name="StandardHostValve"
2208+ className="org.apache.catalina.mbeans.ClassNameMBean"
2209+ description="Valve that implements the default basic behavior for the
2210+ StandardHost container implementation"
2211+ domain="Catalina"
2212+ group="Valve"
2213+ type="org.apache.catalina.core.StandardHostValve">
2214+
2215+ <attribute name="className"
2216+ description="Fully qualified class name of the managed object"
2217+ type="java.lang.String"
2218+ writeable="false"/>
2219+
2220+ <attribute name="debug"
2221+ description="The debugging detail level for this component"
2222+ type="int"/>
2223+
2224+ </mbean>
2225+
2226+
2227+ <mbean name="PersistentManager"
2228+ className="org.apache.catalina.mbeans.ClassNameMBean"
2229+ description="Standard implementation of the Manager interface"
2230+ domain="Catalina"
2231+ group="Manager"
2232+ type="org.apache.catalina.session.PersistentManager" >
2233+
2234+ <attribute name="algorithm"
2235+ description="The message digest algorithm to be used when generating
2236+ session identifiers"
2237+ type="java.lang.String"/>
2238+
2239+ <attribute name="checkInterval"
2240+ description="The interval (in seconds) between checks for expired
2241+ sessions"
2242+ type="int"/>
2243+
2244+ <attribute name="className"
2245+ description="Fully qualified class name of the managed object"
2246+ type="java.lang.String"
2247+ writeable="false"/>
2248+
2249+ <attribute name="debug"
2250+ description="The debugging detail level for this component"
2251+ type="int"/>
2252+
2253+ <attribute name="distributable"
2254+ description="The distributable flag for Sessions created by this
2255+ Manager"
2256+ type="boolean"/>
2257+
2258+ <attribute name="entropy"
2259+ description="A String initialization parameter used to increase the
2260+ entropy of the initialization of our random number
2261+ generator"
2262+ type="java.lang.String"/>
2263+
2264+ <attribute name="managedResource"
2265+ description="The managed resource this MBean is associated with"
2266+ type="java.lang.Object"/>
2267+
2268+ <attribute name="maxActiveSessions"
2269+ description="The maximum number of active Sessions allowed, or -1
2270+ for no limit"
2271+ type="int"/>
2272+
2273+ <attribute name="maxInactiveInterval"
2274+ description="The default maximum inactive interval for Sessions
2275+ created by this Manager"
2276+ type="int"/>
2277+
2278+ <attribute name="maxIdleBackup"
2279+ description="The time interval (in seconds) since the last access
2280+ to a session before it is eligible for being
2281+ persisted to the session store, or -1 to disable"
2282+ type="int"/>
2283+
2284+ <attribute name="maxIdleSwap"
2285+ description="The time interval (in seconds) since the last access
2286+ to a session before it should be persisted to the
2287+ session store, or -1 to disable"
2288+ type="int" />
2289+
2290+ <attribute name="minIdleSwap"
2291+ description="The time interval (in seconds) since the last access
2292+ to a session before it will be eligible to be
2293+ persisted to the session store, or -1 to disable"
2294+ type="int" />
2295+
2296+ <attribute name="saveOnRestart"
2297+ description="Should all sessions be persisted and reloaded when
2298+ Tomcat is shut down and restarted?"
2299+ type="boolean" />
2300+
2301+ <attribute name="name"
2302+ description="The descriptive name of this Manager implementation
2303+ (for logging)"
2304+ type="java.lang.String"
2305+ writeable="false"/>
2306+
2307+ </mbean>
2308+
2309+
2310+ <mbean name="StandardManager"
2311+ className="org.apache.catalina.mbeans.ClassNameMBean"
2312+ description="Standard implementation of the Manager interface"
2313+ domain="Catalina"
2314+ group="Manager"
2315+ type="org.apache.catalina.session.StandardManager">
2316+
2317+ <attribute name="algorithm"
2318+ description="The message digest algorithm to be used when generating
2319+ session identifiers"
2320+ type="java.lang.String"/>
2321+
2322+ <attribute name="checkInterval"
2323+ description="The interval (in seconds) between checks for expired
2324+ sessions"
2325+ type="int"/>
2326+
2327+ <attribute name="className"
2328+ description="Fully qualified class name of the managed object"
2329+ type="java.lang.String"
2330+ writeable="false"/>
2331+
2332+ <attribute name="debug"
2333+ description="The debugging detail level for this component"
2334+ type="int"/>
2335+
2336+ <attribute name="distributable"
2337+ description="The distributable flag for Sessions created by this
2338+ Manager"
2339+ type="boolean"/>
2340+
2341+ <attribute name="entropy"
2342+ description="A String initialization parameter used to increase the
2343+ entropy of the initialization of our random number
2344+ generator"
2345+ type="java.lang.String"/>
2346+
2347+ <attribute name="managedResource"
2348+ description="The managed resource this MBean is associated with"
2349+ type="java.lang.Object"/>
2350+
2351+ <attribute name="maxActiveSessions"
2352+ description="The maximum number of active Sessions allowed, or -1
2353+ for no limit"
2354+ type="int"/>
2355+
2356+ <attribute name="maxInactiveInterval"
2357+ description="The default maximum inactive interval for Sessions
2358+ created by this Manager"
2359+ type="int"/>
2360+
2361+ <attribute name="name"
2362+ description="The descriptive name of this Manager implementation
2363+ (for logging)"
2364+ type="java.lang.String"
2365+ writeable="false"/>
2366+
2367+ <attribute name="pathname"
2368+ description="Path name of the disk file in which active sessions"
2369+ type="java.lang.String"/>
2370+
2371+ <attribute name="rejectedSessions"
2372+ description="Number of sessions we rejected due to maxActive beeing reached"
2373+ type="int" />
2374+
2375+ <attribute name="expiredSessions"
2376+ description="Number of sessions that expired ( doesn't include explicit invalidations )"
2377+ type="int" />
2378+
2379+ <attribute name="duplicates"
2380+ description="Number of duplicated session ids generated"
2381+ type="int" />
2382+
2383+ <attribute name="sessionCounter"
2384+ description="Total number of sessions created by this manager"
2385+ type="int" />
2386+
2387+ <attribute name="maxActive"
2388+ description="Maximum number of active sessions so far"
2389+ type="int" />
2390+
2391+
2392+ <operation name="listSessionIds"
2393+ description="Return the list of active session ids"
2394+ impact="ACTION"
2395+ returnType="java.lang.String">
2396+ </operation>
2397+
2398+ <operation name="getSessionAttribute"
2399+ description="Return a session attribute"
2400+ impact="ACTION"
2401+ returnType="java.lang.String">
2402+ <parameter name="sessionId"
2403+ description="Id of the session"
2404+ type="java.lang.String"/>
2405+ <parameter name="key"
2406+ description="key of the attribute"
2407+ type="java.lang.String"/>
2408+ </operation>
2409+
2410+ <operation name="expireSession"
2411+ description="Expire a session"
2412+ impact="ACTION"
2413+ returnType="void">
2414+ <parameter name="sessionId"
2415+ description="Id of the session"
2416+ type="java.lang.String"/>
2417+ </operation>
2418+
2419+ <operation name="getLastAccessedTime"
2420+ description="Get the last access time"
2421+ impact="ACTION"
2422+ returnType="java.lang.String">
2423+ <parameter name="sessionId"
2424+ description="Id of the session"
2425+ type="java.lang.String"/>
2426+ </operation>
2427+
2428+ </mbean>
2429+
2430+
2431+ <mbean name="StandardServer"
2432+ className="org.apache.catalina.mbeans.StandardServerMBean"
2433+ description="Standard Server Component"
2434+ domain="Catalina"
2435+ group="Server"
2436+ type="org.apache.catalina.core.StandardServer">
2437+
2438+ <attribute name="debug"
2439+ description="The debugging detail level for this component"
2440+ type="int"/>
2441+
2442+ <attribute name="managedResource"
2443+ description="The managed resource this MBean is associated with"
2444+ type="java.lang.Object"/>
2445+
2446+ <attribute name="port"
2447+ description="TCP port for shutdown messages"
2448+ type="int"/>
2449+
2450+ <attribute name="shutdown"
2451+ description="Shutdown password"
2452+ type="java.lang.String"/>
2453+
2454+ <operation name="store"
2455+ description="Save current state to server.xml file"
2456+ impact="ACTION"
2457+ returnType="void">
2458+ </operation>
2459+
2460+ </mbean>
2461+
2462+
2463+ <mbean name="StandardService"
2464+ className="org.apache.catalina.mbeans.StandardServiceMBean"
2465+ description="Standard Service Component"
2466+ domain="Catalina"
2467+ group="Service"
2468+ type="org.apache.catalina.core.StandardService">
2469+
2470+ <attribute name="debug"
2471+ description="The debugging detail level for this component"
2472+ type="int"/>
2473+
2474+ <attribute name="managedResource"
2475+ description="The managed resource this MBean is associated with"
2476+ type="java.lang.Object"/>
2477+
2478+ <attribute name="name"
2479+ description="Unique name of this Service"
2480+ type="java.lang.String"/>
2481+
2482+ </mbean>
2483+
2484+ <mbean name="StandardWrapper"
2485+ className="org.apache.catalina.mbeans.ClassNameMBean"
2486+ description="Wrapper for a Servlet or JSP"
2487+ domain="Catalina"
2488+ group="Servlet"
2489+ type="org.apache.catalina.core.StandardWrapper">
2490+
2491+ <attribute name="name"
2492+ description="The name of the servlet"
2493+ type="java.lang.String"/>
2494+ <attribute name="jspFile"
2495+ description="The name of the jsp file - for jsps"
2496+ type="java.lang.String"/>
2497+ <attribute name="servletName"
2498+ description="The name of the servlet"
2499+ type="java.lang.String"/>
2500+ <attribute name="info"
2501+ description="Info"
2502+ type="java.lang.String"/>
2503+ <attribute name="servletClass"
2504+ description="Class name of the servlet"
2505+ type="java.lang.String"/>
2506+
2507+ <attribute name="debug"
2508+ description="Debug level"
2509+ type="int"/>
2510+ <attribute name="countAllocated"
2511+ description="Number of allocated instances, for single threaded model"
2512+ type="int"/>
2513+ <attribute name="maxInstances"
2514+ description="Maximum number of instances, for single threaded model"
2515+ type="int"/>
2516+ <attribute name="errorCount"
2517+ description="Number errors on this servlet"
2518+ type="int"/>
2519+ <attribute name="requestCount"
2520+ description="Number of requests for this servlet"
2521+ type="int"/>
2522+
2523+ <attribute name="available"
2524+ description="Delay until it will be made available"
2525+ type="long"/>
2526+ <attribute name="maxTime"
2527+ description="Longest execution time of the servlet"
2528+ type="long"/>
2529+ <attribute name="processingTime"
2530+ description="Total execution time of the servlet"
2531+ type="long"/>
2532+
2533+
2534+ </mbean>
2535+
2536+
2537+ <mbean name="StandardWrapperValve"
2538+ className="org.apache.catalina.mbeans.ClassNameMBean"
2539+ description="Valve that implements the default basic behavior for the
2540+ StandardWrapper container implementation"
2541+ domain="Catalina"
2542+ group="Valve"
2543+ type="org.apache.catalina.core.StandardWrapperValve">
2544+
2545+ <attribute name="className"
2546+ description="Fully qualified class name of the managed object"
2547+ type="java.lang.String"
2548+ writeable="false"/>
2549+
2550+ <attribute name="debug"
2551+ description="The debugging detail level for this component"
2552+ type="int"/>
2553+
2554+ </mbean>
2555+
2556+
2557+ <mbean name="SystemErrLogger"
2558+ className="org.apache.catalina.mbeans.ClassNameMBean"
2559+ description="Simple implementation of Logger that writes to
2560+ System.err"
2561+ domain="Catalina"
2562+ group="Logger"
2563+ type="org.apache.catalina.logger.SystemErrLogger">
2564+
2565+ <attribute name="className"
2566+ description="Fully qualified class name of the managed object"
2567+ type="java.lang.String"
2568+ writeable="false"/>
2569+
2570+ <attribute name="debug"
2571+ description="The debugging detail level for this component"
2572+ type="int"/>
2573+
2574+ <attribute name="verbosity"
2575+ description="The verbosity level for above which log messages may be
2576+ filtered"
2577+ type="int"/>
2578+
2579+ </mbean>
2580+
2581+
2582+ <mbean name="SystemOutLogger"
2583+ className="org.apache.catalina.mbeans.ClassNameMBean"
2584+ description="Simple implementation of Logger that writes to
2585+ System.out"
2586+ domain="Catalina"
2587+ group="Logger"
2588+ type="org.apache.catalina.logger.SystemOutLogger">
2589+
2590+ <attribute name="className"
2591+ description="Fully qualified class name of the managed object"
2592+ type="java.lang.String"
2593+ writeable="false"/>
2594+
2595+ <attribute name="debug"
2596+ description="The debugging detail level for this component"
2597+ type="int"/>
2598+
2599+ <attribute name="verbosity"
2600+ description="The verbosity level for above which log messages may be
2601+ filtered"
2602+ type="int"/>
2603+
2604+ </mbean>
2605+
2606+
2607+ <mbean name="User"
2608+ className="org.apache.catalina.mbeans.UserMBean"
2609+ description="User from a user database"
2610+ domain="Users"
2611+ group="User"
2612+ type="org.apache.catalina.User">
2613+
2614+ <attribute name="fullName"
2615+ description="Full name of this user"
2616+ type="java.lang.String"/>
2617+
2618+ <attribute name="groups"
2619+ description="MBean Names of groups this user is a member of"
2620+ type="java.lang.String[]"/>
2621+
2622+ <attribute name="password"
2623+ description="Password of this user"
2624+ type="java.lang.String"/>
2625+
2626+ <attribute name="roles"
2627+ description="MBean Names of roles for this user"
2628+ type="java.lang.String[]"
2629+ writeable="false"/>
2630+
2631+ <attribute name="username"
2632+ description="User name of this user"
2633+ type="java.lang.String"/>
2634+
2635+ <operation name="addGroup"
2636+ description="Add a new group membership for this user"
2637+ impact="ACTION"
2638+ returnType="void">
2639+ <parameter name="groupname"
2640+ description="Group name of the new group"
2641+ type="java.lang.String"/>
2642+ </operation>
2643+
2644+ <operation name="addRole"
2645+ description="Add a new authorized role for this user"
2646+ impact="ACTION"
2647+ returnType="void">
2648+ <parameter name="role"
2649+ description="Role to be added"
2650+ type="java.lang.String"/>
2651+ </operation>
2652+
2653+ <operation name="removeGroup"
2654+ description="Remove an old group membership for this user"
2655+ impact="ACTION"
2656+ returnType="void">
2657+ <parameter name="groupname"
2658+ description="Group name of the old group"
2659+ type="java.lang.String"/>
2660+ </operation>
2661+
2662+ <operation name="removeGroups"
2663+ description="Remove all group memberships for this user"
2664+ impact="ACTION"
2665+ returnType="void">
2666+ </operation>
2667+
2668+ <operation name="removeRole"
2669+ description="Remove an old authorized role for this user"
2670+ impact="ACTION"
2671+ returnType="void">
2672+ <parameter name="role"
2673+ description="Role to be removed"
2674+ type="java.lang.String"/>
2675+ </operation>
2676+
2677+ <operation name="removeRoles"
2678+ description="Remove all authorized roles for this user"
2679+ impact="ACTION"
2680+ returnType="void">
2681+ </operation>
2682+
2683+ </mbean>
2684+
2685+
2686+ <mbean name="UserDatabaseRealm"
2687+ className="org.apache.catalina.mbeans.ClassNameMBean"
2688+ description="Realm connected to a UserDatabase as a global JNDI
2689+ resource"
2690+ domain="Catalina"
2691+ group="Realm"
2692+ type="org.apache.catalina.realm.UserDatabaseRealm">
2693+
2694+ <attribute name="className"
2695+ description="Fully qualified class name of the managed object"
2696+ type="java.lang.String"
2697+ writeable="false"/>
2698+
2699+ <attribute name="debug"
2700+ description="The debugging detail level for this component"
2701+ type="int"/>
2702+
2703+ <attribute name="resourceName"
2704+ description="The global JNDI name of the UserDatabase resource to use"
2705+ type="java.lang.String"/>
2706+
2707+ </mbean>
2708+
2709+
2710+ <mbean name="WebappLoader"
2711+ className="org.apache.catalina.mbeans.ClassNameMBean"
2712+ description="Classloader implementation which is specialized for
2713+ handling web applications"
2714+ domain="Catalina"
2715+ group="Loader"
2716+ type="org.apache.catalina.loader.WebappLoader">
2717+
2718+ <attribute name="checkInterval"
2719+ description="The number of seconds between checks for modified
2720+ classes"
2721+ type="int"/>
2722+
2723+ <attribute name="className"
2724+ description="Fully qualified class name of the managed object"
2725+ type="java.lang.String"
2726+ writeable="false"/>
2727+
2728+ <attribute name="debug"
2729+ description="The debugging detail level for this component"
2730+ type="int"/>
2731+
2732+ <attribute name="delegate"
2733+ description="The 'follow standard delegation model' flag that will be
2734+ used to configure our ClassLoader"
2735+ type="boolean"/>
2736+
2737+ <attribute name="reloadable"
2738+ description="The reloadable flag for this Loader"
2739+ type="boolean"/>
2740+
2741+ </mbean>
2742+
2743+ <mbean name="DevLoader"
2744+ className="org.apache.catalina.mbeans.ClassNameMBean"
2745+ description="Classloader implementation which is specialized for
2746+ handling web applications during development"
2747+ domain="Catalina"
2748+ group="Loader"
2749+ type="org.apache.catalina.loader.DevLoader">
2750+
2751+ <attribute name="className"
2752+ description="Fully qualified class name of the managed object"
2753+ type="java.lang.String"
2754+ writeable="false"/>
2755+
2756+ <attribute name="delegate"
2757+ description="The 'follow standard delegation model' flag that will be
2758+ used to configure our ClassLoader"
2759+ type="boolean"/>
2760+
2761+ <attribute name="reloadable"
2762+ description="The reloadable flag for this Loader"
2763+ type="boolean"/>
2764+
2765+ </mbean>
2766+
2767+</mbeans-descriptors>
--- trunk/plugin/DevLoader8/src/org/apache/catalina/loader/readme.html (nonexistent)
+++ trunk/plugin/DevLoader8/src/org/apache/catalina/loader/readme.html (revision 15)
@@ -0,0 +1,148 @@
1+<html>
2+ <head>
3+ <title>Java Webapplication Classloaders</title>
4+ </head>
5+
6+<body>
7+ <h2>Java Webapplication Classloaders with Tomcat 4.0 and the Eclipse Tomcatplugin </h2>
8+ <p>Author: <a href="martink@case.dhs.org">Martin Kahr</a></p>
9+
10+ <ol>
11+ <li>ClassLoaders
12+ <p>
13+ Classloaders are primarly responsible for loading Java class files and for
14+ initializing the corresponding java.lang.Class object.<br>
15+ <br>
16+ Different Classloader implementations already exist in Java2. <br>
17+ e.g. The systemclassloader is responsible for searching and loading
18+ java class files from the jar, zip and directories as defined
19+ in the CLASSPATH systemproperty and the RMIClassLoader loads
20+ classes through the HTTP protocol.<br>
21+ <br>
22+ Classloaders may be nested.<br>
23+ From the JAVA SDK Documentation:
24+ <blockquote>
25+ The ClassLoader class uses a delegation model to search for classes and
26+ resources. Each instance of ClassLoader has an associated parent
27+ class loader. When called upon to find a class or resource, a ClassLoader
28+ instance will delegate the search for the class or resource to its parent
29+ class loader before attempting to find the class or resource itself.<br>
30+ </blockquote>
31+ The parent classloader is unable to access any resources (classes) of it's
32+ child classloaders.<br>
33+ </p>
34+ </li>
35+ <li>Webapplication Classloader
36+ <p>
37+ Simplified a Java Webapplication in Tomcat uses two different Classloader instances.
38+ The Systemclassloader (SCL) and the Webapplication-Classloader (WCL). The
39+ parent classloader of the WCL is the SCL.<br>
40+ <br>
41+ Each deployed Webapplication has it's own WCL in Tomat. All WCL share
42+ the same (one and only) SCL.<br>
43+ So as defined by the Java SDK Documentation all classes which are loaded
44+ by the Systemclassloader are visible to all Webapplications. <br>
45+ Classes which are loaded by one WCL are not visible to other WCLs !<br>
46+ The WCL loads classes from the WEB-INF/classes directory and the from
47+ JAR (!) files in the WEB-INF/lib directory only.<br>
48+ <br>
49+ As defined in the Java SDK Documentation the WCL should work as following:<br>
50+ Before a WCL loads a class he must ask the parent classloader (SCL) if
51+ he already knows the class. If the SCL does not know the class the WCL
52+ tries to load it.<br>
53+ This feature makes it possible to deploy two web-applications which use
54+ a different version of class A (as long as class A is not loadable through the SCL).<br>
55+ <br>
56+ <b>The exception:</b><br>
57+ The final servlet 2.3 specification defines the exception to the common rule.<br>
58+ From Servlet 2.3 Specification SRV.9.7.2 - WebApplication Classloader:
59+ <blockquote>
60+ It is recommended also that the application class loader be implemented so
61+ that classes and resources packaged within the WAR are loaded in preference to
62+ classes and resources residing in container-wide library JARs.
63+ </blockquote>
64+ Tomcat 4.x supports this recommendation through a property which may
65+ be set in the server.xml configuration. Default setting is to act as defined
66+ in the Servlet specification.<br>
67+ See also the actual documentation of the <a href="http://jakarta.apache.org/tomcat">Tomcat project</a>.<br>
68+ </p>
69+ </li>
70+ <li>Web-Projects in <a href="http://www.eclipse.org">Eclipse</a>
71+ <p>
72+ With the TomcatPlugin it's easy to define a new webproject and
73+ to launch tomcat within the IDE.<br>
74+ Eclipse makes it very easy to divide a big project into some subprojects.
75+ e.g. utility classes which will be used by many projects resist in a
76+ project named "utils" and the concrete projects are referencing the
77+ "utils" project.<br><br>
78+ Unfortunatly the classes of the "utils" project are not automatically
79+ visible to Tomcat during runtime.<br><br>
80+ There are two possibilities:
81+ <ol>
82+ <li>Load the classes of the "utils" project through the Systemclassloader.<br>
83+ This can be done by adding the "utils" project to the Systemclasspath of
84+ Tomcat (Window->Preferences->Tomcat).<br>
85+ Why is this a bad idea ?<br>
86+ Typically your webproject class files (including those of the "utils" project) will
87+ resist in WEB-INF/classes or WEB-INF/lib of the WAR file for production mode. <br>
88+ So if you add some classes to the systemclassloader for development you will
89+ have a different classloading mechanism in production mode - this may lead to
90+ strange errors !<br>
91+ Additionaly some code does not work if you load the classes in the systemclassloader.<br>
92+ e.g. if the following class will resist in the "utils" project and you want to use
93+ this code to load a property file which resists in your webapplication (WEB-INF/classes)
94+ it is unable to load the resource because the systemclassloader is not allowed to access
95+ resources of the webappclassloader.
96+ <code>
97+ <pre>
98+public class ResourceLoader {
99+ public Properties load(String resourceName) {
100+ ClassLoader cl = ResourceLoader.class.getClassLoader();
101+ InputStream in = cl.getResourceAsStream(resourceName);
102+ ...
103+ }
104+}
105+ </pre>
106+ </code>
107+
108+ <li>Load the classes of the "utils" project through the Webclassloader.<br>
109+ To load the classes through the Webclassloader the classes of the "utils" project
110+ must be put into the WEB-INF/classes or packaged as JAR into WEB-INF/lib directory.<br>
111+ This may be done by hand or through some ANT build scripts - but unfortunatly
112+ each time you change code in the "utils" project :(<br>
113+ </ol>
114+
115+ </p>
116+ </li>
117+ <li>The Development-Webapp-Classloader<br>
118+ <p>
119+ There's a simple solution for making things easier. It works the following way:<br>
120+ <ul>
121+ <li>A special Tomcat Webappclassloader implementation extends the mechanism of loading
122+ classes not only from WEB-INF/classes and WEB-INF/lib but also from locations which are
123+ specified in a special configuration file.
124+ <li>Through the TomcatPlugin you specify for each Tomcat project which classes shall be
125+ loaded through the Webclassloader - yust point and click.<br>
126+ The TomcatPlugin writes the configuration file and the correct tomcat configuration (into server.xml).
127+ </ul>
128+ <b>
129+ NOTE: Use the Development-Webapp-Classloader yust during development - It's not recommended
130+ to use it for production systems !!
131+ </b>
132+ </p>
133+ </li>
134+ <li>Installation:<br>
135+ <p>
136+ The classes in the zip "devloader.zip" must be extracted into "TOMCAT_HOME/server/classes".<br>
137+ </p>
138+ </li>
139+ <li>Requirements:<br>
140+ <p>
141+ At the moment an implementation of the "DevLoader" only exists for Tomcat 4.x.<br>
142+ So Tomcat 4.x is required.
143+ </p>
144+ </li>
145+ </ol>
146+
147+</body>
148+</html>
--- trunk/plugin/DevLoader8/src/org/apache/catalina/loader/DevLoader.java (nonexistent)
+++ trunk/plugin/DevLoader8/src/org/apache/catalina/loader/DevLoader.java (revision 15)
@@ -0,0 +1,206 @@
1+package org.apache.catalina.loader;
2+
3+import java.io.BufferedReader;
4+import java.io.File;
5+import java.io.FileFilter;
6+import java.io.FileInputStream;
7+import java.io.IOException;
8+import java.io.InputStreamReader;
9+import java.net.MalformedURLException;
10+import java.net.URI;
11+import java.nio.charset.StandardCharsets;
12+import java.util.ArrayList;
13+import java.util.Collections;
14+import java.util.List;
15+
16+import javax.servlet.ServletContext;
17+
18+import org.apache.catalina.Globals;
19+import org.apache.catalina.LifecycleException;
20+
21+/**
22+ * @author Martin Kahr
23+ *
24+ */
25+public final class DevLoader extends WebappLoader {
26+ /** Information */
27+ public static final String INFO = "org.apache.catalina.loader.DevLoader/1.0";
28+
29+ /**
30+ * コンストラクタ
31+ */
32+ public DevLoader() {
33+ super();
34+ }
35+
36+ /**
37+ * コンストラクタ
38+ * @param parent 親クラスローダ
39+ */
40+ public DevLoader(final ClassLoader parent) {
41+ super(parent);
42+ }
43+
44+ /**
45+ * @see org.apache.catalina.util.LifecycleBase#startInternal()
46+ */
47+ @Override
48+ protected void startInternal() throws LifecycleException {
49+ log("Starting DevLoader");
50+
51+ super.startInternal();
52+
53+ ClassLoader cl = super.getClassLoader();
54+ if (!(cl instanceof WebappClassLoader)) {
55+ logError("Unable to install WebappClassLoader !");
56+ return;
57+ }
58+
59+ StringBuilder classpath = new StringBuilder();
60+ for (final String entry : readWebClassPathEntries()) {
61+ File f = new File(entry);
62+ if (f.exists()) {
63+ if (f.isDirectory() && !entry.endsWith("/")) {
64+ f = new File(entry + "/");
65+ }
66+ URI url = f.toURI();
67+ try {
68+ ((WebappClassLoader) cl).addURL(url.toURL());
69+ } catch (final MalformedURLException e) {
70+ logError(e.getMessage());
71+ continue;
72+ }
73+ classpath.append(f.toString() + File.pathSeparator);
74+ log("added " + url.toString());
75+ } else {
76+ logError(entry + " does not exist !");
77+ }
78+ }
79+
80+ String cp = (String)getServletContext().getAttribute(Globals.CLASS_PATH_ATTR);
81+ if (cp != null) {
82+ for (final String token : cp.split(File.pathSeparator)) {
83+ // only on windows
84+ if (token.charAt(0) == '/' && token.charAt(2) == ':') {
85+ classpath.append(token.substring(1) + File.pathSeparator);
86+ } else {
87+ classpath.append(token + File.pathSeparator);
88+ }
89+ }
90+ }
91+ getServletContext().setAttribute(Globals.CLASS_PATH_ATTR, classpath.toString());
92+
93+ log("JSPCompiler Classpath = " + classpath);
94+ }
95+
96+ /**
97+ * ログ出力
98+ * @param msg 出力メッセージ
99+ */
100+ protected void log(final String msg) {
101+ System.out.println("[DevLoader] " + msg);
102+ }
103+
104+ /**
105+ * エラー出力
106+ * @param msg エラーメッセージ
107+ */
108+ protected void logError(final String msg) {
109+ System.err.println("[DevLoader] Error: " + msg);
110+ }
111+
112+ /**
113+ * Webクラスパス読込
114+ * @return Webクラスパス行
115+ */
116+ protected List<String> readWebClassPathEntries() {
117+ File prjDir = getProjectRootDir();
118+ if (prjDir == null) {
119+ return Collections.emptyList();
120+ }
121+ log("projectdir=" + prjDir.getAbsolutePath());
122+
123+ return loadWebClassPathFile(prjDir);
124+ }
125+
126+ /**
127+ * プロジェクトルート取得
128+ * @return プロジェクトルート
129+ */
130+ protected File getProjectRootDir() {
131+ File rootDir = getWebappDir();
132+ FileFilter filter = new LoaderFilter();
133+ while (rootDir != null) {
134+ File[] files = rootDir.listFiles(filter);
135+ if (files != null && 0 < files.length) {
136+ return files[0].getParentFile();
137+ }
138+ rootDir = rootDir.getParentFile();
139+ }
140+ return null;
141+ }
142+
143+ /**
144+ * Webクラスパスファイル読込
145+ * @param prjDir プロジェクトディレクトリ
146+ * @return 読込行リスト
147+ */
148+ protected List<String> loadWebClassPathFile(final File prjDir) {
149+ File cpFile = new File(prjDir, LoaderFilter.WEB_CLASS_PATH_FILE);
150+ if (!cpFile.exists()) {
151+ return Collections.emptyList();
152+ }
153+
154+ List<String> rc = new ArrayList<>();
155+ try (FileInputStream fis = new FileInputStream(cpFile)) {
156+ try (InputStreamReader reader = new InputStreamReader(fis, StandardCharsets.UTF_8)) {
157+ try (BufferedReader lr = new BufferedReader(reader)) {
158+ String line = null;
159+ while ((line = lr.readLine()) != null) {
160+ line = line.replace('\\', '/');
161+ rc.add(line);
162+ }
163+ }
164+ }
165+ } catch (final IOException ex) {
166+ logError(ex.getMessage());
167+ }
168+ return rc;
169+ }
170+
171+ /**
172+ * サーブレットコンテキスト取得
173+ * @return サーブレットコンテキスト
174+ */
175+ protected ServletContext getServletContext() {
176+ return super.getContext().getServletContext();
177+ }
178+
179+ /**
180+ * Webアプリディレクトリ取得
181+ * @return Webアプリディレクトリ
182+ */
183+ protected File getWebappDir() {
184+ return new File(getServletContext().getRealPath("/"));
185+ }
186+
187+ /**
188+ * フィルタ
189+ * @author Tadashi Nakayama
190+ */
191+ static class LoaderFilter implements FileFilter {
192+ /** クラスパスファイル */
193+ static final String WEB_CLASS_PATH_FILE = ".#webclasspath";
194+ /** プラグインファイル */
195+ static final String TOMCAT_PLUGIN_FILE = ".tomcatplugin";
196+
197+ /**
198+ * @see java.io.FileFilter#accept(java.io.File)
199+ */
200+ @Override
201+ public boolean accept(final File file) {
202+ return file.getName().equalsIgnoreCase(WEB_CLASS_PATH_FILE)
203+ || file.getName().equalsIgnoreCase(TOMCAT_PLUGIN_FILE);
204+ }
205+ }
206+}
--- trunk/plugin/DevLoader8/src/org/apache/catalina/loader/readme.txt (nonexistent)
+++ trunk/plugin/DevLoader8/src/org/apache/catalina/loader/readme.txt (revision 15)
@@ -0,0 +1 @@
1+unpack in TOMCAT4_HOME/server/classes