??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲字幕在线观看,久久久久亚洲AV成人网人人网站 ,亚洲国产成人精品无码区二本 http://m.tkk7.com/wansong/category/45533.htmlwansongzh-cnSat, 07 Jan 2012 01:42:03 GMTSat, 07 Jan 2012 01:42:03 GMT60jboss 在tomcat中部|?/title><link>http://m.tkk7.com/wansong/articles/367428.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Wed, 28 Dec 2011 08:50:00 GMT</pubDate><guid>http://m.tkk7.com/wansong/articles/367428.html</guid><wfw:comment>http://m.tkk7.com/wansong/comments/367428.html</wfw:comment><comments>http://m.tkk7.com/wansong/articles/367428.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/wansong/comments/commentRss/367428.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/wansong/services/trackbacks/367428.html</trackback:ping><description><![CDATA[<div>http://docs.jboss.org/seam/2.0.0.GA/reference/zh/html/configuration.html       在tomcat中部|?br /><br /><div>http://community.jboss.org/wiki/EmbeddedAndTomcat<br /><br /><div>http://www.iteye.com/topic/1046702</div></div></div><img src ="http://m.tkk7.com/wansong/aggbug/367428.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/wansong/" target="_blank">w@ns0ng</a> 2011-12-28 16:50 <a href="http://m.tkk7.com/wansong/articles/367428.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>seam ?pageflow (jbpm)的?/title><link>http://m.tkk7.com/wansong/articles/367206.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Mon, 26 Dec 2011 11:41:00 GMT</pubDate><guid>http://m.tkk7.com/wansong/articles/367206.html</guid><wfw:comment>http://m.tkk7.com/wansong/comments/367206.html</wfw:comment><comments>http://m.tkk7.com/wansong/articles/367206.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/wansong/comments/commentRss/367206.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/wansong/services/trackbacks/367206.html</trackback:ping><description><![CDATA[<div>http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Web_Platform/5/html/Seam_Reference_Guide/numberguess.html<br /><br /><div><div>http://docs.jboss.org/seam/2.0.0.GA/reference/zh/html/configuration.html       在tomcat中部|?br /></div></div></div><img src ="http://m.tkk7.com/wansong/aggbug/367206.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/wansong/" target="_blank">w@ns0ng</a> 2011-12-26 19:41 <a href="http://m.tkk7.com/wansong/articles/367206.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Configuring HTTP and HTTPS clustering on JBoss Serverhttp://m.tkk7.com/wansong/articles/365551.htmlw@ns0ngw@ns0ngMon, 05 Dec 2011 03:06:00 GMThttp://m.tkk7.com/wansong/articles/365551.htmlhttp://m.tkk7.com/wansong/comments/365551.htmlhttp://m.tkk7.com/wansong/articles/365551.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/365551.htmlhttp://m.tkk7.com/wansong/services/trackbacks/365551.htmlhttp://technicalmumbojumbo.wordpress.com/2009/04/21/configuring-http-and-https-on-jboss-server/

w@ns0ng 2011-12-05 11:06 发表评论
]]>
decision table at Drools version 4.0.7http://m.tkk7.com/wansong/articles/365550.htmlw@ns0ngw@ns0ngMon, 05 Dec 2011 03:03:00 GMThttp://m.tkk7.com/wansong/articles/365550.htmlhttp://m.tkk7.com/wansong/comments/365550.htmlhttp://m.tkk7.com/wansong/articles/365550.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/365550.htmlhttp://m.tkk7.com/wansong/services/trackbacks/365550.htmlhttp://technicalmumbojumbo.wordpress.com/2009/03/28/jboss-drools-decision-tables/

w@ns0ng 2011-12-05 11:03 发表评论
]]>
JBoss Seam 介绍http://m.tkk7.com/wansong/articles/364841.htmlw@ns0ngw@ns0ngFri, 25 Nov 2011 09:28:00 GMThttp://m.tkk7.com/wansong/articles/364841.htmlhttp://m.tkk7.com/wansong/comments/364841.htmlhttp://m.tkk7.com/wansong/articles/364841.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/364841.htmlhttp://m.tkk7.com/wansong/services/trackbacks/364841.htmlhttp://www.open-open.com/news/view/1c64593

w@ns0ng 2011-11-25 17:28 发表评论
]]>
深入出JBoss Seamhttp://m.tkk7.com/wansong/articles/364446.htmlw@ns0ngw@ns0ngMon, 21 Nov 2011 08:20:00 GMThttp://m.tkk7.com/wansong/articles/364446.htmlhttp://m.tkk7.com/wansong/comments/364446.htmlhttp://m.tkk7.com/wansong/articles/364446.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/364446.htmlhttp://m.tkk7.com/wansong/services/trackbacks/364446.htmlhttp://www.infoq.com/cn/articles/jboss-seam

w@ns0ng 2011-11-21 16:20 发表评论
]]>
jboss JMS clustering http://m.tkk7.com/wansong/articles/358737.htmlw@ns0ngw@ns0ngThu, 15 Sep 2011 11:48:00 GMThttp://m.tkk7.com/wansong/articles/358737.htmlhttp://m.tkk7.com/wansong/comments/358737.htmlhttp://m.tkk7.com/wansong/articles/358737.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/358737.htmlhttp://m.tkk7.com/wansong/services/trackbacks/358737.htmlhttp://community.jboss.org/wiki/JMSClusteringByExample

http://community.jboss.org/wiki/JBossHA

http://docs.jboss.org/jbossas/getting_started/v4/html/mdb.html
http://carter.zhmy.com/archives/2007/112108.html


Computer A:
$ cd $JBOSS_HOME/bin
$ ./run.sh -c all -b 192.168.0.143 -Djboss.messaging.ServerPeerID=1

Computer B:
$ cd $JBOSS_HOME/bin
$ ./run.sh -c all -b 192.168.0.210 -Djboss.messaging.ServerPeerID=2


It is necesary to give an ID to each server and this is accomplished with this directive:
-Djboss.messaging.ServerPeerID

When you start the jboss on computer A, you should see the logs (server.log) telling you that there is one node ready and listening, and once you start the jboss on computer B, on the log will appear the two nodes, the two IP's ready to consume messages.

5) Now it's time to send a Message to the Queue. To accomplish this it's necessary to change the connection factory to "ClusteredConnectionFactory" (JMSDispatcher.java - See the code below).
Also on the jndi.properties (if you are using the default InitialContext) file it's necessary to add the two computers ip's separated by comma to the java.naming.provider.url property. (In my case a create a Properties variable and I set all the necessary properties, JMSDispatcher.java - see the code below).

 

java.naming.provider.url=192.168.0.143:1099,192.168.0.210:1099

The client that I wrote is a web application, that consist in one index.jsp page, which contains a form that prompts you for the name of the queue, the type of messaging (Queue or Topic), the server ip and port, how many times it will send the message and the actual message to be sent; also the web application has a Servlet (JMSClusteredClient.java - see code below) that receives the postback and helper class (JMSDispatcher.java - see code below) that sends the message to the jboss servers.  You can to deploy it in any computer. In my case I deployed it on the Computer A. And you can access it through this URL: http://192.168.0.143:8080/JMSWeb/ (just modify the IP where the client war was deployed).If you notice (on the index.jsp - code below) I've already put some default values that reflects the name of the Queue, and the IP's of my two computers. Now, If you increment the number of times that the message will be sent (maybe a 10) and fill out the message box, and click "Send" you should see on the two servers some of the messages being consumed by the MDB.



w@ns0ng 2011-09-15 19:48 发表评论
]]>
Java同步文g到Jboss虚拟目录http://m.tkk7.com/wansong/articles/358297.htmlw@ns0ngw@ns0ngThu, 08 Sep 2011 05:55:00 GMThttp://m.tkk7.com/wansong/articles/358297.htmlhttp://m.tkk7.com/wansong/comments/358297.htmlhttp://m.tkk7.com/wansong/articles/358297.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/358297.htmlhttp://m.tkk7.com/wansong/services/trackbacks/358297.html

Java同步文g到Jboss虚拟目录


http://developer.51cto.com/art/201106/270337.htm



w@ns0ng 2011-09-08 13:55 发表评论
]]>
jboss clustering @Clusteredhttp://m.tkk7.com/wansong/articles/358140.htmlw@ns0ngw@ns0ngTue, 06 Sep 2011 12:10:00 GMThttp://m.tkk7.com/wansong/articles/358140.htmlhttp://m.tkk7.com/wansong/comments/358140.htmlhttp://m.tkk7.com/wansong/articles/358140.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/358140.htmlhttp://m.tkk7.com/wansong/services/trackbacks/358140.html无状态的session beanQ注意标注@Clustered是必ȝQ如果不q行标注那么q个session bean不会被集群。同h状态的session bean的集声明也是这L


java.lang.IllegalArgumentException: Cannot start post office since there is already a post office in the cluster with the same node id (0). Are you sure you have given each node a unique node id during installation?

If you want to change the ServerPeerID, edit :
server/<configuration (all/default/production)>/deploy/jboss-messaging.sar/messaging-service.xml
and change ServerPeerID from 0 to something unique.
The other suggestion I'd make is that you track down the other SOA platform installation. The IP address of that cluster node should be in your server.log close to the "number of cluster members" statement.


http://topic.csdn.net/u/20090616/20/2f9e5faf-b99b-446b-94b5-41e18be05892.html
http://blog.knowsky.com/187125.htm

http://blog.csdn.net/woohooli/article/details/4078748


w@ns0ng 2011-09-06 20:10 发表评论
]]>
JBoss 5 + EJB3开发指南:使用配置文g发布Session Beanhttp://m.tkk7.com/wansong/articles/358023.htmlw@ns0ngw@ns0ngMon, 05 Sep 2011 12:16:00 GMThttp://m.tkk7.com/wansong/articles/358023.htmlhttp://m.tkk7.com/wansong/comments/358023.htmlhttp://m.tkk7.com/wansong/articles/358023.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/358023.htmlhttp://m.tkk7.com/wansong/services/trackbacks/358023.html

Session Bean除了可以使用注释来发布外Q也可以使用相应的配|文件来发布。在q种情况下,׃需要在接口和Session Bean中用注释了。在JBoss中需要两个文件对Session beanq行配置。这两个文g是ejb-jar.xml和jboss.xml.q两个文件应该META-INF目录中,该目录应该放在jar文g的根目录。ejb-jar.xml文g负责配置session beanQ下面是一个典型的配置代码Q?/p>

<?xml version="1.0" encoding="ASCII"?>
<ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:ejb
="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
xsi:schemaLocation
="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
version
="3.0">
  
<display-name>MyEJB</display-name>
     
<enterprise-beans>
      
<session>
         
<ejb-name>Greeter</ejb-name>
         
<business-local>service.GreeterBeanLocal</business-local>
         
<business-remote>service.GreeterBeanRemote</business-remote>
         
<ejb-class>service.GreeterBean</ejb-class>
         
<session-type>Stateless</session-type>
         
<transaction-type>Container</transaction-type>
      
</session>
   
</enterprise-beans>
</ejb-jar>

    其中<ejb-name>元素是一个表C,表示当前配置的session bean的名U?lt;business-local>?lt;bussiness-remote>分别用来指定本地接口和远E接口?lt;ejb-class>用来指定session bean的javac?/p>

    jboss.xml文g主要用来指定jndiQ如下面的代码所C:

<?xml version="1.0"?>
 
<jboss xmlns:xs="http://www.jboss.org/j2ee/schema"
       xs:schemaLocation
="http://www.jboss.org/j2ee/schema jboss_5_0.xsd"
             version
="5.0"> 
   
<enterprise-beans>
      
<session>
         
<ejb-name>Greeter</ejb-name>
         
<jndi-name>mygreeter</jndi-name>
         
<local-jndi-name>mygreeter_local</local-jndi-name>
      
</session>
   
</enterprise-beans>
</jboss>

    上面的代码中?lt;ejb-name>元素的值和要ejb-jar.xml中的<ejb-name>元素的值相同?lt;jndi-name>用来指定q程的jndi名称?lt;local-jndi-name>用来指定本地jndi的名U。如果访问远E的session beanQ可以用下面代码:

  Properties prop = new Properties();
  InitialContext ctx 
= new InitialContext();
  System.out.println(((service.Greeter)ctx.lookup(
"mygreeter")).greet("bill"));

    从上面代码可看出QlookupҎ通过“mygreeter”来查找服务端的session bean.



w@ns0ng 2011-09-05 20:16 发表评论
]]>
jboss 5,6版本 q程讉KQ?启动是需??-b iphttp://m.tkk7.com/wansong/articles/357300.htmlw@ns0ngw@ns0ngThu, 25 Aug 2011 10:06:00 GMThttp://m.tkk7.com/wansong/articles/357300.htmlhttp://m.tkk7.com/wansong/comments/357300.htmlhttp://m.tkk7.com/wansong/articles/357300.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/357300.htmlhttp://m.tkk7.com/wansong/services/trackbacks/357300.htmlhttp://ljhzzyx.blog.163.com/blog/static/38380312201063010434630/

