﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-sharajava-随笔分类-应用服务器</title><link>http://www.blogjava.net/sharajava/category/13299.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 07:21:29 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 07:21:29 GMT</pubDate><ttl>60</ttl><item><title>JBoss MBean服务加载过程</title><link>http://www.blogjava.net/sharajava/archive/2006/07/25/59952.html</link><dc:creator>sharajava</dc:creator><author>sharajava</author><pubDate>Tue, 25 Jul 2006 03:18:00 GMT</pubDate><guid>http://www.blogjava.net/sharajava/archive/2006/07/25/59952.html</guid><wfw:comment>http://www.blogjava.net/sharajava/comments/59952.html</wfw:comment><comments>http://www.blogjava.net/sharajava/archive/2006/07/25/59952.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sharajava/comments/commentRss/59952.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sharajava/services/trackbacks/59952.html</trackback:ping><description><![CDATA[
		<a href="/images/blogjava_net/sharajava/13416/o_start-jboss-mbean-service.JPG">http://www.blogjava.net/images/blogjava_net/sharajava/13416/o_start-jboss-mbean-service.JPG</a>  <br /><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p> </o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">1.<span style="FONT: 7pt 'Times New Roman'">      </span></span></span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">前缀<span lang="EN-US">1.1</span>的方法<span lang="EN-US">, </span>代表加载和解析<span lang="EN-US">XML</span>服务描述文件的过程<span lang="EN-US">.<o:p></o:p></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">2.<span style="FONT: 7pt 'Times New Roman'">      </span></span></span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">前缀<span lang="EN-US">1.2</span>的方法<span lang="EN-US">, </span>代表对<span lang="EN-US">XML</span>服务描述文件中类路径条目的处理<span lang="EN-US">. </span>这个过程创建独立的部署<span lang="EN-US">, </span>使得<span lang="EN-US">jar</span>和类目录对于相应的统一类加载器<span lang="EN-US">(UnifiedClassLoader)</span>可用<span lang="EN-US">. </span>这个<span lang="EN-US">UnifiedClassLoader</span>是注册到统一的类加载器仓库中的<span lang="EN-US">.<o:p></o:p></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">3.<span style="FONT: 7pt 'Times New Roman'">      </span></span></span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">前缀<span lang="EN-US">1.3</span>的方法<span lang="EN-US">, </span>代表处理服务描述文件中定义的本地目录条目的过程<span lang="EN-US">. </span>这个过程把在路径属性中指定的<span lang="EN-US">SAR</span>相关条目复制一份到<span lang="EN-US">server/&lt;config&gt;/db</span>目录下<span lang="EN-US">.<o:p></o:p></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">4.<span style="FONT: 7pt 'Times New Roman'">      </span></span></span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">方法<span lang="EN-US">1.4, </span>代表对已经部署的服务中嵌套的可部单元的部署过程<span lang="EN-US">. </span>子部署项目被创建并被加入到服务部署信息的子部署项列表中<span lang="EN-US">.<o:p></o:p></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">5.<span style="FONT: 7pt 'Times New Roman'">      </span></span></span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">方法<span lang="EN-US">2.1, SAR</span>部署单元相应的<span lang="EN-US">UnifiedClassLoader(</span>本身也是<span lang="EN-US">MBean)</span>被注册到<span lang="EN-US">MBean Server</span>上<span lang="EN-US">, </span>这样它就可以被用来加载<span lang="EN-US">SAR</span>中的<span lang="EN-US">MBean</span>了<span lang="EN-US">.<o:p></o:p></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">6.<span style="FONT: 7pt 'Times New Roman'">      </span></span></span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">方法<span lang="EN-US">2.2, </span>创建<span lang="EN-US">XML</span>服务描述文件中定义的每个<span lang="EN-US">MBean</span>并用描述文件中给定的值初始化其属性<span lang="EN-US">. </span>这些工作通过调用<span lang="EN-US">ServiceController</span>的<span lang="EN-US">install(Element, ObjectName)</span>方法来完成的<span lang="EN-US">.<o:p></o:p></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">7.<span style="FONT: 7pt 'Times New Roman'">      </span></span></span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">方法<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False"><span lang="EN-US">2.4.1</span></st1:chsdate><span lang="EN-US">, </span>对于前面步骤中创建好的每个<span lang="EN-US">MBean</span>实例<span lang="EN-US">, </span>获取其<span lang="EN-US">JMX</span>对象名并由<span lang="EN-US">ServiceController</span>处理服务生命周期中的<span lang="EN-US">create</span>步骤<span lang="EN-US">. ServiceController</span>处理<span lang="EN-US">MBean</span>服务的依赖关系<span lang="EN-US">, </span>只有当所有依赖都满足时<span lang="EN-US">, create</span>方法才会被调用<span lang="EN-US">.<o:p></o:p></span></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">8.<span style="FONT: 7pt 'Times New Roman'">      </span></span></span><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体">前缀<span lang="EN-US">3.1</span>的方法<span lang="EN-US">, </span>代表<span lang="EN-US">MBean</span>实例的起动过程<span lang="EN-US">. </span>对于创建好的每个<span lang="EN-US">MBean</span>实例<span lang="EN-US">, </span>获取其<span lang="EN-US">JMX</span>对象名并由<span lang="EN-US">ServiceController</span>处理服务生命周期中的<span lang="EN-US">start</span>步骤<span lang="EN-US">. ServiceController</span>处理<span lang="EN-US">MBean</span>服务的依赖关系<span lang="EN-US">, </span>只有当所有依赖都满足时<span lang="EN-US">, start</span>方法才会被调用<span lang="EN-US">.<o:p></o:p></span></span></p><img src ="http://www.blogjava.net/sharajava/aggbug/59952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sharajava/" target="_blank">sharajava</a> 2006-07-25 11:18 <a href="http://www.blogjava.net/sharajava/archive/2006/07/25/59952.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JBoss启动过程(译)</title><link>http://www.blogjava.net/sharajava/archive/2006/07/21/59332.html</link><dc:creator>sharajava</dc:creator><author>sharajava</author><pubDate>Fri, 21 Jul 2006 00:27:00 GMT</pubDate><guid>http://www.blogjava.net/sharajava/archive/2006/07/21/59332.html</guid><wfw:comment>http://www.blogjava.net/sharajava/comments/59332.html</wfw:comment><comments>http://www.blogjava.net/sharajava/archive/2006/07/21/59332.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sharajava/comments/commentRss/59332.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sharajava/services/trackbacks/59332.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">
						<span style="mso-list: Ignore">1.<span style="FONT: 7pt 'Times New Roman'">      </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">org.jboss.Main.main(String[])</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">为入口<span lang="EN-US">.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">
						<span style="mso-list: Ignore">2.<span style="FONT: 7pt 'Times New Roman'">      </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">main</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">函数创建一个名叫<span lang="EN-US">”jboss”</span>的线程组<span lang="EN-US">, </span>然后创建一个属于该组的线程<span lang="EN-US">, </span>在线程中执行<span lang="EN-US">boot</span>方法<span lang="EN-US">.<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">
						<span style="mso-list: Ignore">3.<span style="FONT: 7pt 'Times New Roman'">      </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">boot</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">方法首先处理<span lang="EN-US">main</span>函数中的参数<span lang="EN-US">(</span>及一些其它的系统环境设置<span lang="EN-US">), </span>接着就用系统的属性创建了<span lang="EN-US" style="COLOR: #99cc00">org.jboss.system.server.ServerLoader</span>实例<span lang="EN-US">[<span style="COLOR: maroon">new</span> ServerLoader(<span style="COLOR: blue">props</span>)]. <o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">
						<span style="mso-list: Ignore">4.<span style="FONT: 7pt 'Times New Roman'">      </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">ServerLoader</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">注册<span lang="EN-US">Jboss</span>相关的类路径<span lang="EN-US">, </span>包括<span lang="EN-US">XML</span>解析器<span lang="EN-US">, jboss-jmx.jar, concurrent.jar</span>及其它的一些额外的类路径<span lang="EN-US">.<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">
						<span style="mso-list: Ignore">5.<span style="FONT: 7pt 'Times New Roman'">      </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">ServerLoader</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">通过<span lang="EN-US">load(ClassLoader)</span>方法创建<span lang="EN-US">Jboss Server</span>实例<span lang="EN-US">. </span>参数<span lang="EN-US">ClassLoader</span>是<span lang="EN-US">ClassLoader parentCL = Thread.currentThread(). getContextClassLoader( )</span>得到的当前线程的类加载器<span lang="EN-US">. </span>创建的<span lang="EN-US">Server</span>实例是<span lang="EN-US" style="COLOR: #99cc00">org.jboss.system.server.Server</span>接口的实现<span lang="EN-US">. load(ClassLoader)</span>方法的细节<span lang="EN-US">:<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">用<span lang="EN-US">jar</span>包及在<span lang="EN-US">ServerLoader</span>中注册的类路径创建一个<span lang="EN-US">URLClassLoader</span>的实例<span lang="EN-US">, </span>把传入的<span lang="EN-US">ClassLoader</span>作为该<span lang="EN-US">URLClassLoader</span>的<span lang="EN-US">parent. <o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">Server</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">接口的实现类由系统属性 <span lang="EN-US">jboss.server.type</span>决定<span lang="EN-US">, </span>默认是<span lang="EN-US"><span style="mso-spacerun: yes">      </span><span style="COLOR: #99cc00">org.jboss.system.server.ServerImpl</span>.<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">URLClassLoader</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">通过无参构造函数加载<span lang="EN-US">Server</span>接口实现的实例<span lang="EN-US">. </span>在加载前把当前线程的类加载器置为该<span lang="EN-US">URLClassLoader, </span>在加载完成后再置回之前传入的<span lang="EN-US">ClassLoader. <o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">
						<span style="mso-list: Ignore">6.<span style="FONT: 7pt 'Times New Roman'">      </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">Server</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">实例用系统属性进行初始化<span lang="EN-US">[server.init(<span style="COLOR: blue">props</span>)].<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">
						<span style="mso-list: Ignore">7.<span style="FONT: 7pt 'Times New Roman'">      </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">服务起动<span lang="EN-US">[server.start()]. </span>起动过程的默认实现如下<span lang="EN-US">:<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">把当前线程类型加载器置为加载该<span lang="EN-US">Server</span>接口实现实例的<span lang="EN-US">ClassLoader.<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">在<span lang="EN-US">jboss</span>域内<span lang="EN-US">, </span>通过<span lang="EN-US">MBeanServerFactory</span>的<span lang="EN-US">createMBeanServer(String)</span>方法创建<span lang="EN-US">MbeanServer</span>实例<span lang="EN-US">. <o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">在<span lang="EN-US">MBean Server</span>上注册<span lang="EN-US">ServerImpl</span>和<span lang="EN-US">ServerConfigImpl</span>两个<span lang="EN-US">MBean.<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">初始化统一的类加载仓库<span lang="EN-US">(unified class loader repository), </span>用来装载服务器配置目录及其它可选目录下的<span lang="EN-US">jar</span>文件<span lang="EN-US">. </span>对于每一个<span lang="EN-US">jar</span>文件和类目录都会创建一个相应的<span lang="EN-US" style="COLOR: #99cc00">org.jboss.jmx.loading.UnifiedClassLoader</span>实例<span lang="EN-US">, </span>并且注册到统一的仓库中<span lang="EN-US">. </span>其中一个<span lang="EN-US">UnifiedClassLoader</span>实例会被设置为当前线程上下文的<span lang="EN-US">ClassLoader. [?: <span style="COLOR: #ffcc00">This effectively makes allUnifiedClassLoaders available through the thread context class loader.</span>]<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">接下来创建<span lang="EN-US" style="COLOR: #99cc00">org.jboss.system.ServiceController</span>的<span lang="EN-US">MBean</span>实例<span lang="EN-US">. ServiceController</span>管理<span lang="EN-US">JBoss MBean</span>服务的生命周期<span lang="EN-US">. <o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: #99cc00; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">org.jboss.deployment.MainDeployer</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">实例被创建并起动<span lang="EN-US">. MainDeployer</span>管理部署的依赖和部署的定向<span lang="EN-US">. <o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: #99cc00; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">org.jboss.deployment.</span>
				<span lang="EN-US">
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: #99cc00; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">JARDeployer</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">实例被创建并起动<span lang="EN-US">. JARDeployer</span>处理<span lang="EN-US">jar</span>包的部署<span lang="EN-US">.<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: #99cc00; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">org.jboss.deployment.</span>
				<span lang="EN-US">
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; COLOR: #99cc00; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">SARDeployer</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">实例被创建并起动<span lang="EN-US">. SARDeployer</span>处理<span lang="EN-US">JBoss MBean</span>服务的部署<span lang="EN-US">.<o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; mso-list: l0 level2 lfo1; tab-stops: list 42.0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-fareast-font-family: Wingdings">
						<span style="mso-list: Ignore">Ø<span style="FONT: 7pt 'Times New Roman'">        </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">MainDeployer</span>
				<span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-font-kerning: 0pt">对当前服务器文件环境里<span lang="EN-US">conf/jboss-service.xml</span>定义的服务进行部署<span lang="EN-US">.<o:p></o:p></span></span>
		</p>
		<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">启动过程结束<span lang="EN-US">. </span>把当前线程上下文类加载器置回为起动前的<span lang="EN-US">ClassLoader.</span></span>
<img src ="http://www.blogjava.net/sharajava/aggbug/59332.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sharajava/" target="_blank">sharajava</a> 2006-07-21 08:27 <a href="http://www.blogjava.net/sharajava/archive/2006/07/21/59332.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>