??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧美在线播放,国产精品美女一区二区在线观看,亚洲一区色图http://www.aygfsteel.com/simonshen/archive/2011/04/05/347639.htmlsimon.shensimon.shenTue, 05 Apr 2011 08:20:00 GMThttp://www.aygfsteel.com/simonshen/archive/2011/04/05/347639.htmlhttp://www.aygfsteel.com/simonshen/comments/347639.htmlhttp://www.aygfsteel.com/simonshen/archive/2011/04/05/347639.html#Feedback1http://www.aygfsteel.com/simonshen/comments/commentRss/347639.htmlhttp://www.aygfsteel.com/simonshen/services/trackbacks/347639.html阅读全文

simon.shen 2011-04-05 16:20 发表评论
]]>
JMX In Action ȝQ一Q?/title><link>http://www.aygfsteel.com/simonshen/archive/2011/04/03/347589.html</link><dc:creator>simon.shen</dc:creator><author>simon.shen</author><pubDate>Sun, 03 Apr 2011 15:08:00 GMT</pubDate><guid>http://www.aygfsteel.com/simonshen/archive/2011/04/03/347589.html</guid><wfw:comment>http://www.aygfsteel.com/simonshen/comments/347589.html</wfw:comment><comments>http://www.aygfsteel.com/simonshen/archive/2011/04/03/347589.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/simonshen/comments/commentRss/347589.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/simonshen/services/trackbacks/347589.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt">    q是我读了JMX In Action以后的ȝQ这文章是q个pd的第一,主要介绍一下什么是JMXQؓ什么要使用JMXQ以及简单阐qC下JMX的架构?br />    <strong> 什么是JMXQ?br /> </strong>    首先看一?font size="2">l基癄的定义:JMXQJava Management ExtensionsQ即Java理扩展Q是Javaq_上ؓ应用E序、设备、系l等植入理功能的框架?br /> JMX可以跨越一pd异构操作pȝq_、系l体pȝ构和|络传输协议Q灵zȝ开发无~集成的pȝ、网l和服务理应用?br />     <font size="2">随着企业 IT 规模的不断增长,IT 资源QIT resourceQ数量不断增加,IT 资源的分布也来分散。IT资源主要包括|络和应用等。管理网l(gQ的主要工具?br /> 单网l管理协议(SNMPQ,g厂商一般都会在讑֤中提供SNMP hooksQ但SNMP开发不是gҎ的事情,而且需要掌握特定的语言Q对JAVA开发者绝非易事?br />     有些企业开发的应用的时候,是不会考虑q行旉|和理问题。有些企业直接在产品中开发管理工具和界面。也有一些企业直接用应用服务器或web服务器的理工具?br />     现实世界的IT资源理需求主要有以下一些:<br />     1、监控^台和g的健店硬件可以通过SNMPQWEB服务器和应用服务器可以通过他们自己的管理工兗数据库也是一L?br />    2、配|应用层面的资源。比如配|应用在查询l果中每|C的数量Q配|数据库q接池,或者外部请求数{?br />    3、收集应用程序的l计信息。如多少成功订单Q多失败订单等?br />    4、日志别,改变日志U别。出问题的时候,可以通过改变日志U别来打印调试信息,快速定位问题?br />    5、监视服务器的性能、负载,通过email、sms{通知关键性事Ӟ比如服务器负载超q预讄界限?br />     要满些需求往往是非常昂贵和困难的,理员通常需要通过不同的工h理不同的服务和g?nbsp;如果使用JMXQ创Z个满上面需求的理pȝ是廉h、更加灵zR所需旉更短?nbsp;   </font></font></span> <br />     <br />     <span style="font-size: 10pt"><strong>使用JMX的好?br /> </strong>     1、非常容易用。特别是对一个JAVAE序员,要理解SNMP是困隄。而JMX对他来说非常Ҏ?br />       2、利用现有的技术:现有的管理工具可以插入JMXQJMX提供了很多协议(SNMP、HTTPQ和传输方式Q如RMIQ,如果原有的应用和讑֤没有提供理能力Q则可以创徏JMX代理提供理能力?br />       3、模块化。以模块化的方式创徏你的理环境?br />       4、警告、事件和l计信息?br />         JMX提供了一套通知pȝQ充分利用了面向对象优势Q通知提供了不仅仅是数据,而是一个有分布式JAVA对象Q封装了数据和行为。例如,你发送了一个服务器负蝲的通知Q里面还包含了一个显C载重要性的U别的机Ӟ说白了就是对象里面有个方法,可以判定负蝲的严重程度?br />       5、快速的监控解决Ҏ。不同的开发h员只需要自己开发MBeanQ而不需要花很多的时间在怺的协作上面,q些MBean分布在不同的L上,但可以通过一个管理工具就可以理所有的q些应用?br /> <br />     JMX的一些术?br /> <font size="2">    1、可理资源Q?font size="2">Manageable resource</font>Q?br />     可以是Q何的应用、设备、或者其他存在的实体Q能够被java讉K和包装。是被JMX MBean理的资源?br />     2、MBeanQManaged BeanQ?br />     是满x些命名规则和l承JMX 规范的javac,为可理资源的管理和讉K暴露接口。通过属性和行ؓ来暴露接口。有q?c:Standard, Dynamic, and Model MBeans?br />     3、MBean Server<br />     理一lMBean的JAVAcR是JMX 理环境核心。是MBean的注册器?br />     </font><font size="2">4、JMX Agent<br />     JMX代理是ؓ理一lMBean提供一pd服务的javaq程。是一个MBean Server的容器,它还提供了一些有用的服务Q创建MBean之间的关p,动态加载类Q简单的监控服务Q定时器服务。Agent有一个协议适配器和q接器集合能使外部程序连接到他们?br />     </font><font size="2">5、Protocol adapters and connectors<br />     协议适配器和q接器是位于JMX Agent内部的对象。把Agent暴露l管理程序和协议。一个Agent可以有很多适配器和q接器?br />     </font><font size="2">6、Management application<br />     q接到JMX Agent的用户应用程序?br />     </font><font size="2">7、Notification<br />     通知是Mbean或者Mbean server发送的java对象Q他们封装了事g、警告、或者其他的一般信息。其他的Mbean或者java对象可以注册成ؓ监听器来接受通知?br /> </font><font size="2">    8、InstrumentationQ设备化Q?br />     用MBean暴露一个可理资源的过E?br />     <br />     <strong>JMX架构<br /> </strong>    JMX架构主要分ؓ三层Q?font size="2">Distributed layer</font>Q?font size="2">Agent layer</font>Q?font size="2">Instrumentation layerQ如下图所C:</font><br /> <strong>    <v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <img style="width: 661px; height: 339px" border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/simonshen/jmx_architecture.png" width="661" height="339" /><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></strong></font></span> <br /> <br />  <span style="font-size: 10pt">   1?/span><font size="2">Distributed layerQ分布式层)<br />       属于JMX架构的最外层Q这层主要负责JMX Agent能对外部E序可用?nbsp;   又分ZU:一U通过不同的协议(如SNMPQHTTPQ来为MBean提供可见性?/font> <span style="font-size: 10pt">另一U是把Agent API暴露l其他的分布式技术如RMI?br />     2?font size="2">The agent layer</font>Q代理层Q?br />     它包含的最主要的组件是MBean ServerQ它q包?个代理服务ɽ理MBean更加ҎQ它们分别是Q?nbsp;   定时器(timerQ、监控服务、动态MBean加蝲、和MBean关系服务。Agent可以和被理的资源在同一个主ZQ也可以是远E的?br />     3?font size="2">The instrumentation layer</font><br />     q是最靠近资源的一层,它包含了注册在Agent里面的MBean?br />     4?font size="2">Notifications</font><br />     除了架构中的三层以外QJMX提供了一个通知机制Q类gJAVA事g模型。通知机制是管理系l的最后必ȝlg。Agent和MBean可以使用通知机制来发送警告或信息l管理应用?br />     以上是JMX架构的主要内容,下一构Z个HelloWorld的JMXE序?br /> </span> <img src ="http://www.aygfsteel.com/simonshen/aggbug/347589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/simonshen/" target="_blank">simon.shen</a> 2011-04-03 23:08 <a href="http://www.aygfsteel.com/simonshen/archive/2011/04/03/347589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Restful Web Services MW记Q一Q?/title><link>http://www.aygfsteel.com/simonshen/archive/2011/03/30/347237.html</link><dc:creator>simon.shen</dc:creator><author>simon.shen</author><pubDate>Wed, 30 Mar 2011 13:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/simonshen/archive/2011/03/30/347237.html</guid><wfw:comment>http://www.aygfsteel.com/simonshen/comments/347237.html</wfw:comment><comments>http://www.aygfsteel.com/simonshen/archive/2011/03/30/347237.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/simonshen/comments/commentRss/347237.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/simonshen/services/trackbacks/347237.html</trackback:ping><description><![CDATA[<p style="font-family: 微Y雅黑; font-size: 12pt">    <span style="font-size: 10pt">q本书的前面三章主要讲了一下基本概念,客户端程序,和Amazon的S3Q这博客ȝ一下第四章Q个人感觉有很多重要的概c?br />     面向资源的架构(<font face="微Y雅黑">The Resource-Oriented Architecture</font>Q,q里的资源必要有一个URIQ资源和URI的关p:一个资源可能有一个或多个URIQ而一个URI只能指定一个资源?br /> <br />     Restful WS的特性:<br />     1?strong>可寻址性(</strong><font face="微Y雅黑"><strong>AddressabilityQ?br /> </strong>        资源通过URI来暴露给用户Q可d性是最基本的特性。由于可d性,你可以把URI保存在你的书{NQ你可以把链接发l别人,而不用把Html文g下蝲下来发给别hQ也可以通过URI对资源进行缓存?br /> <br />     2?strong>无状态性(<font face="微Y雅黑">Statelessness</font>Q?br /> </strong>        无状态性意味着每个HTTPh是完全隔ȝ。每ơ客L发送请求都必须带上所有服务器端需要的信息?nbsp;   <br />         无状态的应用更容易分布到有负责均衡的多台服务器上Q无状态性也更容易缓存:~存工具只需要看q一个请求,和Q何其他请求无兟?br />         <strong>应用状态和资源状态(<font face="微Y雅黑">Application State Versus Resource State</font>Q?br /> </strong>        应用状态位于客LQ而资源状态位于服务器端,对于客户端,每个客户端都有各自的应用状态,例如Q在google搜烦Q你可能搜烦某个单词且当前页是第3,我可能搜索另一个单词且在第一,所以每个客L都有一个应用状态。当客户端发赯求的时候,必须告诉服务器你的应用状态,比如你当前要看某个单词搜索结果的W几,服务器端q回l果上有其他链接Q这些链接客L可能作ؓ未来的请求?br />         而对于资源状态,对于每个客户端都是相同的Q就是服务器上的资源?nbsp; <br />   <br />    <strong> 3、表q性(<font face="微Y雅黑">Representations</font>Q?br /> </strong>        表述性,是资源的表现Ş式,相同的资源可以有不同的表q性,比如同一个bug列表可以用XML文档表示Q也可以用文本方式表C等{。对于同一资源的不同的<font face="微Y雅黑">Representation</font>Q如何知道客Lh哪一U呢Q作者徏议不同的<font face="微Y雅黑">Representation</font>使用不同的URI?br /> <br />     <strong>4、连通性(<font face="微Y雅黑">Links and Connectedness</font>Q?br /> </strong>        单点_是q回的结果中有对其他资源的链接(URIQ,比如google搜烦Q搜索结果可能有其他늚链接?br /> <br />     <strong>5、统一的接口(<font face="微Y雅黑">The Uniform Interface</font>Q?br /> </strong>        也就是说Restful WS使用HTTP的基本方法作Z的方法的表示Q主要用HTTP的四个方法:GET,PUT,DELETE,POST。HEAD和OPTIONS用的比较?br />         取得某个资源的表q的时候用GET?br />         创徏一个新的资源的时候,PUTC个新的URIQ或者POSTC个已l存在的URI?br />         修改资源Q用PUT到存在的URI?br />         删除资源使用DELETE?br />         PUT和POST都可以创建新的资源,那有什么区别呢QPOST可以创徏从属资源Q如一个webblogE序通过资源Q?weblogs/myweblogQ暴露每个blogQ而某个blog下面的条目作Z属资源ؓ/weblogs/myweblog/entries/1Q当你需要增加一个条目的时候,你可以POST到父资源/weblogs/myweblogQ同样PUT也可以完成这个工作,在这里POST和PUT的区别是Q当客户端可以控制新资源的URI的时候,则用PUTQ比如blog的下面的某篇文章使用名字来访问,?weblogs/myweblog/entries/restful_ws_1Q这h个博客下面的文章不能重复Q,则当你发表一新文章的时候,可以PUT到新的URI?weblogs/myweblog/entries/restful_ws_2来创源。而如果客L不能控制URI的时候,比如blog是通过服务器端某个序列h讉KQ客L是无法知道下一个序h什么,q时只能使用POSTQ这UPOST如果创徏成功Q则q回201Q响应头中的Location可以保护新创源的URI?br />         q有一个区别,POSTҎ个存在的资源更新Ӟ一般是q加QappendQ,比如说对某个日志文g做POSTQ则把日志追加到原日志的后面。如果是PUT则进行的是替换,所以PUT是等q的Q而POST不是Q后面会Ԍ?br /> <br />        <strong> 安全QSafetyQ?br /> </strong>        GET和HEADҎ只是获取资源的表qͼ所以是安全的。当然也可能有一些副作用Q比如有些服务端会记录GET的次数等?br /> <br />        <strong> {幂性(IdempotenceQ?br /> </strong>        {幂性简单点说就是一ơ请求和多次hQ资源的状态是一栗比如GET和HEADQ不Zh多少ơ,资源q是在那里。请注意QDELETE和PUT也是{幂的,以ؓ对同一个资源删除一ơ或者多ơ,l果是一LQ就是资源被删除了,不存在了。ؓ什么说PUT也是{幂的?当你PUT一个新资源的时候,资源被创建,再次PUTq个URI的时候,资源q是没变。当你PUT一个存在的资源Ӟ更新了资源,再次PUT的时候,q是更新成这个样子。在PUT更新的时候,不能做相对的更新Q依赖资源现在的状态)Q比如每ơ对一个数?Q这栯源状态就会变化。应该每ơ更新成某个敎ͼ比如把某个数变成4Q则无论多少ơPUTQ值都?Q这样就是等q了?br />         我们设计Restful WS的时候,GETQHEAD, PUT, DELETE一定要设计成等q的。由于网l是不可靠的Q安全性和{幂性就昑־特别重要。如果一ơ请求,服务器收到处理以后,客户端没有收到相应,客户端会再次hQ如果没有等q性保障,׃发生意想不到的问题?br />         POST是不安全也不{幂的,q是拿weblog的例子,如果两次POST相同的博文,则会产生两个资源QURI可能是这?weblogs/myweblog/entries/1?weblogs/myweblog/entries/2Q尽他们的内容是一怸L?br />         </font></span><font face="微Y雅黑"><br />     <br /> </font></p> <img src ="http://www.aygfsteel.com/simonshen/aggbug/347237.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/simonshen/" target="_blank">simon.shen</a> 2011-03-30 21:59 <a href="http://www.aygfsteel.com/simonshen/archive/2011/03/30/347237.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ؼ</a>| <a href="http://" target="_blank">ϳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">گ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӧ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³ƶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¡Ң</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͤ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͬ</a>| <a href="http://" target="_blank">ˮ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>