w@ns0ng 2011-08-25 18:06 发表评论
]]>
JGroup UDP和TCP两种方式http://m.tkk7.com/wansong/articles/357232.htmlw@ns0ngw@ns0ngThu, 25 Aug 2011 00:18:00 GMThttp://m.tkk7.com/wansong/articles/357232.htmlhttp://m.tkk7.com/wansong/comments/357232.htmlhttp://m.tkk7.com/wansong/articles/357232.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/357232.htmlhttp://m.tkk7.com/wansong/services/trackbacks/357232.htmlJGroup可以ZTCP协议来实现消息广播,也可以通过UDP方式来广播消息,利弊不言而喻QTCP可靠Q但是代价大Q性能没有UDP来的 好,UDP速度快,代h,但是消息的丢q以及无序性有着很大的限制。但是JGroup在UDP方式的基上,增加了协议栈的配|,通过配置上层的协 议,可以保证消息的重发,大包体的分解Q同时保证消息包体顺序)Q组内机器的状态检等功能?br />
http://www.javachen.com/2011/06/jgroups-introduction-and-configruation/

http://blog.csdn.net/lnfszl/article/details/5747427

http://docs.jboss.org/jbossas/jboss4guide/r4/html/jbosscache.chapt.html


w@ns0ng 2011-08-25 08:18 发表评论
]]>
JBoss企业U应用服务^台群集指?3,4,5,6,7,8,9,10,11http://m.tkk7.com/wansong/articles/355959.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 07:31:00 GMThttp://m.tkk7.com/wansong/articles/355959.htmlhttp://m.tkk7.com/wansong/comments/355959.htmlhttp://m.tkk7.com/wansong/articles/355959.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355959.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355959.htmlhttp://xudayu.blog.51cto.com/187984/68585
http://xudayu.blog.51cto.com/187984/70210
http://xudayu.blog.51cto.com/187984/67630
http://xudayu.blog.51cto.com/187984/66938
http://xudayu.blog.51cto.com/187984/66655

w@ns0ng 2011-08-07 15:31 发表评论
]]>
Redhat上安装JBoss及其集http://m.tkk7.com/wansong/articles/355958.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 07:28:00 GMThttp://m.tkk7.com/wansong/articles/355958.htmlhttp://m.tkk7.com/wansong/comments/355958.htmlhttp://m.tkk7.com/wansong/articles/355958.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355958.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355958.html阅读全文

w@ns0ng 2011-08-07 15:28 发表评论
]]>
JBOSS中间件套?http://m.tkk7.com/wansong/articles/355955.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 06:05:00 GMThttp://m.tkk7.com/wansong/articles/355955.htmlhttp://m.tkk7.com/wansong/comments/355955.htmlhttp://m.tkk7.com/wansong/articles/355955.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355955.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355955.html
现在在 JEMS 上实现标准化
 
适用于面向服务架构(SOAQ的开源^?/font>
  在当今竞争激烈的市场中,必须不断满q超客戗供应商和合作伙伴的需求。除了要降低成本、优化运营效率以及增加投资回报率Q甚臌必须满内部受众的需求。在争取成功的过E中Q各大企业都非常清楚自己面的挑战,那就是必迅速改造数据中心基架构、创造新的收入流以及快速部|既强大又灵zȝ模块化应用。JBoss 企业U中间g套gQJEMSQ是市场上领先的适用于面向服务架构(SOAQ的开源^台。它为创建和部v新的创收应用提供了一个具有高度可扩展性的产品套g?/div>
  ׃ JEMS 从最初设计就以灵zL和自由选择性ؓ宗旨Q它不是典型的全能型单片式^台套件。它以面向服务架构ؓ基础Q其中明规定了x即用其品和服务的接口。对于有意在一个经有效的标准q_之上加强对其 IT 投资理的企业而言Q这一基本原则保了他们可以以保护现有投资的方式实Cq目标。现在就?JEMS 上进行标准化Qؓ大幅降低M拥有成本q在打造和部v复杂企业应用领域取得重大飞跃而努力吧Q?/div>
 
亮点及核心h?
 
开源、零成本的品许?/font>
  JEMS 产品套g为开源的许可软gQ可以免费下载,也可免费用于开发和生部v。这意味着企业不再需要按照自q预算_打l算所需软g许可的数量。零成本的品许可确保了您可以根据公司应用的需求在众多pȝ?CPU 之上实现l济有效的部|Ԍ毫无隐性成本?
适用于面向服务架构的紧凑q_h高度灉|?/div>
  到目前ؓ止,那些渴望实施面向服务架构q实现面向服务架构优势的企业仍面临着两难的抉择,要么是用h格昂늚单片式专有^収ͼ要么是选择拼凑在一L各种开攄、؜杂的或专用组件。与此相反,JEMS 是唯一一个由各种业内领先的开源中间g产品l成的套Ӟq些中间件品紧密配合,既可以单独用、؜合和搭配使用Q也可以作ؓ一个完整的单元在面向服务架构中构徏和部|应用、业务流E和 web 服务?/div>
 
以即插即用的方式保护您的投资
  所?JEMS 产品在设计上都以实现功能lg的可扩展性和可交换性ؓ宗旨。即插即用的 SOA 微核不但有助于自由选择所需的技术,q提供了更高?IT 投资回报。通过不断创新以及W合业内标准的要求,q一模块化基大大降低了企业基架构q时的风险。JBoss 公司致力于推动可以实现技术自׃用的标准化进E?/div>
专业的开源技术是创新的驱动力
  在IT 架构上采用标准时Q企业必ȝ保这些投资可以满x来的需求,而不会在短时间内q时。JBoss 专业的开源方法可以帮助您直接实现q一目标。由于所?JEMS 产品在设计上都可独立使用Q所以每U品必M断创斎ͼq凭借自w的优势实现技术上的超。JBoss 公司聘请了众多开源项目领D以及开源专家作为公司的全职员工Q在 JEMS 产品的创新和研发斚w投入了重资。JBoss 专业开源方法的q一重要一步 JBoss 推出?JBoss 应用服务器、Apache Tomcat ?Hibernate {创新的最佳品-所有这些品都?JBoss ?/div>
从源头提供的一全天候支?/div>
  JBoss 开拓了以品专家提供的专家U支持服务作为开源Y件强大后盄专业开放源码模式(Professional Open Source modelQ。JBoss 公司以及庞大?JBoss 授权服务合作伙伴|络可ؓ整个 JEMS 产品套g提供全面的支持服务,其中包括专业支持、咨询和培训服务?/div>
  • JBoss 订阅QJBoss SubscriptionQ-包括~陷修正、问题支持以及开发h员协助(例如q行配置和性能优化Q,此外q包括补偿以及访?JBoss ON 和客h持网站?/li>
  • 培训服务Q包括在全球主要城市提供的公共培训课E和在企业办公地Ҏ供的专门培训评?/li>
  • 咨询Q通常q识渊博的 JBoss 咨询人员提供的短期(3~5天)服务?
 
JEMS -适用于面向服务架构的开源^?/font>
  JEMS 囊括了各U各样可以共同用、单独用或与公司现有中间g解决Ҏl合使用的最佌Y件品,因此Q随着企业的数据中心不断发展ؓ以服务ؓ中心的架构,您可以自由选择所需产品。JEMS ׃列可以帮助您q速开发强大的应用?web 服务的品组成:
  • JBoss 应用服务器(JBoss ASQ?a name="01">是目前市Z使用最q泛?Java 应用服务器,它具有预计在 J2EE 1.4 认证q_中推出的所有功能。JBoss 应用服务器徏立在以即插即用方式提供所?J2EE 1.4 服务Q包括实现集、缓存和持久性的 EJB、JSP/Servlets ?Web服务以及扩展的企业服务)的SOA 微核之上。此外,利用 JBoss 应用服务器,您还可以自由选择开发模式:J2EE1.4 标准Ҏ以及大大化的 EJB 3.0 模式。最新的 EJB 3.0 ~程模式允许使用单的 Java 注解向标准的 Java 对象应用企业服务和行为-不再需要大量的h文g代码Qboilerplate codeQ和冗长?XML 描述W?/li>
  • Hibernate 是用最q泛的适用?Java 环境的对象关pL(ORMQ解x案,它赋予了企业对象模型的数据表示法映到关系型数据模型及相关数据库模式的能力Q可以直接解?ORM 的复杂性问题。Hibernate 的目标是Q消除开发h员需要?SQL ?JDBC 手动处理数据的需求,他们与通用数据持久性相关的~程工作量减?95%?br />若欲了解更多Hibernate信息Q请点击q里?/font>
  • Apache Tomcat 是用最q泛?JSP/Servlet Web 应用容器Q是 J2EE 1.4 JSP/ Servlet 的一个参考实施方案。Tomcat 可单独用于ؓ web 应用提供动力Q也可作?JBoss 应用服务器的一部分使用Qؓ可扩展的更复杂企业应用提供动力。Tomcat ?web 服务器连接器QWeb Server ConnectorsQ还使主的 web 服务器实C无缝集成Q如 Apache HTTP 服务器以及由 JBoss 应用服务??Tomcat 提供动力的企业 web 应用?/li>
  • JBoss Cache 是一个复制的事务~存Q它可以通过处理 HTTP 会话复制来改善应用性能Qƈ可以Ҏ一本地q程或分布式q程中访问频率最高的 Java 对象q行理。通过Ҏ索或创徏成本都较高的 Java 对象的本地复Ӟlocal copiesQ进行管理,JBoss Cache 大大提高了应用的性能。数据库讉K的优化不但降低了|络量Q改善了应用的可扩展性,q提高了应用的性能?/li>
  • JBoss Transactions 是一个业内业已证明的产品Q可以简化分布式事务的处理过E以及提供符合业内标准的互用性。事务处理可以确保绝对准完成业务流E,在打造可靠、复杂的业务应用斚w发挥着重要的作用。JBoss Transactions 完全采用?Java 技术,是一个适用?Java EE 的分布式交易pȝ实施Ҏ。它W合业内主要标准Q在保业务事务整体性的基础上可以您的企业高枕无忧。JBoss Transactions 支持 WS-TransactionsQ因此,无论是您现在使用?web 服务应用Q还是将来采用的 web 服务应用Q都可具有最大的互用性?/li>
  • JBoss Portal 提供了一个符合标准的环境Q可以用其托某一门户|站?web 界面Q发布内容ƈ对这些内容加以管理以及实现量w定制的客户体验。作Z公司信息交互的唯一途径Q企业门L站(Enterprise PortalsQ大大简化了信息的访问过E。利?JBoss PortalQ企业具有了公司员工、合作伙伴和客户与其所需信息联系h的能力-从而提高了业务效率q低了成本。此外,׃ JBoss Portal 部v?JBoss 应用服务器之上,不但讉K动态信息非常容易,而且pȝ的性能和可扩展性也有一定的保障?/li>
  • JBoss jBPM 是一个功能强大的工作和业务配置QorchestrationQ^収ͼ它可以完全不同的应用和服务互相协作。JBoss jBPM 工作流应用的快速开发与一个灵zR可扩展的流E引擎实C完美l合Q因此可以轻松迅速地实施和部|具有互用性的应用。通过提供了一个可以创建、协调和监控业务程的既灉|又强大的框架QJBoss jBPM 使更改复杂的业务程变得I前单,q大大提升了业务的灵zL?/li>
  • JBoss Rules h一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,W合业内标准Q速度快、效率高。业务分析师或审思h员可以利用它L查看业务规则Q从而检验是否已~码的规则执行了所需的业务规则。JBoss Rules q支持各U各L语言和决{表输入Q因此要想通过快速修改业务规则来q接新的商机变得非常单?/li>
  • JBoss Messaging 是一个将企业U消息传输服务带到大众市场的开源消息传输^収ͼW合业界标准。由于它支持 Java EE Java Message Service (JMS) 规范Q因此,利用q一q_Q可以开发事务驱动的便携式消息应用。JBoss Messaging 采用了一个高性能的消息传输内核,在设计上可以同时满单和复杂的异步消息传递需求。凭借其模块化的x即用式架构,可以L?JBoss Messaging 与其?JEMS 产品共同使用?/li>
  • JBoss Eclipse IDE 使用一pd有助于程序员开发、部|Ӏ测试和调试 JEMS 应用的工具对 Eclipse q一使用最q泛的综合开发环境框架进行了扩展。JBoss Eclipse IDE 提供了各U各样可以快速开?J2EE ?EJB3.0 应用以及 Hibernate ?JBoss jBPM 应用的向导和功能。利?JBoss Eclipse IDEQ开发h员可以简化应用开发过Eƈ用更短的旉提供更大的h倹{?
 
采取下一步行?/font>
  如需了解有关 JBoss 企业U中间g套g的更多信息,Ƣ迎登陆[url]www.jboss.com/products[/url]?/div>
Applications, Web Services, and Business ProcessesQ应用、web 服务和业务流E?br />JBoss MicrokernelQJBoss 微核
JBoss Application ServerQJBoss 应用服务?br />Multi-vendor Java VM, Operating System, HardwareQ多厂商 Java 虚拟机、操作系l、硬?/div>
  JEMS x即用式面向服务架构(SOAQ微核有助于您自由选择所需技术ƈ使您?IT 投资h更大的投资回报率Q进而您可以按自己的需求在 JEMS 上实现标准化?/div>

w@ns0ng 2011-08-07 14:05 发表评论
]]>JBoss企业U应用服务^台群集指?? http://m.tkk7.com/wansong/articles/355956.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 06:05:00 GMThttp://m.tkk7.com/wansong/articles/355956.htmlhttp://m.tkk7.com/wansong/comments/355956.htmlhttp://m.tkk7.com/wansong/articles/355956.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355956.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355956.html1.1.2 服务架构
每个节点上的 ClusterPartition MBean 定义的群集拓扑结构(clustering topographyQ对pȝ理员很重要。但是对于大部分的应用程序开发者来_你可能更兛_从客户应用程序的角度来看的群集架构。JBoss AS 支持两种集架构Q客L拦截器(client-side interceptorsQ(proxies ?stubsQ和负蝲qpȝQload balancersQ?/span>

1.1.2.1 客户端拦截器

JBoss 应用服务器提供的大部分远E服务,包括 JNDI、EJB、RMI ?JBoss RemotingQ都要求客户端获得(如,查找和下载)一?stubQ或 proxyQ对象。占位对象(stub objectQ由服务器生成,它实现服务的商业接口。客户可对占位对象调用本地方法。这个调用会自动L路由Qƈ被服务器理的服务对象引用。在集环境里,服务器生成的占位对象也是一个懂得怎样把调用指引向不同节点的拦截器。占位对象寻扑֐适的服务器节炏V配|调用参数、解释调用结果,q把l果q回l调用程序?/span>
 
stub interceptors 拥有集pȝ的更C息。例如,它们知道所有可用网l节点的 IP 地址Q怎样在节点上分摊负蝲的算法(请参考下一部分内容Q,和如果目标节点不可用时对hq行失效切换QfailoverQ。对于每个服务请求,服务器节炚w用群集里最新的信息来更?stub interceptor。例如,如果一个节炚w出群集系l后Q每个客?stub interceptor 在下一ơ连接活动的节点Ӟ都会用新的配|来更新。在 service stub 上的所有操作对于客户应用程序都是透明的?/span>
如图1.2, “集群中的客户端拦?代理)体系l构” 里说明了客户端拦截器集架构?/span>
 
 
?span lang="EN-US"> 1.2. 集群中的客户端拦?span lang="EN-US"> (代理) 体系l构

1.1.2.2负蝲qpȝ

其他?JBoss 服务Q特别是 HTTP web 服务Q不要求客户下蝲M东西。客LQ如Qweb 览器)按照某种通信协议Q如 HTTP 协议Q直接发送请求和接收回复。在q种情况下,负蝲qpȝ需要处理所有的hq把它们分配l群集里的服务器节点。负载^衡系l是集里的一个典型概c它理解集配置和失效切换策略(failover policiesQ。客户只需要知道它的存在。如?1.3, “集群的负载均衡体p?#8221; 说明了负载^衡系l的集架构?br />http://blog.51cto.com/viewpic.php?refimg=http://xudayu.blog.51cto.com/attachment/200803/200803091205050005890.jpg

?1.3. 集群的负载均衡体p?/span>
负蝲q本n是一个单Ҏ障,q对于负载均衡是一个潜在的问题。它需要受到密切的监控Q以保高可用性的集群服务?/span>

w@ns0ng 2011-08-07 14:05 发表评论
]]>
JBoss企业中间?/title><link>http://m.tkk7.com/wansong/articles/355954.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sun, 07 Aug 2011 06:03:00 GMT</pubDate><guid>http://m.tkk7.com/wansong/articles/355954.html</guid><wfw:comment>http://m.tkk7.com/wansong/comments/355954.html</wfw:comment><comments>http://m.tkk7.com/wansong/articles/355954.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/wansong/comments/commentRss/355954.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/wansong/services/trackbacks/355954.html</trackback:ping><description><![CDATA[<table border="0" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td> <div align="left">JBoss 应用服务器(JBoss ASQ是市场上领先的开?J2EE 应用服务器,它ؓ开发和部v电子商务应用提供了一个高性能的企业q_。功能强大但灉|的架构与免费开源Y件许可的完美l合Q JBoss 应用服务器快速成为最受开发h员、独立Y件供应商QISVQ和企业Ƣ迎的中间gpȝ?/div> <div align="left">  众所周知QJBoss 应用服务器具有强大的功能和简单性,它在实现了对 EJBQEnterprise Java BeanQ?.0 ~程模式的支持后Q更是自己名声大振。EJB3 通过标准?Java 注解Q向单的 Java 对象昄?Java 企业版^台服务的强大功能Q这大大化了企业 Java 的编E模式。JBoss 应用服务器还化了开发h员与中间件服务的交互方式Q有助于 IT 企业在更短的旉内提供更大的价倹{?/div> <div align="left">  JBoss 订阅服务的客户可以通过讉K JBoss Operations Network QJBoss ONQ对?JBoss 应用服务器环境进行管理和监控。JBoss ON 在企业应用生命周期的每个阶段Q从设计和开发、测试和部v到管理和监控Q都可以为您提供协助。更快的开发和部v速度以及零成本的软g许可大大降低了整体业务成本。最重要的是QJBoss 应用服务器的支持服务由全职的 JBoss 产品专家以及 JBoss 授权的服务合作伙伴竭诚提供,q JBoss 应用服务器成Z业ؓ其关键应用提供动力的安全之选?/div></td></tr> <tr> <td> </td></tr> <tr> <td valign="top" align="left"> <div id="0mskkyg" class="blue14_word"><font color="#1e90ff">亮点及核心h?/font></div> <div id="mmukssi" class="blue14_word"><font color="#1e90ff"></font> </div> <div><span id="yayy4o2" class="blue14_word"><font color="#1e90ff">开源、零成本的品许?/font></span><br />   Hibernate软gZ开源GNU 通用公共许可证(LGPLQ授权发布,可免费下载,也可免费用于开发和生部v。这许可还允许独立软g开发商免费嵌入和分发Hibernate软g?/div> <div> </div> <div align="left"><font color="#1e90ff"><span id="aeowmmk" class="blue14_word">L使用企业 JavaJBoss</span> </font><br />  应用服务器提供了一U向 POJO 应用企业U行为(如持久性、安全性和分布式事务缓存)的创新方式,W合业内标准。JBoss ?Java Annotations 库由最新的 EJB 3.0 ~程模式提供动力Q有助于开发h员用所需的中间g服务增强现有?POJO。Java Annotations 的用开发h员可以专注于业务逻辑Q而不?J2EE boilerplate 代码Q这大大提高了他们的工作效率q羃短了开发、编译和部v周期?/div> <div align="left"> </div> <div align="left"><span id="0ogoouc" class="blue14_word"><font color="#1e90ff">企业U可靠?/font></span><br />  JBoss 应用服务器ؓ需要一性能和可扩展性的d关键应用提供了一个可靠的基础。其高可用性服务具有预计在最佛_^C推出的集、缓存、故障切换、负载均衡和分布式部|功能。此外,JBoss 应用服务器符?J2EE 要求Q通过?23,000ơ用测试兼Ҏ套ӞTest Compatibility KitQ进行的试Q您可以信心十地用它来开发和部v应用?/div> <div align="left"> </div> <div align="left"><span id="gwemuc2" class="blue14_word"><font color="#1e90ff">一致的可管理?/font></span><br />  凭借其Z Java 理扩展QJMXQ的一微核架构,JBoss 应用服务器不但可以提供一致的模块行ؓQ而且q具有通过支持 JMX 的管理控制台理和配|服务的能力。此外,JBoss 订阅的客戯可以利用 JBoss ON q泛的管理和监控功能对其 JBoss 环境q行集中理?/div> <div align="left"> </div> <div align="left"><span id="umc2c4m" class="blue14_word"><font color="#1e90ff">可嵌入的面向服务架构QSOAQ?/font></span><br />  JBoss 应用服务器由一l独立、但怺协作的组件和服务l装而成Q这些组件和服务以纯_的方式打包Q完全支持热部v。它在设计上可以无缝嵌入到应用中Q嵌入式设计的本质是Ҏ应用的特定需求实现完全的量n定制。因此,只有必不可少的主要应用服务器lg需要作为应用的部分基准配置Qbaseline footprintQ提供。此外,开发h员还可以L创徏服务q将其添加到pȝ中,q确保了定制的服务具有与 JBoss 标准服务集一L一致行为?/div> <div align="left"><span id="sus0coe" class="blue14_word">为符合标准的要求打造而成</span><br />  利用其前L的模块化架构,JBoss 应用服务器不但可以满目前的标准需求,q是处理未来标准和服务的最佳选择Ҏ。随着新标准不断出玎ͼ可以以一U统一的可预测方式其插入?JBoss 应用服务器中Q从而确保了开发h员迅速采用这些新技术?/div> <div align="left"><span id="wgwwgmm" class="blue14_word">增强的互用?/span><br />  JBoss 应用服务器完全支?J2EE 1.4 规范要求?Web 服务标准Q因此,各种应用即在不同的操作pȝ和硬件架构上q行Q而且使用不同的应用架构和~程语言Q也可以共同工作。这U独立于技术的互用性有助于 IT 企业实现现有解决Ҏ的最大化价|对企业应用进行集成以及消除公司的理真空区?/div> <div align="left"> </div> <div align="left"><span id="yiqyiig" class="blue14_word"><font color="#1e90ff">一的全天候支?/font></span><br />  JBoss 开拓了以品专家提供的专家U支持服务作为开源Y件强大后盄专业开放源码模式(Professional Open Source modelQ。JBoss 公司以及庞大?JBoss 授权服务合作伙伴|络可ؓ我们的品(?JBoss 应用服务器)提供全面的支持服务-是适合企业的安全之选?/div> <div align="left"> </div> <div id="imkum2c" class="blue14_word" align="left"><font color="#1e90ff">lg及功?/font></div> <div id="aksskkq" class="blue14_word" align="left"><font color="#1e90ff"></font> </div> <div align="left"><font color="#1e90ff"><span id="aauccua" class="blue14_word">著名?EJB 3.0</span><br /></font>EJBQEnterprise Java BeansQ?.0 规范对原 EJB 规范q行了重大调整和化,其宗旨是通过使开发h员可以专心编?POJOQplain old java objectsQ,而不是学习复杂的 EJB API 来简化开发过E?/div> <div align="left">  EJB 3.0 规范包括如下内容Q?/div></td></tr> <tr> <td> <ul><li>适用于会?BeansQSession BeansQ、消息驱?BeansQMessage Driven BeansQ和实体 BeansQEntity BeansQ的化的 EJB API</li><li>Java 注解QJava AnnotationsQ?/li><li>依赖注入QDependency InjectionQ?/li><li>可选的回调机制QOptional CallbackQ?/li><li>实体理?APIQEntity Manager APIQ?/li><li>化的持久性和改善的查询功?/li><li>h EJB 3.0 规范最新功能演C的 JBoss TrailBlazer 指南及演C系l?</li></ul></td></tr> <tr> <td> </td></tr> <tr> <td> <div align="left"><span id="iasikyy" class="blue14_word"><font color="#1e90ff">JSFQJavaServer FacesQ?/font></span><br />JSF 是一个适用于开发多功能用户界面?Web 应用框架。它?Java EE 5 规范的一部分Q提供了一个构建服务器端动态用L面的标准。JSF 明确规定要将应用逻辑与演C分d来。利用这一规定Q开发h员可以轻村֜演C层Qpresentation layerQ与应用代码q接h?/div> <div align="left"> </div> <div align="left"><font color="#1e90ff"><span id="gw4g4qq" class="blue14_word">JBoss Seam</span><br /></font>  JBoss Seam 是一个将 EJB3 ?JSF lg模型l一h的应用框架。它可ؓ所?Java lg提供声明式应用状态管理。JBoss Seam 的组件是有状态的Q具有上下文相关性以及一个明规定的容器理Qcontainer-managedQ周期。这一Ҏ有助于解决需手动理状态的 web 应用面的所有类型缺陷和性能问题。JBoss Seam可以?JBoss jBPM 完全集成到这个状态管理架构中Q在q种情况下,使用复杂的工作流E和用户交互~写应用变得I前单?/div></td></tr> <tr> <td> </td></tr> <tr> <td> <div><font color="#1e90ff"><span id="sy4qiia" class="blue14_word">Web 应用服务</span><br /></font>JBoss 应用服务器支持最新的 JSP ?Servlet 规范Q同时还采用了许多其它高性能的高U功能来满当前最复杂?web 应用的需求?/div></td></tr> <tr> <td> <ul><li>嵌入式的 Apache Tomcat 5 JSP 容器支持业内领先?2.0/Servlet 2.4 规范</li><li>Tomcat 与其?JBoss 应用服务器服务的集成大大提高了系l的可靠性、可扩展性和可用?/li><li>通过 mod_jk 与Apache Web 服务器集成提供了市场上最佳的 Web 服务器、Web 容器以及应用服务器组合?</li></ul></td></tr> <tr> <td> </td></tr> <tr> <td> <div id="0qqaia4" class="blue14_word" align="left"><font color="#1e90ff">~存、集和高可用?/font></div>  JBoss 应用服务器可提供下列Ҏ的高可用性服务:</td></tr> <tr> <td> <ul><li>集群、故障切换、负载均衡和分布式部|功能ؓ部v功能强大、可扩展的大型应用提供了Ҏ。主要功能包括: </li></ul> <ul> <ul class="quan"><li>节点自动恢复</li><li>在整个集范围内QCluster-wideQ复?JNDI 上下?/li><li>适用?JNDI、RMI 和所?EJB cd的故障切换和负蝲均衡</li><li>状态会?beanQStateful session beanQ状态复?/li><li>HTTP 会话复制</li><li>高可用?JMS</li><li>JBoss 应用服务器组件的 Farming/分布式部|Ԍ在一个节点上部v卛_完成Ҏ有节点的部v?</li></ul></ul> <ul><li>嵌入?JBoss Cache h一个面向事务的复制树状l构高速缓冲存储器Q因此在 JBoss 应用服务器网g上可以轻村֮现数据集。JBoss CacheQ?</li></ul> <ul> <ul class="quan"><li>通过本地讉K数据大大提高了性能</li><li>允许复制会话数据Q因此可在网g提供一个始l可用的高可用性高速缓冲存储器?/li><li>可以?POJO q行_的复Ӟ业内首创Q?</li></ul></ul></td></tr> <tr> <td> </td></tr> <tr> <td> <div align="left"><span id="wiiaiio" class="blue14_word"><font color="#1e90ff">Hibernate 持久化服?/font></span><br />?JBoss应用服务器中捆绑和集?Hibernate q一目前在对象关pL和持久性方面领先的技术是Z提供如下功能Q?/div></td></tr> <tr> <td> <ul><li>EJB 3.0 Entity Manager ?Java Persistence API</li><li>对时数据、历史数据、区域数据和权限数据Qpermissioned dataQ进行虚拟过?/li><li>灉|的对象关pL?/li><li>单一对象到多表映?/li><li>用手写的 SQL 覆盖生成?SQL 的能?/li><li>不需要字节码处理可以实现透明的持久?/li><li>可以通过 XDoclet 生成的可ȝ对象关系映射定义</li><li>可将数据作ؓXML和Java对象q行交替表示的XMLl定</li><li>采用了由事g驱动的设计,保了可以通过创徏和注册自定义事g来审核情冉|U联行ؓ语言Qcascaded behavior semanticsQ?/li><li>用类g SQL 语言表示的功能强大的面向对象查询语言</li><li>通过查询q行扚w更新和删?/li><li>高性能QUHPQ?</li></ul></td></tr> <tr> <td> </td></tr> <tr> <td> <div><span id="mgyqywo" class="blue14_word"><font color="#1e90ff">企业服务</font></span><br />JBoss 应用服务器具有如下满_今各U可扩展的、分布式、面向事务的以及定w应用需求的企业U功能?/div> <div align="left">EJB 2.1支持包括Q?/div></td></tr> <tr> <td> <ul><li>有状态和无状态会?Beans</li><li>BMPQBean理的持久性)实体 Beans</li><li>CMPQ容器管理的持久性)实体 Beans</li><li>消息驱动?beans QMDBQ?/li><li>使用 RMI-IIOP ?JAXRPC 的互用?/li><li>无状态会?beans ?MDB 作ؓ Web 服务昄的能?/li><li>支持通过 Web 服务QWeb ServicesQ发送和接收消息</li><li>Z EJB ?JMX ?web 服务的轻N|和热部|?/li><li>从外?CORBA 对象讉K EJB</li></ul>  捆绑?ORBQJacORBQ支持下列功能: <ul><li>EJB 2.1 ?CORBA 对象间的互用?/li><li>完全支持 CORBA 2.3</li><li>可移植对象适配器(POAQ?/li><li>异步Ҏ调用QAMIQ?/li><li>可移植拦截器QPortable interceptorQ?/li><li>动态调用接口(DIIQ、动态框架接口(Dynamic Skeleton InterfaceQ和 DynAny</li><li>支持内置的命名和目录接口QJNDIQ?/li><li>支持两阶D|交事务(two-phase commitQ的内置 JTA </li></ul></td></tr> <tr> <td> </td></tr> <tr> <td> <div align="left"><span id="i8my8wu" class="blue14_word"><font color="#1e90ff">Web 服务和互用?/font></span><br />  ?J2EE 1.3 相比QJ2EE 1.4 的主要改q是增加?web 服务标准、可?XML q行更全面的处理以及提高 Web 服务的互用性。这?web 服务标准的全面融合不但 JBoss 应用服务器上构徏的应用程序可以?SOAP、WSDL、UDDI ?XML 语言?Web 服务q行动态交互,而且qɘq些应用?JBoss 应用服务器提供的可扩展的、可靠的、且可用于生产的架构L非浅?/div> <div id="yss6y4c" class="blue14_word">集成及消息服务(Messaging ServicesQ?/div> <div>Z提供满最严格集成要求的基架构QJBoss 应用服务器支持最新的q接器和消息传递规范?/div> <ul><li>支持q接?J2EE q接器架构(JCAQ?.5 规范?/li><li>支持对Q何符?JCA 规范的资源适配器(包括数据库、传l系l和 JMS 服务器)q行池、事务和安全上下文传播(context propagationQ的 JDBC 3.0 规范?/li><li>支持用可选的服务质量参数Q如持久性、有保障传输和事务)在分布式pȝ中异步传输消息的 JMS 1.1。该规范q支持队列和主题消息形式Qƈh支持在集环境中部v JMS 应用的高可用性功能?</li></ul> <div><span id="8m44a8c" class="blue14_word"><font color="#1e90ff">安全服务</font></span><br />  JBoss 应用服务器采用了标准?JAAS QJ2EE Authentication and AuthorizationQ安全模式,同时Z实现与上下文相关的授权,它还支持扩展的安全模式。此外,׃ JBoss 应用服务器支持可插拔认证模块QPAMQ,q可实现与公司现有认证框架的集成?/div> <div><span id="y8uuucc" class="blue14_word">面向服务的微核(Service Oriented MicrokernelQ?/span><br />  ?JBoss 应用服务器的中心是一个所需I间极小的面向服务架构(SOAQ微核。通过利用 JMXQ上q微核提供了一个轻量的组件模式,其中明确规定了服务的周期、配|和理Q同时还提供了一个将服务lgl装h的标准机Ӟ保了以一U统一、一致的方式Ҏ有服务进行访问、管理和集成。JBoss 应用服务器中部v的服务范围涉及从事务和消息服务到q接池和安全服务{多斚w。在 JBoss 应用服务器中Q可以轻松从pȝ中删除服务或向系l添加服务-从而通过调整整体所需I间大小来满特定的需求。此外,开发h员还可以创徏定制的服务,q将其作为可分别?JBoss 应用服务器热部v的服务档案(SARQ打包。利用这U方式,开发h员可以轻松扩?JBoss 应用服务器?/div> <div><span id="yi4cmcc" class="blue14_word">注解库(Annotation LibraryQ及斚w框架QAspect FrameworkQ?/span><br />   JBoss 应用服务器具有一?AOPQaspect-oriented programmingQ框Ӟ该框架可以和 OOPQobject-oriented programmingQ共同用,从而ؓ面向对象?POJO 提供一个声明式横切服务Qcross-cutting, declarative servicesQ(如持久性、登陆和~存Q。该框架可广泛用于改善代码可L、可l护性和可重复用性的 EJB 3.0 以及扩展?JBoss Annotations。通过?Java 对象加以单的注释Q开发h员可以将扩展的功能轻松、迅速地d到现有应用中。该框架q提供了一Uy妙扩?Java 语言的好方式?/div> <div> </div> <div><font color="#1e90ff"><span id="iyq2yaq" class="blue14_word">控制台及工具</span><br /></font>  JBoss 应用服务器包含一个控制台Q它可以提供如下的功能:</div> <ul><li>查看用户定义的域?MBeans</li><li>获得 Servlets 的管理统计数据、EJB 和部|描q符视图</li><li>动态绘制数值型 JMX 属?/li><li>监控 JMX 属?/li><li>Ҏ特定的阈值接攉件警告通知</li><li>记录不同旉?JMX 属性的快照</li><li>查看微核Qƈ昄所有注册的和现用的 MBean 服务</li><li>昄 JNDI ?/li><li>生成 thread dump</li><li>寚w|扫描器Qdeployment scannerQ进行管?/li><li>停止 JBoss 应用服务?</li></ul> <div align="left">  JBoss 订阅服务QJBoss SubscriptionQ包括对 JBoss Operations Network 的访问,该网l提供了多种多样的管理和监控功能Q可用于?JBoss 生环境q行理。如需了解详细信息Q欢q访?a >[url]www.jboss.com/services/jbossnetwork[/url]</a>?/div> <div align="left">  <font color="#1e90ff">JBoss Eclipse IDE 可以单独提供Q它主要h如下功能Q?/font></div> <ul><li>Z Eclipse 3 的一开发环?/li><li>EJB 3.0 目向导</li><li>?JBoss AOP 和开发的全面支持以及斚wQaspectsQ的使用</li><li>可进行全面的 HQL 查询和浏览结果集?Hibernate 控制?/li><li>Hibernate XML 映射文g~辑?/li><li>适用于逆向工程数据库模式(database schemaQ的 Hibernate 向导</li><li>JBoss jBPM 囑Ş程设计Qgraphical process designerQ?/li><li>?JBoss 服务器的全面调试和监控以及对其生命周期的控制</li><li>档案打包规划Q打包的或展开的)的简单配|?/li><li>?JBoss 应用服务器简单部|打包的?或展开的档案(exploded archiveQ?/li><li>几个可以?J2EE 开发过E的 J2EE 向导</li><li>可突出显C句法的 JSP、HTML ?XML ~辑?/li><li>?XDoclet 提供的舒适、复杂的支持</li><li>?XDoclet、打包和部v?Eclipse Job API 实现了集?</li></ul></td></tr> <tr> <td> </td></tr> <tr> <td> <div align="left"><span id="sssiqws" class="blue14_word"><font color="#1e90ff">从源头提供的支持服务</font></span><br />  成功在很大程度上取决于是否具有学习、实施和?JBoss 应用服务器等技术提供支持的能力。这也是 JBoss 产品专家团队奋斗之所在。JBoss 公司以及庞大?JBoss 授权服务合作伙伴|络可ؓ JBoss 应用服务器提供全面的支持服务Q其中包?JBoss 订阅、培训和咨询服务?/div></td></tr> <tr> <td> <ul><li>JBoss 订阅QJBoss SubscriptionQ将帮助您解x有与 JBoss 应用服务器相关的问题Q其中包括故障和补丁理、生产支持以及M开发和部v协助。JBoss 目前共推Z三种不同U别的支持服务,其中包括?48 时内响应的 8*5 支持服务以及?2 个小时内响应的全天候服务。所?JBoss 专业支持服务都包含不限制登陆旉或呼叫次数的无限制支持?</li></ul> <ul> <ul><li>每个金QGoldQ和白金U(PlatinumQJBoss 应用服务器订阅合同都包括?JBoss Operations NetworkQJBoss ONQ的讉K。利?JBoss ONQ您可以更好C解和控制您的 JEMS 应用Q这包括库存、管理、控制和?JBoss 环境q行监控的主要功能?</li></ul></ul> <ul><li>培训服务包括在全球主要城市提供的公共培训评和在企业办公地点提供的专门培训课E。目前我们主要提供如下有?JBoss 应用服务器的培训评Q?</li></ul> <ul> <ul><li>适用?Java 开发h员的 JBoss ?EJB3</li><li>适用?Web 开发h员的 JBoss</li><li>适用于高U?J2EE 开发h员的 JBoss</li><li>面向理员的 JBoss</li><li>JBoss 集群</li></ul></ul> <ul><li>咨询服务包括在您需要深入了解品知识时pl有素的 JBoss 应用服务器咨询h员提供的现场和远E咨询服务。我们的咨询服务从源头直接为您提供体脓的服务,q对保您及时?JBoss 应用服务器至关重要?</li></ul> <div>  如需了解有关 JBoss 服务的更多信息,Ƣ迎登陆<a class="red" target="_blank"><font color="#ff0000">[url]www.jboss.com/services/Index[/url]</font></a>?/div> <div align="left">  我们衷心希望您获得一个积极的 JBoss 体验。如需要了解有?JBoss 的支持、培训和咨询服务Q欢q您随时与我们联pR?a href="mailto:您可以发送电子邮件到%3Ca%20href='mailto:sales@jboss.com'%20href_cetemp='mailto:sales@jboss.com'%3Esales@jboss.com%3C/a%3E">您可以发送电子邮件到 <a href="mailto:sales@jboss.com">sales@jboss.com</a></a> 或致?JBoss 国分公司总部Q电话:+1 (404) 467-8555Q或Ƨ洲总部Q电话:Q?1 32 720 9260Q?/div></td></tr> <tr> <td> </td></tr> <tr> <td> <div><span id="ow444iy" class="blue14_word"><font color="#1e90ff">所需q_及支持的标准</font></span></div> <div><strong>pȝ最低需?</strong></div> <ul><li>JDK 1.4 或更高版本(使用1.4.2Q?/li><li>在?EJB 3.0 旉要?JDK 5 或更高版?/li><li>512 MB RAM</li><li>100 MB 盘I间</li><li>400 MHz CPU </li></ul> <div><strong>支持的操作系l?br />  </strong>׃ JBoss 应用服务器完全用了 Java 技术,因此Q可以与大多数能够运行Java 虚拟机(JVMQ的操作pȝ同时使用Q其中包?Windows pȝ、UNIX pȝ?Linux pȝ?/div> <div><strong>支持的数据库</strong></div> <div>JBoss 应用服务器可?W合 JDBC 标准的所有数据库共同使用Q如 Oracle、SQL Server、DB2 {等?/div><strong>支持的标?</strong> <ul><li>EJB 3.0 规范草案</li><li>EJB 2.1</li><li>JSP 2.0 ?Servlets 2.4</li><li>JavaServer Faces</li><li>Java Management Extension (JMX) 1.2</li><li>Java Messaging Service (JMS) 1.1</li><li>Java Transaction API (JTA) 1.0.1B</li><li>CORBA 2.3.1</li><li>JDBC 3.0</li><li>J2EE Connector Architecture (JCA) 1.5</li><li>J2EE Management API 1.0</li><li>J2EE Deployment API 1.1</li><li>Java API for XML Processing (JAXP) 1.2</li><li>Java API for XML based RPC (JAXRPC) 1.1</li><li>SOAP with Attachments API for Java (SAAJ) 1.2</li><li>Java API for XML Registries (JAXR) 1.0</li><li>Web Services 1.1</li><li>Java Naming and Directory Interface (JNDI) 1.2.1</li><li>Java Authentication and Authorization Service (JAAS) 1.0</li><li>JavaBeans Activation Framework (JAF) 1.0</li><li>JavaMail 1.3</li><li>Java Authorization Service Provider Contract for Containers (JACC) 1.0</li></ul></td></tr></tbody></table><img src ="http://m.tkk7.com/wansong/aggbug/355954.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/wansong/" target="_blank">w@ns0ng</a> 2011-08-07 14:03 <a href="http://m.tkk7.com/wansong/articles/355954.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何配置一个负载均?Loadbalanced)的高可用?High-Availability,HA)Apache集群(Cluster)http://m.tkk7.com/wansong/articles/355953.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 06:01:00 GMThttp://m.tkk7.com/wansong/articles/355953.htmlhttp://m.tkk7.com/wansong/comments/355953.htmlhttp://m.tkk7.com/wansong/articles/355953.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355953.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355953.html阅读全文

w@ns0ng 2011-08-07 14:01 发表评论
]]>
JBoss4的Deploy目录中的各个文g的功?/title><link>http://m.tkk7.com/wansong/articles/355952.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Sun, 07 Aug 2011 05:58:00 GMT</pubDate><guid>http://m.tkk7.com/wansong/articles/355952.html</guid><wfw:comment>http://m.tkk7.com/wansong/comments/355952.html</wfw:comment><comments>http://m.tkk7.com/wansong/articles/355952.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/wansong/comments/commentRss/355952.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/wansong/services/trackbacks/355952.html</trackback:ping><description><![CDATA[ bsh-deployerQ将BeanShell脚本部v成JBoss服务?br />􀂄 cache-invalidation-service.xmlQ允许借助于JMSQ而实现对EJB~存的控制?br />􀂄 client-deployer-service.xmlQ部|J2EE应用客户?br />􀂄 ear-deployer.xmlQ部|J2EE EAR应用?br />􀂄 ejb-deployer.xmlQ部|J2EE EJB应用?br />􀂄 hsqldb-ds.xmlQ设|嵌入式Hypersonic数据库服务,q将其作为默认数据源?br />􀂄 http-invoker.sarQ通过RMI/HTTP方式讉K到MBean和EJB?br />􀂄 jboss-aop.deployerQ提供AspectManagerServiceQƈ部vJBoss AOP应用?br />􀂄 jboss-hibernate.deployerQ部|Hibernate存档QHAR文gQ?br />􀂄 jboss-local-jdbc.rar和jboss-xa-jdbc.rarQ集成JDBC驱动的JCA资源适配器,它们分别支持DataSource和XADataSource。但是,qƈ没有提供专有JCA实现?br />􀂄 jboss-ws4ee.sarQ提供J2EE Web服务支持?br />􀂄 jbossjca-service.xmlQJBoss JCA实现Q得在JBoss中部|JCA资源适配器成为可能?br />􀂄 jbossweb-tomcat50-sarQ含有嵌入式Tomcat服务的展开SAR文g。它为JBoss提供了标准的Web容器?br />􀂄 jmsQ将JMS相关的服务聚集在一Pq放|在jms目录中?br />􀂄 hsqldb-jdbc-state-service.xmlQ用HSQLDB理状态?br />􀂄 hsqldb-jdbc2-service.xmlQ用嵌入式HSQL数据库实现缓存和持久化。它q包含了JMS实现的核心服务,即DestinationManager MBean?br />􀂄 jbossmq-destinations-service.xmlQ供JBoss试套g使用的JMS Topic和Queue?br />􀂄 jbossmq-service.xmlQJMS其他服务Q包括拦截器配置?br />􀂄 jms-ds.xmlQ将JBoss消息实现作ؓ默认JMS提供商。ƈ且,它还提供JCA配置信息Q以供集成JBoss JCA和JMS资源适配器用?br />􀂄 jms-ra.rarQ资源适配器,供JCA处理JMSq接工厂使用?br />􀂄 jbossmq-httpil.sarQ提供JMS调用层,从而实现HTTP方式使用JMS?br />􀂄 jvm-il-service.xmlQ配|本地JMS传输调用层,供本地JVM使用JMS?br />􀂄 uil2-service.xmlQ配|JMS版本2l一调用层。这是一U可靠的、自定义的、基于Socket的传输方式。推荐在不同JVM间用它?br />􀂄 jmx-console.warQJMX控制台应用。前面讨?br />􀂄 jmx-invoker-server.xmlQؓq程讉KJMX MBean服务器提供支持?br />􀂄 mail-ra.rarQؓJavaMail提供资源适配器?br />􀂄 mail-service.xmlQ允许应用和服务在JBoss中用JavaMail。请注意Q邮件服务器相关信息必须qh供?br />􀂄 managementQ含有可更换理服务的子目录。其中,包含有改q的Web控制台?br />􀂄 monitoring-service.xmlQ配|警告监听器Q比如控制台监听器、E_mail监听器,{等?br />􀂄 properties-service.xmlQ设|JVM的全局pȝ属性(由System.getPropertiesq回Q?br />􀂄 schedule-manager-service.xml和scheduler-service.xmlQ定时Q务服务?br />􀂄 sqlexception-service.xmlQؓJDBC驱动提供标识一般性SQL异常?br />􀂄 uuid-key-generator.sarQ生成唯一的、基于UUID的键?br />all配置提供了其他配|没有提供的其他服务Q用户可以将q些服务集成到各自的服务器配|中。具体如下:<br />􀂄 cluster-service.xmlQ群集服务,包括JGroups集成服务、HA-JNDI、有状态会话Bean复制、CMP2~存有效性服务?br />􀂄 deploy-hasingleton-service.xmlQHASingletonDeployer MBean。用于确保群集中只有单个节点在deploy-hasingleton目录部v了服务?br />􀂄 deploy.last/farm-service.xmlQfarm集部v服务。用于确保它在所有其他服务部|之后才部v其本w?br />􀂄 ebxmlrr-service.xmlQJAXR注册服务实现?br />􀂄 iiop-service.xmlQ实现对CORBA、IIOP的支持?br />􀂄 jbossha-httpsession.sarQ遗留的HTTP会话复制服务?br />􀂄 remoting-service.xmlQ还处于试验中的下一代分dInvoker框架?br />􀂄 snmp-adaptor.sarQ将JMX通知转换成SNMP陷阱?br />􀂄 tc5-cluster-service.xmlQ用于新的HTTP复制服务的TressCache配置?<img src ="http://m.tkk7.com/wansong/aggbug/355952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/wansong/" target="_blank">w@ns0ng</a> 2011-08-07 13:58 <a href="http://m.tkk7.com/wansong/articles/355952.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> JBoss企业U应用服务^台群集指?一) http://m.tkk7.com/wansong/articles/355951.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:48:00 GMThttp://m.tkk7.com/wansong/articles/355951.htmlhttp://m.tkk7.com/wansong/comments/355951.htmlhttp://m.tkk7.com/wansong/articles/355951.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355951.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355951.html
JBoss企业U应用服务^台群集指?一)
2008-03-08 09:39:43
标签Q?a target="_blank">jboss
版权声明Q原创作品,如需转蝲Q请与作者联pR否则将q究法律责Q?

1.集群

——用JBoss集实现高可用性企业服?/span>

1.1 前言

集pȝQClusteringQ允许我们在多台q的服务器Q群集节点)上运行一个应用程序。负载分布在不同的服务器上,即其中M一台崩溃,应用E序q是可以在其他群集节点(cluster nodesQ上q行。群集对于可扩展性企业应用E序是很关键的,因ؓ你简单地把更多节点加入到集pȝ里就可以提高性能?/span>
JBoss 应用服务器(ASQ缺省支持群集系l。最单的启动 JBoss 服务器群集的Ҏ是在同一本地|络里启动多?/span> JBoss 实例Q每个实例都可以?/span> run -c all 命o来运行。这些按?/span> all 配置文g启动的实例,可以到Ҏ而自动组成一个群集系l?/span>
在本章的W一部分Q我们将讨论 JBoss 集服务的基本概c在阅读本章后面的内容之前,先理解这些概忉|很重要的。在q部分内容之后,我们介l怎样为特定类型的应用E序配置集pȝ?/span>
 

1.1.1   集pȝ的定?/span>

集pȝ是节点(nodeQ的集合。在 JBoss 集pȝ里,节点是一?/span> JBoss 服务器实例。因此,Z建立一个群集,JBoss 实例必须l合在一P通称"partition"Q。在同一个网l里Q我们可能有不同的群集。ؓ了区分,每个集都必L一个唯一的名字?/span>
 
?.1“集群服务节点”Q?展示了网l里?/span> JBoss 服务器实例被分到三个集pȝ里,有的集pȝ只有一个节炏V在M时候,你都可以在群集里加入或删除节炏V?/span>
 
 
                                ?1.1. 集群和服务节?/span>
  
每个 JBoss 服务器实例(节点Q在 deploy/cluster-service.xml 文g?/span> ClusterPartition MBean 里指定了它所加入的群集(也就?/span> partitionQ。所有具有相?/span> ClusterPartition MBean 配置的节点加入到同一个群集系l里。因此,如果你想把同一个网l里?/span> JBoss 节点分开C个群集里Q你可以使用两个不同?/span> ClusterPartition MBean 配置Q每个节点可以根据它所需要加入的集来选择其中一个配|。如果节点启动的时候,它指定的集不存在,q个集被创徏。相同地Q当集pȝ的所有节炚w被删除后Q这个群集也被删除?/span>
 
下例展示了标?/span> JBoss AS 发行版本里的 MBean 的定义。如果你在本地网l里用缺省的集讑֮来启?/span> JBoss 服务器,你将得到一个叫 DefaultPartition 的缺省群集,它包括了所有作点的服务器实例?/span>
在这里,我们忽略了这个群集的详细?/span> JGroups 协议配置Q?/span>protocal configurationQ?/span>JGroups 处理节点之间底层的点到点通信Q我们将?/span> Section 1, “JGroups配置”里讨论它的配|。下面的列表展示?/span> ClusterPartition MBean 里可用的配置属性?/span>
 
PartitionName 是用来指定节点名U的可选属性。它的缺省值是 DefaultPartition?/span>
NodeAddress 是一个可选属性,指定q个节点所l定的IP地址?/span>
DeadlockDetection 是用来通知 Jgroups 为每个请求运行消息死锁检算法(message deadlock detection algorithmsQ的可选布值属性。它的缺省值是 false?/span>
StateTransferTimeout 是用来指定跨集的状态复Ӟstate replicationQ的时旉Q以毫秒为单位)的可选属性。它的缺省值是 30000?/span>
PartitionConfig 是一个用来ؓq个集(?/span>Section 1, “JGroups 配置”) 指定 JGroup 配置选项的元素(elementQ?
 
Zl成一个群集系l,它们必须有刚好一L PartitionName ?ParitionConfig 元素。只改变其中一些而不是全部节点会D集的分R通常来说Q修?ParitionConfigQ即Q地址/端口Q而不?PartitionName 来运行多个群集系l会比较ҎQ因为后者需要在其他配置文g里的多个地方修改。然而,?4.0.2+ 以后的版本里Q修?PartitionName 反而更方便了。因Z用了 ${jboss.partition.name} 属性,它允讔R过单个?jboss.partition.name pȝ属性来修改集pȝ的名字?/span>
 
你可以用览器访问群集系l里的Q?JBoss 实例?JMX 控制台来查看当前的群集信息(如,[url]http://hostname:8080/jmx-console/[/url]Q,点击 jboss:service=DefaultPartition MBeanQ如果这个节Ҏ有加?DefaultPartitionQ你可以改变 MBean 名来反映集名)。CurrentView 字段会显C当前群集的 IP 地址的列表?/span>


w@ns0ng 2011-08-07 13:48 发表评论
]]>Quartz 配置(? - Trigger http://m.tkk7.com/wansong/articles/355948.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:25:00 GMThttp://m.tkk7.com/wansong/articles/355948.htmlhttp://m.tkk7.com/wansong/comments/355948.htmlhttp://m.tkk7.com/wansong/articles/355948.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355948.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355948.html触发?Trigger)

Trigger是一个抽象类Q?span style="font-family: Calibri">Quartz提供了两个比较常用的触发?span style="font-family: Calibri">SimpleTrigger?span style="font-family: Calibri">CronTrigger。它们都?span style="font-family: Calibri">Trigger的子c?/span>

SimpleTrigger

q是一个简单的触发器,通过它我们可以定义触发的旉Qƈ选择性的讑֮重复的次数和间隔旉。它有以下常用的属?/span>

 

参数?/span>

参数cd

备注

name 

String

触发器名U?/span>

group 

String

触发器组名称

repeatCount 

int

重复ơ数Q注意:如果?span style="font-family: Calibri">0表示不执行,-1表示不限制次敎ͼ直到q期Q,默认?span style="font-family: Calibri">0

repeatInterval 

long

间隔旉Q注意:是以毫秒为单?/span>

startTime 

Date

开始时_默认当前旉

endTime 

Date

q期旉Q默认一直执行(直到执行ơ数已达?span style="font-family: Calibri">repeatCountQ?/span>

 

CronTrigger

q个触发器的功能非常强大Q而且非常灉|Q但需要掌握有关的Cron表达式知?/span>

参数?/span>

参数cd

备注

name 

String

触发器名U?/span>

group 

String

触发器组名称

cronEx 

CronExpression

规则表达?/span>

startTime 

Date

开始时_默认当前旉

endTime 

Date

q期旉Q默认一直执行(直到执行ơ数已达?span style="font-family: Calibri">repeatCountQ?/span>

 

触发器规则表辑ּ配置Q?/span> 

格式:

[U?span>] [分] [时] [日] [月] [周] [q]

 

格式说明Q?/span>

位置

旉域名

是否必须

允许?/span>

允许通配W?/span>

1

U?/span>

?/span>

0-59

, - * /

2

?/span>

?/span>

0-59

, - * /

3

?/span>

0-23

, - * /

4

?/span>

?/span>

1-31

, - * ? / L W

5

?/span>

?/span>

1-12

, - * /

6

?/span>

?/span>

1-7?span style="font-family: Calibri">MON-SUN

, - * ? / L #

7

q?/span>

?/span>

empty?span style="font-family: Calibri">1970-2099

, - * /

 通配W说明:

 

 

*

可用在所有字D中Q表C对应时间域的每一个时刻,例如Q?span style="font-size: 9pt">*在分钟字D|Q表C?span style="font-size: 9pt">每分?span style="font-size: 9pt">

?

该字W只在日期和星期字段中用,它通常指定?span style="font-size: 9pt">无意义的?span style="font-size: 9pt">Q相当于点位W?/p>

-

表示区间。例?在小时上讄 "10-12",表示 10,11,12炚w会触?/span>

,

表示指定多个|例如在周字段上设|?span> "MON,WED,FRI" 表示周一Q周三和周五触发

/

x/y表达一个等步长序列Q?span style="font-size: 9pt">xv始|y为增量步长倹{如在分钟字D中使用0/15Q则表示?span style="font-size: 9pt">0,15,30?span style="font-size: 9pt">45U,?span style="font-size: 9pt">5/15在分钟字D中表示5,20,35,50Q你也可以?span style="font-size: 9pt">*/yQ它{同?span style="font-size: 9pt">0/y

L

该字W只在日期和星期字段中用,代表“Last”的意思,但它在两个字D中意思不同?span style="font-size: 9pt">L在日期字D中Q表C个月份的最后一天,如一月的31P非闰q二月的28P如果L用在星期中,则表C星期六Q等同于7。但是,如果L出现在星期字D里Q而且在前面有一个数?span style="font-size: 9pt">XQ则表示q个月的最?span style="font-size: 9pt">X?span style="font-size: 9pt">Q例如,6L表示该月的最后星期五

W

该字W只能出现在日期字段里,是对前导日期的修饎ͼ表示该日期最q的工作日。例?span style="font-size: 9pt">15W表示该?span style="font-size: 9pt">15hq的工作日,如果该月15h星期六,则匹?span style="font-size: 9pt">14h期五Q如?span style="font-size: 9pt">15日是星期日,则匹?span style="font-size: 9pt">16h期一Q如?span style="font-size: 9pt">15h星期二,那结果就?span style="font-size: 9pt">15h期二。但必须注意兌的匹配日期不能够跨月Q如你指?span style="font-size: 9pt">1WQ如?span style="font-size: 9pt">1h星期六,l果匚w的是3h期一Q而非上个月最后的那天?span style="font-size: 9pt">W字符串只能指定单一日期Q而不能指定日期范?/p>

#

该字W只能在星期字段中用,表示当月某个工作日。如6#3表示当月的第三个星期?span style="font-size: 9pt">(6表示星期五,#3表示当前的第三个)Q?span style="font-size: 9pt">4#5表示当月的第五个星期三,假设当月没有W五个星期三Q忽略不触发

 



w@ns0ng 2011-08-07 13:25 发表评论
]]>
Quartz 单的一个实?http://m.tkk7.com/wansong/articles/355949.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:25:00 GMThttp://m.tkk7.com/wansong/articles/355949.htmlhttp://m.tkk7.com/wansong/comments/355949.htmlhttp://m.tkk7.com/wansong/articles/355949.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355949.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355949.html

SimpleJob.java

 

package com.test.job;

 

import org.quartz.Job;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

 

public class SimpleJob implements Job{

    public void execute(JobExecutionContext context)

           throws JobExecutionException {

       // your business logic

       // ...

       System.out.println("simpleJob running ....");

    }

}

TestSimpleJob.java

 

package com.test.job;

 

import java.text.ParseException;

 

import org.quartz.CronExpression;

import org.quartz.CronTrigger;

import org.quartz.JobDetail;

import org.quartz.Scheduler;

import org.quartz.SchedulerException;

import org.quartz.SimpleTrigger;

import org.quartz.impl.StdSchedulerFactory;

 

public class TestSimpleJob {

    public static void main(String[] args){

       try {

           Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

          

           String jobName = "simpleJob";

           String groupName = "DEFAULT";

          

           //删除作业

           if(scheduler.getJobDetail(jobName,groupName) != null){

              scheduler.deleteJob(jobName, groupName);

           }

          

           //作业的详l信?/p>

           //d名称QQ务组名称QQ务实现类

           JobDetail jobDetail = new JobDetail(jobName,groupName,SimpleJob.class);

          

           //创徏单触发器

           SimpleTrigger simpleTrigger = new SimpleTrigger("simpleTrigger",null);

 

           simpleTrigger.setRepeatCount(100); // 调用100?/p>

           simpleTrigger.setRepeatInterval(5*1000); //?span style="font-family: 'Courier New'; color: #3f7f5f; font-size: 10pt">5U钟调用一?/p>

 

           //注册作业

           scheduler.scheduleJob(jobDetail, simpleTrigger);

          

          

           CronTrigger cronTrigger = new CronTrigger("cronTrigger",null);

           CronExpression cronExpression = null;

           try {

              cronExpression = new CronExpression("0 0 12 * * ?"); //每天12点运?/p>

              cronTrigger.setCronExpression(cronExpression);

             

              //注册作业

              scheduler.scheduleJob(jobDetail, cronTrigger);

             

              if(! scheduler.isShutdown()){

                  scheduler.start();

              }

             

          

           } catch (ParseException e) {

              e.printStackTrace();

           }

          

       } catch (SchedulerException e) {

           e.printStackTrace();

       }

    }

}

 



w@ns0ng 2011-08-07 13:25 发表评论
]]>Quarz 配置(一) - JobDetail http://m.tkk7.com/wansong/articles/355947.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:24:00 GMThttp://m.tkk7.com/wansong/articles/355947.htmlhttp://m.tkk7.com/wansong/comments/355947.htmlhttp://m.tkk7.com/wansong/articles/355947.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355947.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355947.htmlQuartz是一个开源的作业调度框架Q完全由java写的Q你能通过它创建简单或者复杂的d。他能提供巨大的灉|性,但又不牺牲简单性?/span>

 

Quartz的核心概?/span> :调度器、触发器、作?nbsp;

调度?Scheduler)

Scheduler负责理Quartz的运行环境,Quartz它是Z多线E架构的Q它启动的时候会初始化一套线E,q套U程会用来执行一些预|的作业?/span>

要创Z个作业ƈ能够被触发调用,必须?span style="font-family: Calibri">Scheduler上面注册一?span style="font-family: Calibri">JobDetail?span style="font-family: Calibri">Trigger?/span>

Scheduler提携了所?span style="font-family: Calibri">Trigger?span style="font-family: Calibri">JobDetailQ它们协调工作。这?span style="font-family: Calibri">Trigger?span style="font-family: Calibri">JobDetail通过自n?span style="font-family: Calibri">name?span style="font-family: Calibri">group属性区?span>?/span>

       Scheduler ?span style="font-family: Calibri">SchedulerFactory产生Q我们可以通过以下方式获取Scheduler的实例:

     //?span style="background: #d9d9d9">ServletContext上下文中查找SchedulerFactory

     SchedulerFactory   factory = (SchedulerFactory)

ServletActionContext.getServletContext().getAttribute("org.quartz.impl.StdSchedulerFactory.KEY");

 

   //获取Scheduler对象

   Scheduler defScheduler = factory.getScheduler();

作业

Job

dQ其实就是一个接口。要创徏一个Q务,必须得实现这个接口。该接口只有一个executeҎQQ务每ơ被调用的时候都会执行这个executeҎ的逻辑?/span>

public class TestJob impletemens org.quartz.Job{

         @Override

         public void execute(JobExecutionContext context) throws JobExecutionException{

                   // you business logic

                   // …

                 System.out.println("########### this is testJob running ############");

     }

}

 

JobDetail

JobDetail 用来保存我们作业的详l信息。一个JobDetail可以有多个TriggerQ但是一个Trigger只能对应一个JobDetail。下面是JobDetail的一些常用的属性和含义

 

 

参数?/span>

cd

备注

name

String

d的名Uͼ必须

group

String

d所在组Q默认ؓDEFAULT

jobClass

Class

d的实现类Q必?/span>

description

String

描述

jobDataMap

JobDataMap

用来l作业提供数据支持的数据l构

volatility

Boolean

重启应用之后是否删除d的相关信息,默认false

durability

Boolean

d完成之后是否依然保留到数据库Q默?span style="font-family: Calibri">false

shouldRecover

Boolean

应用重启之后时候忽略过期Q务,默认false

jobListeners

Set

监听?/span>

 

 

JobDataMap

q是一个给作业提供数据支持的数据结构,使用Ҏ和java.util.Map一P非常方便。当一个作业被分配l调度器ӞJobDataMap实例随之生成?/p>

Job有一个StatefulJob子接口,代表有状态的dQ该接口是一个没有方法的标签接口Q其目的是让Quartz知道d的类型,以便采用不同的执行方案。无状态Q务在执行时拥有自qJobDataMap拯Q对JobDataMap的更改不会媄响下ơ的执行。而有状态Q务共享共享同一个JobDataMap实例Q每ơQ务执行对JobDataMap所做的更改会保存下来,后面的执行可以看到这个更改,也即每次执行d后都会对后面的执行发生媄响?/p>

正因个原因,无状态的Job可以q发执行Q而有状态的StatefulJob不能q发执行Q这意味着如果前次的StatefulJobq没有执行完毕,下一ơ的d阻塞等待,直到前次d执行完毕。有状态Q务比无状态Q务需要考虑更多的因素,E序往往拥有更高的复杂度Q因此除非必要,应该量使用无状态的Job?/p>

如果Quartz使用了数据库持久化Q务调度信息,无状态的JobDataMap仅会在Scheduler注册d时保持一ơ,而有状态Q务对应的JobDataMap在每ơ执行Q务后都会q行保存?/p>

JobDataMap实例也可以与一个触发器相关联。这U情况下Q对于同一作业的不同触发器Q我们可以在JobDataMap中添加不同的数据Q以便作业在不同旉执行时能够提供更为灵zȝ数据支持Q学校上午放g健操录音W一版,下午攄二版Q?/p>

不管是有状态还是无状态的dQ在d执行期间对Trigger的JobDataMap所做的更改都不会进行持久,也即不会对下ơ的执行产生影响?/p>

 

 



w@ns0ng 2011-08-07 13:24 发表评论
]]>
Quartz存储作业的两U方?http://m.tkk7.com/wansong/articles/355946.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:23:00 GMThttp://m.tkk7.com/wansong/articles/355946.htmlhttp://m.tkk7.com/wansong/comments/355946.htmlhttp://m.tkk7.com/wansong/articles/355946.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355946.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355946.html 

Quartz作业存储方式

 

 

 

Quartz提供两种基本作业存储cd。第一U类型叫做RAMJobStoreQ第二种cd叫做JDBC作业存储?span>

 

一、对?/span>

 

 

 

cd

优点

~点

RAMJobStore

不要外部数据库,配置ҎQ运行速度?/p>

因ؓ调度E序信息是存储在被分配给JVM的内存里面,所以,当应用程序停止运行时Q所有调度信息将被丢失。另外因为存储到JVM内存里面Q所以可以存储多个Job?span style="line-height: 160%; font-family: 'ˎ̥', 'serif'; color: #222222; font-size: 9pt">Trigger会受到限制

JDBC作业存储

支持集群Q因为所有的d信息都会保存到数据库中,可以控制事物Q还有就是如果应用服务器关闭或者重启,d信息都不会丢失,q且可以恢复因服务器关闭或者重启而导致执行失败的d

q行速度的快慢取决与q接数据库的快慢

二、配|?/span>

1、以下是配置是内存存?/span>

 

#============================================================================
# Configure RAMJobStore 
#============================================================================
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

 

 

2、以下配|是数据库存?/span>

 

#============================================================================
# Configure JobStore 
#============================================================================

#===========================
#Configure JDBC-JobStoreTX
#===========================
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.dataSource = myDS
org.quartz.jobStore.useProperties = false

#============================
# Configure DataSource
#============================
org.quartz.dataSource.myDS.driver = oracle.jdbc.OracleDriver
org.quartz.dataSource.myDS.URL = jdbc:oracle:thin:@localhost:1521:test
org.quartz.dataSource.myDS.user = user
org.quartz.dataSource.myDS.password = password
org.quartz.dataSource.myDS.maxConnections = 10



w@ns0ng 2011-08-07 13:23 发表评论
]]>
JBoss下DataSource加密 http://m.tkk7.com/wansong/articles/355945.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:20:00 GMThttp://m.tkk7.com/wansong/articles/355945.htmlhttp://m.tkk7.com/wansong/comments/355945.htmlhttp://m.tkk7.com/wansong/articles/355945.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355945.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355945.html1.先来看一个普通的数据源配|文?/p>
Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <datasources>  
  3.    <local-tx-datasource>  
  4.      <!-- jndi名字 -->  
  5.      <jndi-name>MySqlDS</jndi-name>  
  6.      <!--URL地址 -->    
  7.      <use-java-context>false</use-java-context>  
  8.      <connection-url>jdbc:mysql://10.16.175.137:3306/test</connection-url>  
  9.      <!-- 驱动 -->    
  10.      <driver-class>com.mysql.jdbc.Driver</driver-class>  
  11.       <!-- 用户?nbsp;-->    
  12.      <user-name>root</user-name>  
  13.       <!-- 密码 -->    
  14.     <password>123456</password>  
  15.     <exception-sorter-class-name> org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter </exception-sorter-class-name>    
  16.      <metadata>    
  17.         <type-mapping>mySQL</type-mapping>    
  18.      </metadata>  
  19.    </local-tx-datasource>  
  20. </datasources>  

 

看一下这个文?里面用户名与密码都是以明文方式存储的,q样子对pȝ的安全而言带来了极大的威协。所以我们要为我们这个明文的密码加一下密,q就是本文的目的.


2.说到密码加密Q这里我们用CJBoss下的一个类org.jboss.resource.security.SedureIdentityLoginModule,看看我们该如何用它来帮我们的密码加密?
先看个配|数据源的例?mysql-ds.xml)

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <datasources>  
  3. <local-tx-datasource>  
  4. <jndi-name>MySqlDS</jndi-name>  
  5. <use-java-context>false</use-java-context>  
  6. <connection-url>jdbc:mysql://192.168.1.91:3306/atteam</connection-url>  
  7. <driver-class>com.mysql.jdbc.Driver</driver-class>  
  8.  <!--q里不用写上你的用户名与密码了,我们可以在login-config.xml里做Ҏ脚,OK?nbsp;-->  
  9. <security-domain>EncryptDBPassword</security-domain>  
  10. <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>  
  11. <metadata>  
  12. <type-mapping>mySQL</type-mapping>  
  13. </metadata>    
  14. </local-tx-datasource>  
  15. </datasources>  

 
接着我们修改server\default\conf\login-config.xml文g,加上下面q一D配|文?/p>

Xml代码 复制代码 收藏代码
  1. <application-policy name="EncryptDBPassword">  
  2. <!--q里的name应该是你在配|数据源时写的security-domain里的字符?->  
  3. <authentication>  
  4. <login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required">  
  5. <!-- 数据库的用户?nbsp;-->  
  6. <module-option name="username">test</module-option>    
  7. <!--数据库的密码Q不q是加密q的?nbsp;-->  
  8. <module-option name="password">64c5fd2979a86168</module-option>  
  9. <!-- 注意name{于你的数据源的jndi-name,q里是MySqlDS -->  
  10. <module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=MySqlDS</module-option>  
  11. </login-module>  
  12. </authentication>  
  13. </application-policy>  

 3.补充一下,q个加密的密码是哪来?/p>

 

Html代码 复制代码 收藏代码
  1. java -cp "D:\TDdownload\jboss-4.2.0.CR1\jboss-4.2.0.CR1\lib\jboss-jmx.jar;D:\TDdownload\jboss-4.2.0.CR1\jboss-4.2.0.CR1\lib\jboss-common.jar;D:\TDdownload\jboss-4.2.0.CR1\jboss-4.2.0.CR1\server\default\lib\jboss-jca.jar;D:\TDdownload\jboss-4.2.0.CR1\jboss-4.2.0.CR1\server\default\lib\jbosssx.jar" org.jboss.resource.security.SecureIdentityLoginModule 123456 Encoded password: 64c5fd2979a86168  

 

写上你自q路径和你要加密的密码p?我这里要加密的密码是123456,加密q之后就?4c5fd2979a86168



w@ns0ng 2011-08-07 13:20 发表评论
]]>
JBoss 内存溢出处理办法 http://m.tkk7.com/wansong/articles/355944.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:14:00 GMThttp://m.tkk7.com/wansong/articles/355944.htmlhttp://m.tkk7.com/wansong/comments/355944.htmlhttp://m.tkk7.com/wansong/articles/355944.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355944.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355944.htmljava.lang.OutOfMemoryError: PermGen spaceQ?/strong>

 

PermGen space的全U是Permanent Generation space,是指内存的永久保存区域。这一部分用于存放Class?/span>Meta的信?/span>,Class在被 Load的时候被攑օPermGen space区域Q?/span>
它和和存?/span>Instance?/span>Heap区域不同,GC(Garbage Collection)不会在主E序q行期对PermGen spaceq行清理Q所以如果你?/span>APP?/span>LOAD很多CLASS的话,很可能出现PermGen space错误?/span>
q种错误常见?/span>web服务器对JSPq行pre compile的时候?/span>

 

ҎҎQ在 run.bat 中加入:-Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

 

因ؓ目中引用了很多?/span> jar 包,而这?/span> jar 包中?/span> class 信息会被 JBoss ?/span> class loader 加蝲?/span> PermGen space 区域Q在 JVM 默认的情况下Q该部分I间的大只?/span> 4MQ在 jar 包非常多的情况下Q显然是不够用的Q所以通过 -XX:MaxPermSize=256m 指定最大值后卛_解决问题?/span>

 

而当出现出现java.lang.OutOfMemoryError: Java heap space q个异常Ӟ通过调节-Xms512m -Xmx1024mq个可以解冟?/span>

 

另外Q这个两个参?/span> -XX:+UseParallelGC -XX:+UseParallelOldGC 让服务ƈ行回收内存空间。但是,q两个参数配|上M后,也会占用一定的内存I间?/span>

 

 

本文转自博客 http://m.tkk7.com/fiele/archive/2009/07/27/288609.html



w@ns0ng 2011-08-07 13:14 发表评论
]]>
JBoss AS调优Q四Q?http://m.tkk7.com/wansong/articles/355943.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:09:00 GMThttp://m.tkk7.com/wansong/articles/355943.htmlhttp://m.tkk7.com/wansong/comments/355943.htmlhttp://m.tkk7.com/wansong/articles/355943.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355943.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355943.html阅读全文

w@ns0ng 2011-08-07 13:09 发表评论
]]>
JBoss AS 调优Q三Q?http://m.tkk7.com/wansong/articles/355942.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:07:00 GMThttp://m.tkk7.com/wansong/articles/355942.htmlhttp://m.tkk7.com/wansong/comments/355942.htmlhttp://m.tkk7.com/wansong/articles/355942.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355942.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355942.html阅读全文

w@ns0ng 2011-08-07 13:07 发表评论
]]>
JBoss AS调优Q二Q?http://m.tkk7.com/wansong/articles/355941.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:05:00 GMThttp://m.tkk7.com/wansong/articles/355941.htmlhttp://m.tkk7.com/wansong/comments/355941.htmlhttp://m.tkk7.com/wansong/articles/355941.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355941.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355941.html

本文转自http://xudayu.blog.51cto.com

 

 

 瘦nQ一Q?

 

 

 

 

 

当不使用mail-service服务的时?(J2EE 标准?JavaMail 客户?span>)

 

l U除server/slim/deploy/mail-service.xml

l U除server/slim/lib/mail* (mail-plugin.jar, mail.jar - JavaMail stuff)

l U除server/slim/lib/activation.jar (JavaMail使用?span style="font-family: Calibri">Java zd框架【Java Activation Framework?

 

当不使用~存失效服务的时?span> (一般在集群配置里作?span>CMP选择一个beans用与失效~存)

 

l U除 server/slim/deloy/cache-invalidation-service.xml

 

当不使用J2EE客户端部|服务的时?q不是一个很有益?span>J2EE规格必须服务Q对于EAR application-client.xml描述W?/span>)

 

l U除 server/slim/deploy/client-deployer-service.xml

 

当不使用集成HAR部v和Hibernate会话理服务的时?

 

l U除server/slim/deploy/hibernate-deployer-service.xml (HAR support)

l U除server/slim/lib/jboss-hibernate.jar (HAR support)

l U除server/slim/lib/hibernate2.jar (Hibernate itself)

l U除server/slim/lib/cglib-full-2.0.1.jar (used by Hibernate to create proxies of POJOs)

l U除server/slim/lib/odmg-3.0.jar (由hibernate使用的一些傻瓜试的对象-关系映射行ؓ是从一些傻瓜式的委员会来的[goofy committee]http://www.service-architecture.com/database/articles/odmg_3_0.html

 

不?span> Hypersonic的时?(在生产环境里你可能不使用q个)

 

注意在默认配|里 JBossMQ使用 DefaultDS名字同样被部|Ԍ用于?span>Hypersonic映射. 在配|上对于其他选择的更多信息,?JBoss MQ Persistence Wiki pages .

l U除server/slim/deploy/hsqldb-ds.xml

l U除server/slim/lib/hsqldb-plugin.jar

l U除server/slim/lib/hsqldb.jar

 

不?JBossMQ 的时?span>(我们?JMS 服务?

 

l U除the entire server/slim/deploy/jms directory

l U除server/slim/lib/jbossmq.jar

 

不?span> HTTPInvoker的时?(?span>RMI到HTTP的隧?/span>)

 

l U除the entire server/slim/deploy/http-invoker.sar 文g?

 

不?span> XA 数据源的使用 (分布?and/or 可恢复的事务)

 

l U除server/slim/deploy/jboss-xa-jdbc.rar

 

如果你不需?span>JMX-Console 然后删除?

 

l U除server/slim/deploy/jmx-console.war 或?/span>使用别的Ҏ 使它安全

 

如果你不需要制?span>JMX调用RMI (警告the shutdown.sh 是否q样?

 

l U除server/slim/deploy/jmx-invoker-adaptor-server.sar

l U除server/slim/deploy/jmx-adaptor-plugin.jar 或者你可能x好想?a >安全?the JMX invoker-adaptor

 

如果你不需?span>web-console

 

l U除server/slim/deploy/management/web-console.war

 

如果你不需?span>JMX的JSR-77扩充

 

l U除server/slim/deploy/management/console-mgr.sar

 

如果你需?span>web-console 或?jsr-77 扩充的其中之一

 

l U除server/slim/deploy/management directory entirely

 

如果你不使用控制?span>/email监控警报

 

l U除server/slim/deploy/monitoring-service.xml

l U除server/slim/lib/jboss-monitoring.jar

 

如果你不通过Properties Service使用富资源编辑器(JMX)或者装载properties到系lproperties 里?/span>

 

l U除server/slim/deploy/properties-service.xml

l U除server/slim/lib/properties-plugin.jar

 

?span>scheduler-service.xml是一个例子,除非你在它的里面攑օ自己的东?

 

l U除server/slim/deploy/scheduler-service.xml

 

如果你不适用JBoss调度理 (允许你安排请求依赖MBeans)

 

l U除server/slim/deploy/schedule-manager-service.xml

l U除server/slim/lib/scheduler-plugin* (scheduler-plugin.jar, scheduler-plugin-example.jar)

 

如果你不需要供应商特定?span>sql异常援助[handing] (just leave it, really)

 

l U除server/slim/deploy/sqlexception-service.xml

 

如果你既没有使用客户端事务管理,也没有缓存连?span>(我们~存q接来代替池Q例如就JAAS->DB User 来说—Q用这个意味着你是个坏人,需要被拍击[using this means you are a bad person and need to be smacked]) .

 

l U除server/slim/deploy/user-service.xml

 

如果你不使用JBoss的UUID key生成 (大多情况下用于CMP主键生成Q但是我们的数据库也同样支持的很?

 

l U除server/slim/deploy/uuid-key-generator.sar

l U除server/slim/lib/autonumber-plugin.jar

 

user-service.xml 是一个例?– 除非你在它里面做一些事?span> (你自qmbeans)Q你可以U除?

 

l U除server/slim/deploy/user-service.xml



w@ns0ng 2011-08-07 13:05 发表评论
]]>JBoss AS调优Q一Q?http://m.tkk7.com/wansong/articles/355940.htmlw@ns0ngw@ns0ngSun, 07 Aug 2011 05:02:00 GMThttp://m.tkk7.com/wansong/articles/355940.htmlhttp://m.tkk7.com/wansong/comments/355940.htmlhttp://m.tkk7.com/wansong/articles/355940.html#Feedback0http://m.tkk7.com/wansong/comments/commentRss/355940.htmlhttp://m.tkk7.com/wansong/services/trackbacks/355940.html转蝲Q?http://tanyankai.iteye.com/blog/570675

JBoss4
瘦n

前言

q个主要是如果对JBossASq行调优和瘦w的. q个概念在多数情冉|交叉的。当通过瘦n减少闲置服务U程q不能带来大的性能影响的时候,允许你用较的内存和资源对其他性能方便q行调整。当然它可以~短启动旉。而且Q作Z般的安全观念――U除你不使用的服务。我们将分开两个U类: 瘦n和调? 首先我们使用默认的配|ƈ从那里开始瘦w?对于clustering的话题,在以后的wiki面q行讨论 ;-) ). q个不牵扯开发者和理角色交叉调优的区域开发者和理角色 (应用E序调优象cache大小一?. q主要是对于理调优的徏?

q徏议将做技术上非J2EEq_兼容(3.2.6无论如何不顺?的JBoss实例的有关的那些注意Q象除去J2EE关键 服务的那样将DJBoss p|TCK。多数性能调优/理d工作Q在现实世界l构里,在技术上属于q个cd?/span>

假设你已l复?span>server/default 文g夹ƈ它重新命名为server/slim.

调优

Java Virtual Machine Java虚拟?/strong>

l 对于你的机器和内存大来调整VM垃圾攉或?a >调整 JDK 5 的垃圾收?/span>

 

 

l 使用64位的机器?4位的VMQ以便你能用大的heap(?大小Q通常?Q?GB的大?4位支持在所有最新的SPARC/Solaris 寄存器运行Solaris 9 或者以后的版本是有效的, Itanium 使用 JDK 1.4, 或者在Linux x64 上用JDK 5.

l 如果你不使用上面的最?span>32位heapI间(2-4 GB 的heap)Q不要?–d64. 使用64位地址需要更多的内存来做同样的工作量Qƈ且对于应用程序不需要如此多的内存来说ƈ不能提供更大优势?/span>

 

l 除了避免额外的heaps外还要避免额外大的heaps. (我们不能告诉你具备什么资|因ؓ它取决于你正做什?. q媄?span>generational 垃圾攉和扫描heap的ȝ旉. 有效的调整一个小heap是困隄 (即你的应用E序仅仅需要?00MBQ如果你使用q行垃圾攉QCMSQ然后你需要远高于512MB). 特大Lheaps为垃圾收集花费不必要的时间扫描内存?/span>

l 避开 Sun 1.4 VM. JDK 5 主要是在垃圾攉斚w非常的好.

l 使用 -server 参数除了使用其他-XX:ThreadStackSize=128k (Solaris) 或?-Xss128k (其他Mq_). 在Solaris ?-Xss128k 什么也没有?(你只可以讄较大的线E栈大小). q允怽每个U程通过使用较少的内存达到创建更多线E的目的。but might result in blown stacks with extremely recursive code. 然? 128k ?is still nothing to shake a stick at.

l 你真的需要明白恰当的generational 垃圾攉调整和你真的已经q行了负载测?(OpenSTA?, JMeter, {等) 认是有把握?

l 你确实将使用一个超q?span>2个处理器的多核心机器Q及使用不同的^行和q行垃圾攉选择 (我们谈及q先q的JBoss训练暗示伏笔) 对于最大性能和高拉机回收吞吐?span>. 不过,你确实需要理解怎么调整才能使得垃圾攉很好的工作。JDK 5大部分是自我调整.

l JDK 1.4的默?NewSize? 不是好的猜想. 坏的l验法则: < 20% 是一个好?NewSize?. 20%以上的消Ҏ危险的,q是JDK令h讨厌的一个,能导致它psychoticallyq行所有满垃圾回收和从?unsuspend 或者释攑և _多的内存. JDK 5 g没有展示个bugQƈ?/span>g已回升更理智的默认倹{?

JBoss/Java on Linux

 

如果你正在运?span>JBoss AS在Linux服务器上Q你应该看看q篇文章的作者: Andrew Oliver, Jboss事业? Red Hat公司, N Q在 在Linux服务器上怎么优化Jboss/Java  

Tomcat

l ~辑你的server/slim/jbossweb-tomcat5?.sar/server.xml 文g

l 查你正在使用的连接器?span>XML文档. 例如, HTTP q接?

 

<Connector port="8080" address="${jboss.bind.address}" 
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
enableLookups="false" redirectPort="8443" acceptCount="100" 
connectionTimeout="20000" disableUploadTimeout="true"/>

 

l 你应该有多于你最大预?span>25Q?l验法则)的线E?maxThreads)来处理负?来一ơ性的q发讉K)

l 你应该有minSpareThreads {于恰好比你正常负蝲多一?/span>

l 你应该有maxSpareThreads{于恰好比你峰D载多一?

l minSpareThreads 意思是 "启动准备qA, L保持臛_q些U程来等待处?

l maxSpareThreads means "如果我们L过minSpareThreads那么L保持 maxSpareThreads 来等待处?

l U除M不需要的值和日志。如果你不用JBoss的安全,U除q个安全?(见下?.

l Precompile(预编?span>) JSPs. (q个内置的编译器非常的会Q它可能对于型站点不值得?)

l 在你?span>sever/slim/jbossweb-tomcat50.sar/conf/web.xml 里关闭开发("development"Q模?/span>

 

RMI的远E调?

默认情况?span>, JBoss来的每个RMIh创徏一个新U程. 在一个大pȝ中这一般不是高效率? 其次,它允许无限制的连接在性能或者通信峰值或者run-away q接斚w创徏客户端可能是危险的。ؓ了补救这个你应该考虑转向被集中的池请?/span>.

       ~辑 server/slim/conf/standardjboss.xml

       通过改变每个XML分段L把所有代理绑定改变成被集中的池请求:

<invoker-mbean>jboss:service=invoker,type=jrmp</invoker-mbean>

?/p>

<invoker-mbean>jboss:service=invoker,type=pooled</invoker-mbean>

JBoss也有大部分无文g证明?a >PooledInvokerHA你可以试试?/p>

Log4j

日志在性能斚w也有重要的媄?span>. 改变日志U别跟踪能给JBossAS 带来蠕虫一L速度。改变别ؓ ERROR (或者WARN) 能引人注目的提升速度?

l 默认情况?span>, JBoss的日志被打印到控制台和server.log文g里ƈ且它默认使用的日志别是 "INFO".

l 考虑不记录到System.out (你也能仍旧想改变方向以抓取JVM 错误)

l 考虑改变日志的别ؓERROR. 观察JBoss的log4j配置文g的变化,你可以在其运行的时候改变这个配|?

l l你?span>java class层次增加一个类别过滤器.

x打印到控制台的日志(console loggingQ?

l ~辑 server/slim/conf/log4j.xml

l 改变下面?span>XML 片段:

 

<root> 
 <appender-ref ref=CONSOLE"/> 
 <appender-ref ref="FILE"/> 
</root>

修改?

<root> 
 <appender-ref ref="FILE"/> 
</root>

l 然后你可以删除此片段:

 

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
 <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
 <param name="Target" value="System.out"/> 
 <param name="Threshold" value="INFO"/> 
 <layout class="org.apache.log4j.PatternLayout"> 
    <!-- The default pattern: Date Priority [Category] Message\n --> 
    <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> 
 </layout> 
</appender>

改变日志的?span>:

l ~辑 server/slim/conf/log4j.xml

l U除/注释 q些XML 片段:

 

<category name="org.apache"> 
 <priority value="INFO"/> 
</category> 
 
<!—极限 org.jgroups cd为INFO --> 
<category name="org.jgroups"> 
 <priority value="INFO"/> 
</category>

l 改变q个XML片段以改变rootcd:

 

<root> 
 <appender-ref ref="CONSOLE"/> <!—你可能在前面已经U除q个--> 
 <appender-ref ref="FILE"/> 
</root>

看上dq样

 

<root> 
 <priority value="ERROR" /> 
 <appender-ref ref="CONSOLE"/> <!--你可能在前面已经U除q个--> 
 <appender-ref ref="FILE"/> 
</root>

另外Q如果你使用?span>hibernate的话Q?/span>

l ~辑 server/slim/conf/log4j.xml

l 增加如下XML 片段

<category name="org.hibernate" >
    <priority value="INFO" />
</category>

最?span>, 在log4j中也许是最重要的事情,?strong>你拥有的 class l构?/strong>保你的极限的日志? 假设你正在用的log4j打算不向System.out打印M东西. q将大大的降低log4j的额外开销Qƈ且允怽完全享受益处Q像如果调用(log.isDebugEnabled())....如果你那么做Q那么你的代码中的所有日志都通过appenderq行格式? q个threshold 在appender被从日志消息中去除出去. 它能产生大量的垃圾信息。假设你的java package ?#8220;a.b”开始的? 在log4j.xml增加一些像q样的信?

 

<!--极限a.b cd为INFO --> 
<category name="a.b"> 
<priority value="INFO"/> 
</category>

q个可以增加C?span>org.apache ?org.jboss (见上?中找到过滤类别的同一区域.

部v扫描器(Deployment Scanner Q?/span>

l 部v扫描器每?span>5U扫描一ơ,在比较慢的文件系l上其吃周?(*cough* NTFS *cough*).

l 见下面的瘦nstuff on Q怎么调整U数以至于它发生的不那么频繁或者不全部发生?

无状态会?span>BeansQStateless Session Beans Q?/span>

l EJB 1.x-2.x 无状态会?span>beans operate with an ill-advised pooling model (required by the specification). 如果你find你需要考虑讄比默认(10Q实例要多的最线E池的大?

~辑 server/slim/conf/standardjboss.xml, 向下滚动:

<container-configuration> 
<container-name>Standard Stateless SessionBean</container-name> 
<call-logging>false</call-logging> 
<invoker-proxy-binding-name>stateless-rmi-invoker</invoker-proxy-binding-name> 
<container-interceptors>

q找?span>:

<container-pool-conf> 
<MaximumSize>100</MaximumSize> 
</container-pool-conf>  
</container-configuration>

改变它ؓ:

<container-pool-conf> 
<MinimumSize>100</MinimumSize> 
<MaximumSize>100</MaximumSize> 
<strictMaximumSize/>
<strictTimeout>30000</strictTimeout> 
</container-pool-conf> 
</container-configuration>

 

在很大程度上一U服务器环境中不希望q些池增长和~减(因ؓ它导致内存碎片,不如潜在的堆使用). 从性能上来? nuber要够的大以提供保证你的所有请求不d的服务?

CMP 调整

l 读这个链?span>: [url]http://www.artima.com/forums/flat.jsp?forum=141&thread=24532[/url]

l 和这个链?span>: [url]http://www.onjava.com/pub/a/onjava/2003/05/28/jboss_optimization.html[/url]

l 现在ditch CMP 和?/span>JBossHibernate 代替

q接池(Connection PoolsQ?

l 不要使用XA版本Q除非你真的知道你需要用它. XAq接的性能不好.

l  与其在可用的地方利用数据库特定的"ping"支持"check-connection"(查连?Q或者利用数据库特定驱动的fail-over支持倒不如从不checking connections. (Cq所有的优化选项都适合你的环境Q我们正在讨论的是最x? ?/span>



w@ns0ng 2011-08-07 13:02 发表评论
]]>
վ֩ģ壺 ޙպ߶| Ƶ| þþƷAV| ۺһۺͼ| ҹ˳| ŮƷĻ| aƬѹۿ| 츾͵ŷ| ѧaëƬѹۿ| ޳aƬ߹ۿ | ŷղ| 99þۺϾƷ| ˾þô߽| 2019Ļ| Ʒרţţ| ޹˾ƷŮ˾þþ| վ߹ۿ| ޾ƷþþþþҲ | 91Ʒַ| þavרavһ| ѳ˸Ƶ| һ| ްv2017| Ļ߹ۿƬ| ޳Ļ| վѹۿ| ѿڿŮ| Ʒþ㽶߿ۿ| ŷһëƬ| һ߲| Ʒ鶹վ| þùƷһ| ޾Ʒվ߲ | ˵Ƶ߹ۿ | ޸ľƷԭ| aëƬëƬѹۿó| ˾þô߽| ޾Ʒɫ| 7m͹Ʒȫ| ߹ۿ| ҳ߹ۿ|