﻿<?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-ivaneeo's blog-随笔分类-java魔力</title><link>http://www.blogjava.net/ivanwan/category/2517.html</link><description>自由的力量，自由的生活。</description><language>zh-cn</language><lastBuildDate>Fri, 01 May 2015 19:23:45 GMT</lastBuildDate><pubDate>Fri, 01 May 2015 19:23:45 GMT</pubDate><ttl>60</ttl><item><title>从Java转iOS第一个项目总结</title><link>http://www.blogjava.net/ivanwan/archive/2015/05/02/424812.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 01 May 2015 17:29:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2015/05/02/424812.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/424812.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2015/05/02/424812.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/424812.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/424812.html</trackback:ping><description><![CDATA[<div>http://www.cocoachina.com/ios/20150417/11595.html</div><img src ="http://www.blogjava.net/ivanwan/aggbug/424812.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2015-05-02 01:29 <a href="http://www.blogjava.net/ivanwan/archive/2015/05/02/424812.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ovirt jdk cert</title><link>http://www.blogjava.net/ivanwan/archive/2015/04/21/424574.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Tue, 21 Apr 2015 09:23:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2015/04/21/424574.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/424574.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2015/04/21/424574.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/424574.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/424574.html</trackback:ping><description><![CDATA[<div>http://www.ovirt.org/Java-sdk</div><img src ="http://www.blogjava.net/ivanwan/aggbug/424574.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2015-04-21 17:23 <a href="http://www.blogjava.net/ivanwan/archive/2015/04/21/424574.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cpu time to cpu_util</title><link>http://www.blogjava.net/ivanwan/archive/2015/04/06/424153.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 06 Apr 2015 07:44:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2015/04/06/424153.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/424153.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2015/04/06/424153.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/424153.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/424153.html</trackback:ping><description><![CDATA[<pre style="margin-top: 0px; padding: 5px; border: 0px; font-size: 13px; overflow: auto; width: auto; max-height: 600px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; word-wrap: normal; color: #222222; background-color: #eeeeee;"><code style="margin: 0px; padding: 0px; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; white-space: inherit;"><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; font-size: 15px; clear: both; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 19.5px; white-space: normal; background-color: #ffffff;">So now you have:</p><ul style="margin: 0px 0px 1em 30px; padding: 0px; border: 0px; font-size: 15px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 19.5px; white-space: normal; background-color: #ffffff;"><li style="margin: 0px 0px 0.5em; padding: 0px; border: 0px; word-wrap: break-word;">The elapsed wall clock time (this period's time, minus last period's time) Call this&nbsp;<strong style="margin: 0px; padding: 0px; border: 0px;">X</strong></li><li style="margin: 0px 0px 0.5em; padding: 0px; border: 0px; word-wrap: break-word;">The elapsed process cpu time (this period's time, minus last period's time) Call this&nbsp;<strong style="margin: 0px; padding: 0px; border: 0px;">Y</strong></li><li style="margin: 0px 0px 0.5em; padding: 0px; border: 0px; word-wrap: break-word;">The number of CPUs. Call this&nbsp;<strong style="margin: 0px; padding: 0px; border: 0px;">C</strong></li></ul><p style="margin: 0px 0px 1em; padding: 0px; border: 0px; font-size: 15px; clear: both; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 19.5px; white-space: normal; background-color: #ffffff;">The percent utilization will be&nbsp;<strong style="margin: 0px; padding: 0px; border: 0px;">Y / (X x C) * 100</strong></p>import java.lang.management.*; <br />import java.util.concurrent.*;  <br /><br />osx = ManagementFactory.getOperatingSystemMXBean(); <br />cores = osx.getAvailableProcessors();  // Factorial to keep the process busy so we can see some actual activity <br />factorial = { n -&gt;     int fact = 1;     int i = 1;     while(i &lt;= n) {         i++;         fact *= i;     }     return fact; }   <br />long elapsedTime = -1, startTime = -1; long elapsedCpu = -1, startCpu = -1;;  <br />for(i in 0..20) {     startTime = System.nanoTime();     startCpu = osx.getProcessCpuTime();     CountDownLatch latch = new CountDownLatch(cores);     for(x in 1..cores) {         Thread.startDaemon() {             factorial(1000000);             latch.countDown();         }     }     latch.await();     elapsedTime = System.nanoTime()-startTime;     elapsedCpu = osx.getProcessCpuTime()-startCpu;     percUsage = (elapsedCpu / (elapsedTime* cores)) *100;     println "Percent Usage:$percUsage %"; }</code></pre><img src ="http://www.blogjava.net/ivanwan/aggbug/424153.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2015-04-06 15:44 <a href="http://www.blogjava.net/ivanwan/archive/2015/04/06/424153.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java quartz</title><link>http://www.blogjava.net/ivanwan/archive/2015/04/03/424080.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 02 Apr 2015 20:28:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2015/04/03/424080.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/424080.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2015/04/03/424080.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/424080.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/424080.html</trackback:ping><description><![CDATA[<div>http://www.ibm.com/developerworks/cn/java/j-quartz/index.html</div><img src ="http://www.blogjava.net/ivanwan/aggbug/424080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2015-04-03 04:28 <a href="http://www.blogjava.net/ivanwan/archive/2015/04/03/424080.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mule rabbitmq queue example</title><link>http://www.blogjava.net/ivanwan/archive/2015/02/03/422674.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 02 Feb 2015 18:20:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2015/02/03/422674.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/422674.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2015/02/03/422674.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/422674.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/422674.html</trackback:ping><description><![CDATA[<div><div>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</div><div></div><div>&lt;mule xmlns:amqp="http://www.mulesoft.org/schema/mule/amqp" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"</div><div><span style="white-space:pre">	</span>xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.5.2"</div><div><span style="white-space:pre">	</span>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</div><div><span style="white-space:pre">	</span>xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd</div><div>http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd</div><div>http://www.mulesoft.org/schema/mule/amqp http://www.mulesoft.org/schema/mule/amqp/current/mule-amqp.xsd"&gt;</div><div>&nbsp; &nbsp; &lt;amqp:connector name="AMQP_Connector" validateConnections="true" host="192.168.199.21" doc:name="AMQP Connector"/&gt;</div><div>&nbsp; &nbsp; &lt;amqp:endpoint exchangeName="test" queueName="test_queue" exchangeType="direct" name="AMQP" responseTimeout="10000" doc:name="AMQP" queueDurable="true"/&gt;</div><div>&nbsp; &nbsp; &lt;flow name="testFlow1" doc:name="testFlow1"&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &lt;amqp:inbound-endpoint responseTimeout="10000" exchange-pattern="request-response" connector-ref="AMQP_Connector" ref="AMQP" doc:name="AMQP"/&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp;&lt;byte-array-to-string-transformer doc:name="Transform bytearray message to String"/&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &lt;logger message="I recived a direct message from AMQP: #[payload]" level="INFO" doc:name="Logger"/&gt;</div><div>&nbsp; &nbsp; &lt;/flow&gt;</div><div>&lt;/mule&gt;</div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/422674.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2015-02-03 02:20 <a href="http://www.blogjava.net/ivanwan/archive/2015/02/03/422674.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cas oauth</title><link>http://www.blogjava.net/ivanwan/archive/2015/01/05/422043.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Sun, 04 Jan 2015 18:06:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2015/01/05/422043.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/422043.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2015/01/05/422043.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/422043.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/422043.html</trackback:ping><description><![CDATA[<div>http://jasig.github.io/cas/4.0.x/protocol/OAuth-Protocol.html<br /><br /><div>http://www.tuicool.com/articles/VrERzy<br /><br /><div>http://www.tuicool.com/articles/Ar2EBz</div></div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/422043.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2015-01-05 02:06 <a href="http://www.blogjava.net/ivanwan/archive/2015/01/05/422043.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mule oauth2.0</title><link>http://www.blogjava.net/ivanwan/archive/2015/01/04/422039.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Sun, 04 Jan 2015 14:29:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2015/01/04/422039.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/422039.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2015/01/04/422039.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/422039.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/422039.html</trackback:ping><description><![CDATA[<div>http://www.mulesoft.org/documentation/display/current/Creating+an+OAuth+2.0a+Web+Service+Provider</div><img src ="http://www.blogjava.net/ivanwan/aggbug/422039.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2015-01-04 22:29 <a href="http://www.blogjava.net/ivanwan/archive/2015/01/04/422039.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>bookkeeper</title><link>http://www.blogjava.net/ivanwan/archive/2014/12/31/422000.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Wed, 31 Dec 2014 15:38:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/12/31/422000.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/422000.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/12/31/422000.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/422000.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/422000.html</trackback:ping><description><![CDATA[<div>http://zh.wikipedia.org/wiki/%E9%A2%84%E5%86%99%E5%BC%8F%E6%97%A5%E5%BF%97<br /><div>http://zookeeper.apache.org/doc/r3.3.6/bookkeeperStarted.html<br /><div>http://zookeeper.apache.org/bookkeeper/docs/r4.0.0/bookkeeperProgrammer.html<br /><div>http://zookeeper.apache.org/bookkeeper/docs/r4.0.0/apidocs/index.html?org/apache/bookkeeper/client/BookKeeper.html</div></div></div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/422000.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-12-31 23:38 <a href="http://www.blogjava.net/ivanwan/archive/2014/12/31/422000.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>zookeeper自动清理日志</title><link>http://www.blogjava.net/ivanwan/archive/2014/12/31/421999.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Wed, 31 Dec 2014 14:27:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/12/31/421999.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/421999.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/12/31/421999.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/421999.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/421999.html</trackback:ping><description><![CDATA[<div>http://nileader.blog.51cto.com/1381108/932156</div><img src ="http://www.blogjava.net/ivanwan/aggbug/421999.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-12-31 22:27 <a href="http://www.blogjava.net/ivanwan/archive/2014/12/31/421999.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cloudstack ovs</title><link>http://www.blogjava.net/ivanwan/archive/2014/12/16/421430.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 15 Dec 2014 16:01:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/12/16/421430.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/421430.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/12/16/421430.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/421430.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/421430.html</trackback:ping><description><![CDATA[http://www.chenshake.com/install-on-ubuntu-12-04-open-vswitch/<br /><br /><div>http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/hypervisor/kvm.html#install-and-configure-the-agent<br /><br />tip:<br /><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">添加网桥</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">使用openvswitch建立网桥，kvm使用，命令如下：</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">建立网桥br</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">#ovs-vsctl add-br br0</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">把eth0(物理机上网的网卡)添加到br0</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">#ovs-vsctl add-port br0 eth0</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">如果不出意外的话现在机器就不能上网了，可以按照以下方法解决</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">删除eth0的配置</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">#ifconfig eth0 0</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">为br0分配ip</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">#dhclient br0</p><p style="margin: 8px 0px 7px; padding: 0px; border: 0px; font-family: Arial, 宋体, sans-serif; vertical-align: baseline; line-height: 22.3999996185303px; background-color: #ffffff;">因为我使用的是dhcp获取ip的，所以执行了此命令，如果你的ip是自己手动配置的，请把eth0的配置写到br0上。</p></div><img src ="http://www.blogjava.net/ivanwan/aggbug/421430.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-12-16 00:01 <a href="http://www.blogjava.net/ivanwan/archive/2014/12/16/421430.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cloudstack ubuntu14.04</title><link>http://www.blogjava.net/ivanwan/archive/2014/12/15/421414.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 15 Dec 2014 11:00:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/12/15/421414.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/421414.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/12/15/421414.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/421414.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/421414.html</trackback:ping><description><![CDATA[<div>https://joshuarogers.net/installing-cloudstack-43-ubuntu-1404<br /><br />iso:<br /><div>http://www.tuicool.com/articles/FnYFF32</div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/421414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-12-15 19:00 <a href="http://www.blogjava.net/ivanwan/archive/2014/12/15/421414.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>bc md5</title><link>http://www.blogjava.net/ivanwan/archive/2014/12/08/421160.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 08 Dec 2014 03:08:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/12/08/421160.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/421160.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/12/08/421160.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/421160.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/421160.html</trackback:ping><description><![CDATA[<p>&nbsp; MD5Digest dig = new&nbsp;</p> <p>				MD5Digest();&nbsp;</p> <p>				byte[] bytes = "111111".getBytes();&nbsp;</p> <p>				dig.update(bytes, 0, bytes.length);&nbsp;</p> <p>				byte[] md5 = new byte[dig.getDigestSize()];&nbsp;</p> <p>				dig.doFinal(md5, 0);</p> <p>				</p> <p>				System.out.println(new String(Base64.encode(md5)));</p><img src ="http://www.blogjava.net/ivanwan/aggbug/421160.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-12-08 11:08 <a href="http://www.blogjava.net/ivanwan/archive/2014/12/08/421160.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java监控</title><link>http://www.blogjava.net/ivanwan/archive/2014/12/06/421111.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 05 Dec 2014 16:53:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/12/06/421111.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/421111.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/12/06/421111.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/421111.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/421111.html</trackback:ping><description><![CDATA[<div>http://www.jolokia.org/download.html<br /><br /><div>tomcat jmx http://blog.csdn.net/diy8187/article/details/4369137<br /><br /><div>统计 &nbsp;http://blog.csdn.net/blog4j/article/details/17122061<br /><div>http://www.myexception.cn/software-architecture-design/410583.html</div></div></div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/421111.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-12-06 00:53 <a href="http://www.blogjava.net/ivanwan/archive/2014/12/06/421111.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>zabbix tomcat jmx</title><link>http://www.blogjava.net/ivanwan/archive/2014/12/04/421056.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 04 Dec 2014 13:32:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/12/04/421056.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/421056.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/12/04/421056.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/421056.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/421056.html</trackback:ping><description><![CDATA[<div>https://www.zabbix.org/wiki/File:Template_JMX_Tomcat-2.2.0.xml<br /><div>http://blog.chinaunix.net/uid-29179844-id-4093754.html</div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/421056.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-12-04 21:32 <a href="http://www.blogjava.net/ivanwan/archive/2014/12/04/421056.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mule anypoint commons url</title><link>http://www.blogjava.net/ivanwan/archive/2014/11/22/420453.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Sat, 22 Nov 2014 12:47:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/11/22/420453.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/420453.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/11/22/420453.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/420453.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/420453.html</trackback:ping><description><![CDATA[<div>Anypoint Connectors Update Site - http://repository.mulesoft.org/connectors/releases/3.5.0<br /><div>Anypoint Addons Update Site - http://studio.mulesoft.org/r3/addons/beta<br /><div>Anypoint Studio Update Site - http://studio.mulesoft.org/r3/updates<br />APIkit Update Site - http://studio.mulesoft.org/r3/apikit<br /><div>mule - http://studio.mulesoft.org/3.5/plugin<br /><div>Mule ESB Runtimes for Anypoint Studio - http://studio.mulesoft.org/r3/studio-runtimes/<br /><div>mulesoft - http://www.mulesoft.org/documentation/display/current/Studio+Update+Sites</div></div></div></div></div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/420453.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-11-22 20:47 <a href="http://www.blogjava.net/ivanwan/archive/2014/11/22/420453.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ApacheDS配置用户以及用户组实现SSO-(转)</title><link>http://www.blogjava.net/ivanwan/archive/2014/11/22/420438.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 21 Nov 2014 16:00:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/11/22/420438.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/420438.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/11/22/420438.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/420438.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/420438.html</trackback:ping><description><![CDATA[<p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">首先把我看到的有用的资料留下：</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">1、官方文档-基本用户手册：http://directory.apache.org/apacheds/basic-user-guide.html 主要介绍了安装以及基本操作、登录等。</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">2、官方文档-高级用户手册：http://directory.apache.org/apacheds/advanced-user-guide.html 介绍了代码编译、系统结构、服务配置以及服务权限管理，这里吐槽一下，真的很难懂，并且各种TODO；</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">3、看起来像官方的文档：http://joacim.breiler.com/apacheds/book.html 介绍得很详尽，例子也很丰富。</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">4、访问控制实例&nbsp;<a target="_blank" href="http://apachecon.com/2006/US/presentations/FR20/FR20_ApacheDS_Access_Control_Administration_The_X.500_Way.pdf" style="color: #6a3906; text-decoration: none;">FR20_ApacheDS_Access_Control_Administration_The_X.500_Way.pdf&nbsp;&nbsp;</a></p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">=============================================================================================================</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">常用的名词解析：</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">DIT &nbsp;Directory Information Tree<br />AA administrative areas<br />AP administrative points<br /><br />AAA autonomous administrative area 有自治权的管理区域，所有的实体均统一管理<br />SAA specific administrative area 特定管理区域<br />IAA &nbsp;inner administrative area &nbsp;内部管理区域<br /><br />SAP specific administrative point<br />ACI Access Control Information<br /><br />Usually an entry is selected as the administrative point and marked with an operational attribute. The attributeType of the operational attribute is 'administrativeRole'.&nbsp;<br />通过添加一个可选属性来使一个实体成为管理点<br /><br />ACSA access control specific area<br /></p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">=================================================================================================================</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">实战演练</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">需求：</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">1、LDAP超级管理员，管理LDAP上的所有数据；</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">2、匿名用户可以查看用户信息；</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">3、用户分为开发、测试和运维三组；</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">4、通过用户组授权</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">操作指南：</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">1、安装ApacheDS服务端；</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp; 下载地址：<a target="_blank" href="http://mirror.bit.edu.cn/apache//directory/apacheds/dist/2.0.0-M15/apacheds-2.0.0-M15-64bit.bin" style="color: #6a3906; text-decoration: none;">apacheds-2.0.0-M15-64bit.bin</a>&nbsp;下载到目录/home/apacheds/</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><div bg_plain"="" style="width: 693px; color: #362e2b; line-height: 26px;"><div><div><strong>[plain]</strong>&nbsp;<a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><a href="https://code.csdn.net/snippets/206427" target="_blank" title="在CODE上查看代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代码片" style="border: none; max-width: 100%; position: relative; top: 1px; left: 2px;" /></a><a href="https://code.csdn.net/snippets/206427/fork" target="_blank" title="派生到我的代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到我的代码片" style="border: none; max-width: 100%; position: relative; top: 2px; left: 2px;" /></a><div style="position: absolute; left: 445px; top: 1707px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">chmod&nbsp;+x&nbsp;*.bin&nbsp;&nbsp;</li></ol></div><div bg_plain"="" style="width: 693px; color: #362e2b; line-height: 26px;"><div><div><strong>[plain]</strong>&nbsp;<a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><a href="https://code.csdn.net/snippets/206427" target="_blank" title="在CODE上查看代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代码片" style="border: none; max-width: 100%; position: relative; top: 1px; left: 2px;" /></a><a href="https://code.csdn.net/snippets/206427/fork" target="_blank" title="派生到我的代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到我的代码片" style="border: none; max-width: 100%; position: relative; top: 2px; left: 2px;" /></a><div style="position: absolute; left: 445px; top: 1776px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">/etc/init.d/apacheds-2.0.0-M15-default&nbsp;start&nbsp;&nbsp;</li></ol></div><span style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">这样就完成了ApacheDS的安装与启动</span><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">2、安装Apache Directory Studio</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">本次使用Eclipse插件，详见 http://directory.apache.org/studio/installation-in-eclipse.html，也支持Eclipse market安装。</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">3、连接与配置</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">切换到Eclipse的LDAP视图，新建连接</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">hostname:199.155.122.90 port：10389 encryption method: nocryption （不同加密算法端口注意）</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">authentication method: simple user:uid=admin,ou=system passwd:secret （默认的最高权限用户）</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">OpenConfiguration启用Access Control，禁用匿名登录</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">重启apacheds服务生效</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">4、分区设置</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">系统默认example分区，我们删除之，并新建，本次创建dc=xxx.com</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"><img src="http://blog.csdn.net/lansine2005/article/details/19978411" alt="" style="border: none; max-width: 100%;" /><br /></p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">5、新建ou=users，新建ou=groups。</p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><div bg_plain"="" style="width: 693px; color: #362e2b; line-height: 26px;"><div><div><strong>[plain]</strong>&nbsp;<a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><a href="https://code.csdn.net/snippets/206427" target="_blank" title="在CODE上查看代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代码片" style="border: none; max-width: 100%; position: relative; top: 1px; left: 2px;" /></a><a href="https://code.csdn.net/snippets/206427/fork" target="_blank" title="派生到我的代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到我的代码片" style="border: none; max-width: 100%; position: relative; top: 2px; left: 2px;" /></a><div style="position: absolute; left: 445px; top: 2369px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">dn:&nbsp;ou=groups,dc=taotaosou.com&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;organizationalUnit&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;top&nbsp;&nbsp;</li><li style="line-height: 18px;">ou:&nbsp;groups&nbsp;&nbsp;</li></ol></div><br style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;" /><div bg_plain"="" style="width: 693px; color: #362e2b; line-height: 26px;"><div><div><strong>[plain]</strong>&nbsp;<a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><a href="https://code.csdn.net/snippets/206427" target="_blank" title="在CODE上查看代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代码片" style="border: none; max-width: 100%; position: relative; top: 1px; left: 2px;" /></a><a href="https://code.csdn.net/snippets/206427/fork" target="_blank" title="派生到我的代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到我的代码片" style="border: none; max-width: 100%; position: relative; top: 2px; left: 2px;" /></a><div style="position: absolute; left: 445px; top: 2536px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">dn:&nbsp;ou=users,dc=taotaosou.com&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;organizationalUnit&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;top&nbsp;&nbsp;</li><li style="line-height: 18px;">ou:&nbsp;users&nbsp;&nbsp;</li></ol></div><br style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">6、根目录启用权限控制，添加administrativeRole属性是关键</span><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><div bg_plain"="" style="width: 693px; color: #362e2b; line-height: 26px;"><div><div><strong>[plain]</strong>&nbsp;<a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><a href="https://code.csdn.net/snippets/206427" target="_blank" title="在CODE上查看代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代码片" style="border: none; max-width: 100%; position: relative; top: 1px; left: 2px;" /></a><a href="https://code.csdn.net/snippets/206427/fork" target="_blank" title="派生到我的代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到我的代码片" style="border: none; max-width: 100%; position: relative; top: 2px; left: 2px;" /></a><div style="position: absolute; left: 445px; top: 2729px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">dn:&nbsp;dc=taotaosou.com&nbsp;&nbsp;</li><li style="line-height: 18px;">objectclass:&nbsp;domain&nbsp;&nbsp;</li><li style="line-height: 18px;">objectclass:&nbsp;top&nbsp;&nbsp;</li><li style="line-height: 18px;">dc:&nbsp;taotaosou.com&nbsp;&nbsp;</li><li style="line-height: 18px;">administrativeRole:&nbsp;accessControlSpecificArea&nbsp;&nbsp;</li></ol></div><br style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">7、添加匿名读权限</span><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><div bg_plain"="" style="width: 693px; color: #362e2b; line-height: 26px;"><div><div><strong>[plain]</strong>&nbsp;<a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><a href="https://code.csdn.net/snippets/206427" target="_blank" title="在CODE上查看代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代码片" style="border: none; max-width: 100%; position: relative; top: 1px; left: 2px;" /></a><a href="https://code.csdn.net/snippets/206427/fork" target="_blank" title="派生到我的代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到我的代码片" style="border: none; max-width: 100%; position: relative; top: 2px; left: 2px;" /></a><div style="position: absolute; left: 445px; top: 2940px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">dn:&nbsp;cn=enableAllUsersRead,dc=taotaosou.com&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;subentry&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;accessControlSubentry&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;top&nbsp;&nbsp;</li><li style="line-height: 18px;">cn:&nbsp;enableAllUsersRead&nbsp;&nbsp;</li><li style="line-height: 18px;">prescriptiveACI:&nbsp;{&nbsp;identificationTag&nbsp;"enableAllUsersRead",&nbsp;precedence&nbsp;0,&nbsp;aut&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;henticationLevel&nbsp;none,&nbsp;itemOrUserFirst&nbsp;userFirst:&nbsp;{&nbsp;userClasses&nbsp;{&nbsp;allUsers&nbsp;&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;},&nbsp;userPermissions&nbsp;{&nbsp;{&nbsp;protectedItems&nbsp;{&nbsp;entry,&nbsp;allUserAttributeTypesAndValu&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;es&nbsp;},&nbsp;grantsAndDenials&nbsp;{&nbsp;grantCompare,&nbsp;grantFilterMatch,&nbsp;grantRead,&nbsp;grantRe&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;turnDN,&nbsp;grantBrowse&nbsp;}&nbsp;}&nbsp;}&nbsp;}&nbsp;}&nbsp;&nbsp;</li><li style="line-height: 18px;">subtreeSpecification:&nbsp;{&nbsp;}&nbsp;&nbsp;</li></ol></div><br style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">8、添加用户自己修改资料权限</span><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><div bg_plain"="" style="width: 693px; color: #362e2b; line-height: 26px;"><div><div><strong>[plain]</strong>&nbsp;<a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><a href="https://code.csdn.net/snippets/206427" target="_blank" title="在CODE上查看代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代码片" style="border: none; max-width: 100%; position: relative; top: 1px; left: 2px;" /></a><a href="https://code.csdn.net/snippets/206427/fork" target="_blank" title="派生到我的代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到我的代码片" style="border: none; max-width: 100%; position: relative; top: 2px; left: 2px;" /></a><div style="position: absolute; left: 445px; top: 3259px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">dn:&nbsp;cn=allowSelfAccessAndModification,dc=taotaosou.com&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;subentry&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;accessControlSubentry&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;top&nbsp;&nbsp;</li><li style="line-height: 18px;">cn:&nbsp;allowSelfAccessAndModification&nbsp;&nbsp;</li><li style="line-height: 18px;">prescriptiveACI:&nbsp;{&nbsp;identificationTag&nbsp;"allowSelfAccessAndModification",&nbsp;prece&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;dence&nbsp;10,&nbsp;authenticationLevel&nbsp;simple,&nbsp;itemOrUserFirst&nbsp;userFirst:&nbsp;{&nbsp;userClas&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;ses&nbsp;{&nbsp;thisEntry&nbsp;},&nbsp;userPermissions&nbsp;{&nbsp;{&nbsp;protectedItems&nbsp;{&nbsp;entry,&nbsp;allUserAttri&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;buteTypesAndValues&nbsp;},&nbsp;grantsAndDenials&nbsp;{&nbsp;grantRemove,&nbsp;grantExport,&nbsp;grantCom&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;pare,&nbsp;grantImport,&nbsp;grantRead,&nbsp;grantFilterMatch,&nbsp;grantModify,&nbsp;grantInvoke,&nbsp;g&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;rantDiscloseOnError,&nbsp;grantRename,&nbsp;grantReturnDN,&nbsp;grantBrowse,&nbsp;grantAdd&nbsp;}&nbsp;}&nbsp;&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;}&nbsp;}&nbsp;}&nbsp;&nbsp;</li><li style="line-height: 18px;">subtreeSpecification:&nbsp;{&nbsp;}&nbsp;&nbsp;</li></ol></div><br style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;" /><span style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;">9、添加管理员权限</span><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #362e2b; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><div bg_plain"="" style="width: 693px; color: #362e2b; line-height: 26px;"><div><div><strong>[plain]</strong>&nbsp;<a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="view plain" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><a href="http://blog.csdn.net/lansine2005/article/details/19978411#" title="copy" style="padding: 1px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-position: 0% 0%; background-repeat: no-repeat;">copy</a><a href="https://code.csdn.net/snippets/206427" target="_blank" title="在CODE上查看代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/CODE_ico.png" width="12" height="12" alt="在CODE上查看代码片" style="border: none; max-width: 100%; position: relative; top: 1px; left: 2px;" /></a><a href="https://code.csdn.net/snippets/206427/fork" target="_blank" title="派生到我的代码片" style="padding: 1px; display: inline-block; width: 16px; height: 16px; background-position: 0% 0%; background-repeat: no-repeat;"><img src="https://code.csdn.net/assets/ico_fork.svg" width="12" height="12" alt="派生到我的代码片" style="border: none; max-width: 100%; position: relative; top: 2px; left: 2px;" /></a><div style="position: absolute; left: 445px; top: 3614px; width: 18px; height: 18px; z-index: 99;"></div></div></div><ol start="1"><li style="line-height: 18px;">dn:&nbsp;cn=enableAdminSuper,dc=taotaosou.com&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;subentry&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;accessControlSubentry&nbsp;&nbsp;</li><li style="line-height: 18px;">objectClass:&nbsp;top&nbsp;&nbsp;</li><li style="line-height: 18px;">cn:&nbsp;enableAdminSuper&nbsp;&nbsp;</li><li style="line-height: 18px;">prescriptiveACI:&nbsp;{&nbsp;identificationTag&nbsp;"enableAdminSuper",&nbsp;precedence&nbsp;0,&nbsp;authe&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;nticationLevel&nbsp;strong,&nbsp;itemOrUserFirst&nbsp;userFirst:&nbsp;{&nbsp;userClasses&nbsp;{&nbsp;userGroup&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;&nbsp;{&nbsp;"cn=administrator,ou=gourp,dc=taotaosou.com"&nbsp;}&nbsp;},&nbsp;userPermissions&nbsp;{&nbsp;{&nbsp;pr&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;otectedItems&nbsp;{&nbsp;entry,&nbsp;allUserAttributeTypesAndValues&nbsp;},&nbsp;grantsAndDenials&nbsp;{&nbsp;&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;grantRemove,&nbsp;grantExport,&nbsp;grantCompare,&nbsp;grantImport,&nbsp;grantRead,&nbsp;grantFilter&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;Match,&nbsp;grantModify,&nbsp;grantInvoke,&nbsp;grantDiscloseOnError,&nbsp;grantRename,&nbsp;grantRe&nbsp;&nbsp;</li><li style="line-height: 18px;">&nbsp;turnDN,&nbsp;grantBrowse,&nbsp;grantAdd&nbsp;}&nbsp;}&nbsp;}&nbsp;}&nbsp;}&nbsp;&nbsp;</li><li style="line-height: 18px;">subtreeSpecification:&nbsp;{&nbsp;} &nbsp;<br /><br /><br /><div>http://blog.csdn.net/lansine2005/article/details/19978411</div></li></ol></div><img src ="http://www.blogjava.net/ivanwan/aggbug/420438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-11-22 00:00 <a href="http://www.blogjava.net/ivanwan/archive/2014/11/22/420438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>commons学习概览</title><link>http://www.blogjava.net/ivanwan/archive/2014/11/17/420162.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Sun, 16 Nov 2014 16:22:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/11/17/420162.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/420162.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/11/17/420162.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/420162.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/420162.html</trackback:ping><description><![CDATA[<span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">可重用性是Jakarta Commons项目的灵魂所在。这些包在设计阶段就已经考虑了可重用性问题。其中一些包，例如Commons里面用来记录日志的Logging包，最初是为其他项目设计的，例如Jakarta Struts项目，当人们发现这些包对于其他项目也非常有用，能够极大地帮助其他项目的开发，他们决定为这些包构造一个"公共"的存放位置，这就是Jakarta Commons项目。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">　　为了真正提高可重用性，每一个包都必须不依赖于其他大型的框架或项目。因此，Commons项目的包基本上都是独立的，不仅是相对于其他项目的独立，而且相对于Commons内部的大部分其他包独立。虽然存在一些例外的情况，例如Betwixt包要用到XML API，但绝大部分只使用最基本的API，其主要目的就是要能够通过简单的接口方便地调用。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">　　不过由于崇尚简洁，许多包的文档变得过于简陋，缺乏维护和支持，甚至有一部分还有错误的链接，文档也少得可怜。大部分的包需要我们自己去找出其用法，甚至有时还需要我们自己去分析其适用场合。本文将逐一介绍这些包，希望能够帮助你迅速掌握这一积累了许多人心血的免费代码库。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">　　说明：Jakarta Commons和Apache Commons是不同的，后者是Apache Software Foundation的一个顶层项目，前者则是Jakarta项目的一个子项目，同是也是本文要讨论的主角。本文后面凡是提到Commons的地方都是指Jakarta的Commons。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">　　为了便于说明，本文把Commons项目十八个成品级的组件（排除了EL、Latka和Jexl）分成5类，如下表所示&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><img style="border: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;"  alt="" />&nbsp;<br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">commons分为3部分Commons Proper、Commons Sandbox和Commons Dormant&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Commons Proper：提供了设计良好可重用的java组件，并都经过了广泛、严格的测试。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Commons Sandbox：处于实验、测试阶段的组件。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Commons Dormant：处于停滞状态，从Sandbox退出的，不活跃的组件，谨慎使用。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Commons Proper组件：&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Codec&#8212;&#8212;包含一些通用的编码解码算法。包括一些语音编码器， Hex, Base64, 以及URL encoder。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">BeanUtils&#8212;&#8212;提供对 Java 反射和自省API的包装，处理javabean的工具。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Betwixt&#8212;&#8212;将JavaBeans与XML相互转换。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Digester&#8212;&#8212;基于规则的XML文档解析,主要用于XML到Java对象的映射.&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Email&#8212;&#8212;处理e-mail&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">FileUpload&#8212;&#8212;web应用中的文件上传组件&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">IO&#8212;&#8212;帮助进行IO功能开发&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">JXPath&#8212;&#8212;使用XPath语法操作javabean的工具。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Lang&#8212;&#8212;提供对java.lang包的扩展&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Chain&#8212;&#8212;对Chain of Responsibility（责任链）设计模式的实现。使多个对象都有机会处理请求， 从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链，并沿着这条链传递请求，直到有一个对象处理它为止。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">CLI&#8212;&#8212;处理命令行的命令的解析。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Attributes&#8212;&#8212; 支持源代码级的元数据。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Collections&#8212;&#8212;扩展和增加标准的 Java Collection框架。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Configuration&#8212;&#8212;操作各种格式的配置文件。Properties文件 /XML文件 /JNDI /JDBC 数据源 /System properties /Applet parameters / Servlet parameters&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Daemon&#8212;&#8212;创建类似unix守护线程的java代码，可以安全地执行一些后台操作，线程不被某个应用程序控制，而是由操作系统控制 类似windows的service，可以设置一个服务依赖于另一个服务，一个服务关闭前必须先执行另一个服务。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">DBCP&#8212;&#8212;一个数据库连接池&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">DbUtils&#8212;&#8212;一个JDBC的工具类，比如可以将ResultSets生成javabean。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Discovery&#8212;&#8212;提供工具来定位资源 (包括类) ，通过使用各种模式来映射服务/引用名称和资源名称。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">EL&#8212;&#8212;JSP 2.0引入的表达式&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">HttpClient&#8212;&#8212;使用HTTP协议的客户端开发框架&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Jelly&#8212;&#8212;Jelly能够把XML转换成可执行代码,所以Jelly是一个基于XML与Java的脚本和处理引擎。 Jelly借鉴了JSP定指标签，Velocity, Cocoon和Xdoclet中的脚本引擎的许多优点。Jelly可以用在命令行，Ant或者Servlet之中。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Jexl&#8212;&#8212;Jexl是一个表达式语言，通过借鉴来自于Velocity的经验扩展了JSTL定义的表达式语言。&nbsp;&nbsp;&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Launcher&#8212;&#8212;跨平台的java程序的启动&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Logging&#8212;&#8212;提供的是一个日志(Log)接口(interface)，同时兼顾轻量级和不依赖于具体的日志实现工具。 它提供给中间件/日志工具开发者一个简单的日志操作抽象，允许程序开发人员使用不同的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级别的细节。JCL提供的接口，对其它一些日志工具，包括Log4J, Avalon LogKit, and JDK 1.4等，进行了简单的包装，此接口更接近于Log4J和LogKit的实现.&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Math&#8212;&#8212;Math 是一个轻量的，自包含的数学和统计组件，解决了许多非常通用但没有及时出现在Java标准语言中的实践问题.&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Modeler&#8212;&#8212; 支持兼容JMX规范的MBeans开发。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Net&#8212;&#8212;集合了网络工具和协议工具的实现&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Pool&#8212;&#8212;Commons-Pool 提供了通用对象池接口，一个用于创建模块化对象池的工具包，以及通常的对象池实现。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Primitives&#8212;&#8212;对java原始类型的支持。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">SCXML&#8212;&#8212;处理SCXML&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Transaction&#8212;&#8212;事务处理，实现了多层次锁、事务集合、事务文件的访问。&nbsp;&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Validator&#8212;&#8212;提供了一个简单的，可扩展的框架来在一个XML文件中定义校验器 (校验方法)和校验规则。支持校验规则的和错误消息的国际化。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">VFS&#8212;&#8212;访问各种文件系统，可以是本地文件、HTTP服务器上的文件、zip中的文件。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Commons Sandbox组件：&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Compress&#8212;&#8212;处理压缩文件如tar, zip 和 bzip2 格式。&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">CSV&#8212;&#8212;处理CSV文件&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Exec&#8212;&#8212;安全地处理外部进程&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Finder&#8212;&#8212;实现类似UNIX find命令的功能&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">I18n&#8212;&#8212;处理软件的I18n功能&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Id&#8212;&#8212;生成id号功能&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Javaflow&#8212;&#8212;捕捉程序运行状态&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">JCI&#8212;&#8212;java编译接口&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">OpenPGP&#8212;&#8212;处理加密方法OpenPGP.&nbsp;&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Pipeline&#8212;&#8212;处理类似工作队列的管道工具&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">Proxy&#8212;&#8212;生成动态代理&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－org.apache.commons.beanutils.PropertyUtils;&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">copyProperties(a,b);//把相同类型b的属性赋值给a&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">在org.apache.commons包中提供了的一系列能简化一些编程过程中常见问题的共通函数和类，使程序员能把主要精力集中在&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.2000007629395px; background-color: #ffffff;">构架，业务实现和优化而不是具体实现及验证上，一言以蔽之，它能使我们避免重复的发明车轮。&nbsp;</span><img src ="http://www.blogjava.net/ivanwan/aggbug/420162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-11-17 00:22 <a href="http://www.blogjava.net/ivanwan/archive/2014/11/17/420162.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Commons Chain实现简单的workflow</title><link>http://www.blogjava.net/ivanwan/archive/2014/11/14/420106.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Fri, 14 Nov 2014 13:09:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/11/14/420106.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/420106.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/11/14/420106.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/420106.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/420106.html</trackback:ping><description><![CDATA[<div>http://www.cnblogs.com/xiaoerlang/p/3345236.html</div><img src ="http://www.blogjava.net/ivanwan/aggbug/420106.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-11-14 21:09 <a href="http://www.blogjava.net/ivanwan/archive/2014/11/14/420106.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cas tomcat</title><link>http://www.blogjava.net/ivanwan/archive/2014/11/13/420035.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 13 Nov 2014 09:45:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/11/13/420035.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/420035.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/11/13/420035.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/420035.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/420035.html</trackback:ping><description><![CDATA[<div>http://steven-wiki.readthedocs.org/en/latest/security/cas-tomcat/<br /><div>http://wenku.baidu.com/view/13a57761783e0912a2162a94.html</div>restful:<br /><div>http://jasig.github.io/cas/4.0.0/protocol/REST-Protocol.html<br /><div>http://jasig.275507.n4.nabble.com/Setting-up-the-RESTlet-servlet-on-CAS-3-3-5-td2068602.html<br /><br /></div></div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/420035.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-11-13 17:45 <a href="http://www.blogjava.net/ivanwan/archive/2014/11/13/420035.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SalesForce mule</title><link>http://www.blogjava.net/ivanwan/archive/2014/10/29/419159.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Wed, 29 Oct 2014 05:07:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/10/29/419159.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/419159.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/10/29/419159.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/419159.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/419159.html</trackback:ping><description><![CDATA[<div>http://blog.e-works.net.cn/626381/articles/526568.html<br /><br /><div>http://www.oecp.cn/hi/wlo_o/blog/2160</div></div><img src ="http://www.blogjava.net/ivanwan/aggbug/419159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-10-29 13:07 <a href="http://www.blogjava.net/ivanwan/archive/2014/10/29/419159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>muleclient ampq</title><link>http://www.blogjava.net/ivanwan/archive/2014/10/16/418762.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Wed, 15 Oct 2014 16:42:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/10/16/418762.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/418762.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/10/16/418762.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/418762.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/418762.html</trackback:ping><description><![CDATA[<div>http://stackoverflow.com/questions/18833931/how-to-use-the-muleclient-request-for-async-amqp-rabbitmq-implementation-from-ja?rq=1</div><img src ="http://www.blogjava.net/ivanwan/aggbug/418762.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-10-16 00:42 <a href="http://www.blogjava.net/ivanwan/archive/2014/10/16/418762.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Using Spring Beans as Flow Components(mule esb)</title><link>http://www.blogjava.net/ivanwan/archive/2014/09/30/418403.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 29 Sep 2014 18:52:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/09/30/418403.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/418403.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/09/30/418403.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/418403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/418403.html</trackback:ping><description><![CDATA[<div>http://www.mulesoft.org/documentation/display/current/Using+Spring+Beans+as+Flow+Components</div><img src ="http://www.blogjava.net/ivanwan/aggbug/418403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-09-30 02:52 <a href="http://www.blogjava.net/ivanwan/archive/2014/09/30/418403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下jvm时区设置-JAVA时区问题</title><link>http://www.blogjava.net/ivanwan/archive/2014/09/24/418239.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Wed, 24 Sep 2014 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/09/24/418239.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/418239.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/09/24/418239.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/418239.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/418239.html</trackback:ping><description><![CDATA[<p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 3669px; height: 193px; line-height: 193px; top: 8754px; left: 1448px; z-index: 50; background-color: #ffffff;">设置默认时区。当然你可以这样检查一下：</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: simsun; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 96px; height: 193px; line-height: 193px; top: 8754px; left: 5118px; z-index: 51; background-color: #ffffff;">&nbsp;</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 579px; height: 193px; line-height: 193px; top: 9005px; left: 1448px; z-index: 52; background-color: #ffffff;">//---&nbsp;</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 4344px; height: 193px; line-height: 193px; top: 9256px; left: 1448px; z-index: 53; background-color: #ffffff;">System.out.println(TimeZone.getDefault());&nbsp;//</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 1544px; height: 193px; line-height: 193px; top: 9256px; left: 5794px; z-index: 54; background-color: #ffffff;">输出当前默认时区</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: simsun; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 96px; height: 193px; line-height: 193px; top: 9256px; left: 7339px; z-index: 55; background-color: #ffffff;">&nbsp;</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 5310px; height: 193px; line-height: 193px; top: 9507px; left: 1448px; z-index: 56; background-color: #ffffff;">final&nbsp;TimeZone&nbsp;zone&nbsp;=&nbsp;TimeZone.getTimeZone("GMT+8");&nbsp;//</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 1158px; height: 193px; line-height: 193px; top: 9507px; left: 6760px; z-index: 57; background-color: #ffffff;">获取中国时区</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: simsun; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 96px; height: 193px; line-height: 193px; top: 9507px; left: 7919px; z-index: 58; background-color: #ffffff;">&nbsp;</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 2800px; height: 193px; line-height: 193px; top: 9758px; left: 1448px; z-index: 59; background-color: #ffffff;">TimeZone.setDefault(zone);&nbsp;//</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 772px; height: 193px; line-height: 193px; top: 9758px; left: 4249px; z-index: 60; background-color: #ffffff;">设置时区</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: simsun; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 96px; height: 193px; line-height: 193px; top: 9758px; left: 5021px; z-index: 61; background-color: #ffffff;">&nbsp;</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 4344px; height: 193px; line-height: 193px; top: 10010px; left: 1448px; z-index: 62; background-color: #ffffff;">System.out.println(TimeZone.getDefault());&nbsp;//</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 772px; height: 193px; line-height: 193px; top: 10010px; left: 5794px; z-index: 63; background-color: #ffffff;">输出验证</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: simsun; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 96px; height: 193px; line-height: 193px; top: 10010px; left: 6567px; z-index: 64; background-color: #ffffff;">&nbsp;</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 579px; height: 193px; line-height: 193px; top: 10261px; left: 1448px; z-index: 65; background-color: #ffffff;">//---&nbsp;</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: simsun; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 96px; height: 193px; line-height: 193px; top: 10512px; left: 1448px; z-index: 66; background-color: #ffffff;">&nbsp;</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 2896px; height: 193px; line-height: 193px; top: 10763px; left: 1448px; z-index: 67; background-color: #ffffff;">除了上面的解决方法外，还可以：</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: simsun; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 96px; height: 193px; line-height: 193px; top: 10763px; left: 4345px; z-index: 68; background-color: #ffffff;">&nbsp;</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 193px; height: 193px; line-height: 193px; top: 11014px; left: 1448px; z-index: 69; background-color: #ffffff;">在</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 579px; height: 193px; line-height: 193px; top: 11014px; left: 1689px; z-index: 70; background-color: #ffffff;">TOMCAT</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 193px; height: 193px; line-height: 193px; top: 11014px; left: 2317px; z-index: 71; background-color: #ffffff;">的</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 386px; height: 193px; line-height: 193px; top: 11014px; left: 2558px; z-index: 72; background-color: #ffffff;">JAVA</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 1158px; height: 193px; line-height: 193px; top: 11014px; left: 2993px; z-index: 73; background-color: #ffffff;">运行参数添加</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 2993px; height: 193px; line-height: 193px; top: 11014px; left: 4152px; z-index: 74; background-color: #ffffff;">&nbsp;-Duser.timezone=Asia/Shanghai&nbsp;</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 5213px; height: 193px; line-height: 193px; top: 11265px; left: 1448px; z-index: 75; background-color: #ffffff;">或者，如果有启动的定时器或首次执行的代码，可以使用语句</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: simsun; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 96px; height: 193px; line-height: 193px; top: 11265px; left: 6663px; z-index: 76; background-color: #ffffff;">&nbsp;</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940010001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 5118px; height: 193px; line-height: 193px; top: 11516px; left: 1448px; z-index: 77; background-color: #ffffff;">System.setProperty("user.timezone","Asia/Shanghai");&nbsp;</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 579px; height: 193px; line-height: 193px; top: 11767px; left: 1448px; z-index: 78; background-color: #ffffff;">来设置</p><p reader-word-s1-1"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: simsun; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 96px; height: 193px; line-height: 193px; top: 11767px; left: 2027px; z-index: 79; background-color: #ffffff;">&nbsp;</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 1931px; height: 193px; line-height: 193px; top: 12018px; left: 1448px; z-index: 80; background-color: #ffffff;">但是为解决时区问题，</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 1737px; height: 193px; line-height: 193px; top: 12018px; left: 3292px; z-index: 81; background-color: #ffffff;">这样编码实在太烦，</p><p reader-word-s1-2"="" style="margin: 0px; padding: 0px; font-size: 193px; font-family: 宋体, '705c14fbf705cc17552709940020001', 宋体; position: absolute; white-space: nowrap; -webkit-font-smoothing: antialiased; text-shadow: rgba(0, 0, 0, 0.00392157) 1px 1px 1px; width: 3282px; height: 193px; line-height: 193px; top: 12018px; left: 4943px; z-index: 82; background-color: #ffffff;">所以你要知道如何从根本上解决问题：</p><div><p>tomcat的catalina.sh:<br />JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/Shanghai"</p></div><img src ="http://www.blogjava.net/ivanwan/aggbug/418239.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-09-24 17:16 <a href="http://www.blogjava.net/ivanwan/archive/2014/09/24/418239.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RAML + Mule Module Requester Usecase</title><link>http://www.blogjava.net/ivanwan/archive/2014/05/28/414218.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Wed, 28 May 2014 15:32:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/05/28/414218.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/414218.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/05/28/414218.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/414218.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/414218.html</trackback:ping><description><![CDATA[<div>http://ricston.com/blog/mule-image-hosting-raml-mulerequester/</div><img src ="http://www.blogjava.net/ivanwan/aggbug/414218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-05-28 23:32 <a href="http://www.blogjava.net/ivanwan/archive/2014/05/28/414218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用truelicense实现用于JAVA工程license机制</title><link>http://www.blogjava.net/ivanwan/archive/2014/04/30/413072.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Tue, 29 Apr 2014 19:32:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/04/30/413072.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/413072.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/04/30/413072.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/413072.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/413072.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">使用truelicense实现用于JAVA工程license机制（包括license生成和验，有需要的朋友可以参考下。</p><br style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;" /><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">开发的软件产品在交付使用的时候，往往会授权一段时间的试用期，这个时候license就派上用场了。不同于在代码中直接加上时间约束，需要重新授权的时候使用license可以避免修改源码，改动部署，授权方直接生成一个新的license发送给使用方替换掉原来的license文件即可。下面将讲述使用truelicense来实现license的生成和使用。Truelicense是一个开源的证书管理引擎，详细介绍见<a rel="nofollow" target="_blank" href="https://truelicense.java.net/" style="margin: 0px; padding: 0px; color: #3377aa; text-decoration: none;">https://truelicense.java.net/</a></p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">一、首先介绍下license授权机制的原理：</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">1、 生成密钥对，方法有很多。</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">2、 授权者保留私钥，使用私钥对包含授权信息（如使用截止日期，MAC地址等）的license进行数字签名。</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">3、 公钥给使用者（放在验证的代码中使用），用于验证license是否符合使用条件。</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;"></p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">接下来是本例制作license的具体步骤：</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">二、第一步：使用keytool生成密钥对</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">以下命令在dos命令行执行，注意当前执行目录，最后生成的密钥对即在该目录下：</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">1、首先要用KeyTool工具来生成私匙库：（-alias别名 &#8211;validity 3650表示10年有效）</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">keytool -genkey -alias privatekey -keystoreprivateKeys.store -validity 3650</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">2、然后把私匙库内的公匙导出到一个文件当中：</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 8px; background-color: #f3fbf3; border-left-width: 4px; border-left-style: solid; border-left-color: #628db7; color: #333333; clear: both; font-size: 12px; font-family: Consolas, Verdana, Arial; line-height: 22px; white-space: pre-wrap; word-wrap: break-word;">keytool -export -alias privatekey -file certfile.cer -keystore privateKeys.store</pre><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">3、然后再把这个证书文件导入到公匙库：</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 8px; background-color: #f3fbf3; border-left-width: 4px; border-left-style: solid; border-left-color: #628db7; color: #333333; clear: both; font-size: 12px; font-family: Consolas, Verdana, Arial; line-height: 22px; white-space: pre-wrap; word-wrap: break-word;">keytool -import -alias publiccert -file certfile.cer -keystore publicCerts.store</pre><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">最后生成文件privateKeys.store、publicCerts.store拷贝出来备用。</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">三、第二步：生成证书（该部分代码由授权者独立保管执行）</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">1、 首先LicenseManagerHolder.java类：</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;"></p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 8px; background-color: #f3fbf3; border-left-width: 4px; border-left-style: solid; border-left-color: #628db7; color: #333333; clear: both; font-size: 12px; font-family: Consolas, Verdana, Arial; line-height: 22px; white-space: pre-wrap; word-wrap: break-word;">package cn.melina.license; import de.schlichtherle.license.LicenseManager; import de.schlichtherle.license.LicenseParam;  /**  * LicenseManager??????  * @author melina  */ public class LicenseManagerHolder { 	 	private static LicenseManager licenseManager;   	public static synchronized LicenseManager getLicenseManager(LicenseParam licenseParams) {     	if (licenseManager == null) {     		licenseManager = new LicenseManager(licenseParams);     	}     	return licenseManager;     } } </pre><br style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;" /><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;"></p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">2、 然后是主要生成license的代码CreateLicense.java：</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 8px; background-color: #f3fbf3; border-left-width: 4px; border-left-style: solid; border-left-color: #628db7; color: #333333; clear: both; font-size: 12px; font-family: Consolas, Verdana, Arial; line-height: 22px; white-space: pre-wrap; word-wrap: break-word;">package cn.melina.license;  import java.io.File; import java.io.IOException; import java.io.InputStream; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Properties; import java.util.prefs.Preferences; import javax.security.auth.x500.X500Principal; import de.schlichtherle.license.CipherParam; import de.schlichtherle.license.DefaultCipherParam; import de.schlichtherle.license.DefaultKeyStoreParam; import de.schlichtherle.license.DefaultLicenseParam; import de.schlichtherle.license.KeyStoreParam; import de.schlichtherle.license.LicenseContent; import de.schlichtherle.license.LicenseParam; import de.schlichtherle.license.LicenseManager;  /**  * CreateLicense  * @author melina  */ public class CreateLicense { 	//common param 	private static String PRIVATEALIAS = ""; 	private static String KEYPWD = ""; 	private static String STOREPWD = ""; 	private static String SUBJECT = ""; 	private static String licPath = ""; 	private static String priPath = ""; 	//license content 	private static String issuedTime = ""; 	private static String notBefore = ""; 	private static String notAfter = ""; 	private static String consumerType = ""; 	private static int consumerAmount = 0; 	private static String info = ""; 	// 为了方便直接用的API里的例子 	// X500Princal是一个证书文件的固有格式，详见API 	private final static X500Principal DEFAULTHOLDERANDISSUER = new X500Principal( 			"CN=Duke、OU=JavaSoft、O=Sun Microsystems、C=US"); 	 	public void setParam(String propertiesPath) { 		// 获取参数 		Properties prop = new Properties(); 		InputStream in = getClass().getResourceAsStream(propertiesPath); 		try { 			prop.load(in); 		} catch (IOException e) { 			// TODO Auto-generated catch block 			e.printStackTrace(); 		} 		PRIVATEALIAS = prop.getProperty("PRIVATEALIAS"); 		KEYPWD = prop.getProperty("KEYPWD"); 		STOREPWD = prop.getProperty("STOREPWD"); 		SUBJECT = prop.getProperty("SUBJECT"); 		KEYPWD = prop.getProperty("KEYPWD"); 		licPath = prop.getProperty("licPath"); 		priPath = prop.getProperty("priPath"); 		//license content 		issuedTime = prop.getProperty("issuedTime"); 		notBefore = prop.getProperty("notBefore"); 		notAfter = prop.getProperty("notAfter"); 		consumerType = prop.getProperty("consumerType"); 		consumerAmount = Integer.valueOf(prop.getProperty("consumerAmount")); 		info = prop.getProperty("info"); 		 	}  	public boolean create() {		 		try { 			/************** 证书发布者端执行 ******************/ 			LicenseManager licenseManager = LicenseManagerHolder 					.getLicenseManager(initLicenseParams0()); 			licenseManager.store((createLicenseContent()), new File(licPath));	 		} catch (Exception e) { 			e.printStackTrace(); 			System.out.println("客户端证书生成失败!"); 			return false; 		} 		System.out.println("服务器端生成证书成功!"); 		return true; 	}  	// 返回生成证书时需要的参数 	private static LicenseParam initLicenseParams0() { 		Preferences preference = Preferences 				.userNodeForPackage(CreateLicense.class); 		// 设置对证书内容加密的对称密码 		CipherParam cipherParam = new DefaultCipherParam(STOREPWD); 		// 参数1,2从哪个Class.getResource()获得密钥库;参数3密钥库的别名;参数4密钥库存储密码;参数5密钥库密码 		KeyStoreParam privateStoreParam = new DefaultKeyStoreParam( 				CreateLicense.class, priPath, PRIVATEALIAS, STOREPWD, KEYPWD); 		LicenseParam licenseParams = new DefaultLicenseParam(SUBJECT, 				preference, privateStoreParam, cipherParam); 		return licenseParams; 	}  	// 从外部表单拿到证书的内容 		public final static LicenseContent createLicenseContent() { 			DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 			LicenseContent content = null; 			content = new LicenseContent(); 			content.setSubject(SUBJECT); 			content.setHolder(DEFAULTHOLDERANDISSUER); 			content.setIssuer(DEFAULTHOLDERANDISSUER); 			try { 				content.setIssued(format.parse(issuedTime)); 				content.setNotBefore(format.parse(notBefore)); 				content.setNotAfter(format.parse(notAfter)); 			} catch (ParseException e) { 				// TODO Auto-generated catch block 				e.printStackTrace(); 			} 			content.setConsumerType(consumerType); 			content.setConsumerAmount(consumerAmount); 			content.setInfo(info); 			// 扩展 			content.setExtra(new Object()); 			return content; 		} } </pre><br style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;" /><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">3、 测试程序licenseCreateTest.java：</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 8px; background-color: #f3fbf3; border-left-width: 4px; border-left-style: solid; border-left-color: #628db7; color: #333333; clear: both; font-size: 12px; font-family: Consolas, Verdana, Arial; line-height: 22px; white-space: pre-wrap; word-wrap: break-word;">package cn.melina.license; import cn.melina.license.CreateLicense; public class licenseCreateTest { 	public static void main(String[] args){ 		CreateLicense cLicense = new CreateLicense(); 		//获取参数 		cLicense.setParam("./param.properties"); 		//生成证书 		cLicense.create(); 	} } </pre><br style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;" /><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">4、 生成时使用到的param.properties文件如下：</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 8px; background-color: #f3fbf3; border-left-width: 4px; border-left-style: solid; border-left-color: #628db7; color: #333333; clear: both; font-size: 12px; font-family: Consolas, Verdana, Arial; line-height: 22px; white-space: pre-wrap; word-wrap: break-word;">##########common parameters########### #alias PRIVATEALIAS=privatekey #key(该密码生成密钥对的密码，需要妥善保管，不能让使用者知道) KEYPWD=bigdata123456 #STOREPWD(该密码是在使用keytool生成密钥对时设置的密钥库的访问密码) STOREPWD=abc123456 #SUBJECT SUBJECT=bigdata #licPath licPath=bigdata.lic #priPath priPath=privateKeys.store ##########license content########### #issuedTime issuedTime=2014-04-01 #notBeforeTime notBefore=2014-04-01 #notAfterTime notAfter=2014-05-01 #consumerType consumerType=user #ConsumerAmount consumerAmount=1 #info info=this is a license </pre><br style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;" /><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;"><span style="margin: 0px; padding: 0px;">根据</span><span style="margin: 0px; padding: 0px;">properties</span><span style="margin: 0px; padding: 0px;">文件可以看出，这里只简单设置了使用时间的限制，当然可以自定义添加更多限制。该文件中表示授权者拥有私钥，并且知道生成密钥对的密码。并且设置</span><span style="margin: 0px; padding: 0px;">license</span><span style="margin: 0px; padding: 0px;">的内容。</span></p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">四、第三步：验证证书（使用证书）（该部分代码结合需要授权的程序使用）</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;"></p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">1、 首先LicenseManagerHolder.java类，同上。</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">2、 然后是主要验证license的代码VerifyLicense.java：</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 8px; background-color: #f3fbf3; border-left-width: 4px; border-left-style: solid; border-left-color: #628db7; color: #333333; clear: both; font-size: 12px; font-family: Consolas, Verdana, Arial; line-height: 22px; white-space: pre-wrap; word-wrap: break-word;">package cn.melina.license;  import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import java.util.prefs.Preferences;  import de.schlichtherle.license.CipherParam; import de.schlichtherle.license.DefaultCipherParam; import de.schlichtherle.license.DefaultKeyStoreParam; import de.schlichtherle.license.DefaultLicenseParam; import de.schlichtherle.license.KeyStoreParam; import de.schlichtherle.license.LicenseParam; import de.schlichtherle.license.LicenseManager;  /**  * VerifyLicense  * @author melina  */ public class VerifyLicense { 	//common param 	private static String PUBLICALIAS = ""; 	private static String STOREPWD = ""; 	private static String SUBJECT = ""; 	private static String licPath = ""; 	private static String pubPath = ""; 	 	public void setParam(String propertiesPath) { 		// 获取参数 		Properties prop = new Properties(); 		InputStream in = getClass().getResourceAsStream(propertiesPath); 		try { 			prop.load(in); 		} catch (IOException e) { 			// TODO Auto-generated catch block 			e.printStackTrace(); 		} 		PUBLICALIAS = prop.getProperty("PUBLICALIAS"); 		STOREPWD = prop.getProperty("STOREPWD"); 		SUBJECT = prop.getProperty("SUBJECT"); 		licPath = prop.getProperty("licPath"); 		pubPath = prop.getProperty("pubPath"); 	}  	public boolean verify() {		 		/************** 证书使用者端执行 ******************/  		LicenseManager licenseManager = LicenseManagerHolder 				.getLicenseManager(initLicenseParams()); 		// 安装证书 		try { 			licenseManager.install(new File(licPath)); 			System.out.println("客户端安装证书成功!"); 		} catch (Exception e) { 			e.printStackTrace(); 			System.out.println("客户端证书安装失败!"); 			return false; 		} 		// 验证证书 		try { 			licenseManager.verify(); 			System.out.println("客户端验证证书成功!"); 		} catch (Exception e) { 			e.printStackTrace(); 			System.out.println("客户端证书验证失效!"); 			return false; 		} 		return true; 	}  	// 返回验证证书需要的参数 	private static LicenseParam initLicenseParams() { 		Preferences preference = Preferences 				.userNodeForPackage(VerifyLicense.class); 		CipherParam cipherParam = new DefaultCipherParam(STOREPWD);  		KeyStoreParam privateStoreParam = new DefaultKeyStoreParam( 				VerifyLicense.class, pubPath, PUBLICALIAS, STOREPWD, null); 		LicenseParam licenseParams = new DefaultLicenseParam(SUBJECT, 				preference, privateStoreParam, cipherParam); 		return licenseParams; 	} } </pre><br style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;" /><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">3、 测试程序licenseVerifyTest.java：</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 8px; background-color: #f3fbf3; border-left-width: 4px; border-left-style: solid; border-left-color: #628db7; color: #333333; clear: both; font-size: 12px; font-family: Consolas, Verdana, Arial; line-height: 22px; white-space: pre-wrap; word-wrap: break-word;">package cn.melina.license;  public class licenseVerifyTest { 	public static void main(String[] args){ 		VerifyLicense vLicense = new VerifyLicense(); 		//获取参数 		vLicense.setParam("./param.properties"); 		//验证证书 		vLicense.verify(); 	} } </pre><br style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;" /><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">4、 验证时使用到的Properties文件如下：</p><pre style="margin-top: 0px; margin-bottom: 0px; padding: 8px; background-color: #f3fbf3; border-left-width: 4px; border-left-style: solid; border-left-color: #628db7; color: #333333; clear: both; font-size: 12px; font-family: Consolas, Verdana, Arial; line-height: 22px; white-space: pre-wrap; word-wrap: break-word;">##########common parameters########### #alias PUBLICALIAS=publiccert #STOREPWD(该密码是在使用keytool生成密钥对时设置的密钥库的访问密码) STOREPWD=abc123456 #SUBJECT SUBJECT=bigdata #licPath licPath=bigdata.lic #pubPath pubPath=publicCerts.store </pre><br style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;" /><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">根据该验证的properties可以看出，使用者只拥有公钥，没有私钥，并且也只知道访问密钥库的密码，而不能知道生成密钥对的密码。</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">五、说明：</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">注意实际操作中，公钥、私钥、证书等文件的存放路径。</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">以上代码需要用到truelicense的一些包，可以自行网上搜，也可以下载我的完整工程，里面附带了所需的jar包。</p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">以上两个完整工程提供下载：<a rel="nofollow" target="_blank" href="http://download.csdn.net/detail/luckymelina/7141131" style="margin: 0px; padding: 0px; color: #3377aa; text-decoration: none;">http://download.csdn.net/detail/luckymelina/7141131</a></p><p style="margin: 0px; padding: 0px; color: #222222; font-family: Verdana, Arial, Helvetica; font-size: 13px; line-height: 25px;">GOOD LUCK!小伙伴们加油！欢迎与我交流。</p><img src ="http://www.blogjava.net/ivanwan/aggbug/413072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-04-30 03:32 <a href="http://www.blogjava.net/ivanwan/archive/2014/04/30/413072.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java调用mysql获取不到连接的问题</title><link>http://www.blogjava.net/ivanwan/archive/2014/04/28/413006.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 28 Apr 2014 05:32:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/04/28/413006.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/413006.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/04/28/413006.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/413006.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/413006.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 之前做了一个web项目的时候，好好的网站第二天总是会提示using the Connector/J connection property 'autoReconnect=true' to avoid this problem.&nbsp; 这样的错误1com.mysql.jdbc.CommunicationsException: The last packet successfully recei...&nbsp;&nbsp;<a href='http://www.blogjava.net/ivanwan/archive/2014/04/28/413006.html'>阅读全文</a><img src ="http://www.blogjava.net/ivanwan/aggbug/413006.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-04-28 13:32 <a href="http://www.blogjava.net/ivanwan/archive/2014/04/28/413006.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java使用Xuggler获得视频的时长，分辨率，高宽等信息</title><link>http://www.blogjava.net/ivanwan/archive/2014/04/01/411763.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Mon, 31 Mar 2014 16:44:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/04/01/411763.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/411763.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/04/01/411763.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/411763.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/411763.html</trackback:ping><description><![CDATA[<pre java=""  prettyprinted"=""><div>http://outofmemory.cn/code-snippet/4079/java-usage-Xuggler-get-video-shichang-fen-bianlv-high-kuan-kind-information</div></pre><img src ="http://www.blogjava.net/ivanwan/aggbug/411763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-04-01 00:44 <a href="http://www.blogjava.net/ivanwan/archive/2014/04/01/411763.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>反射实例</title><link>http://www.blogjava.net/ivanwan/archive/2014/03/14/410999.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Thu, 13 Mar 2014 16:31:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/03/14/410999.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/410999.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/03/14/410999.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/410999.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/410999.html</trackback:ping><description><![CDATA[<div>http://blog.sina.com.cn/s/blog_6b8fc5470101fi4b.html</div><img src ="http://www.blogjava.net/ivanwan/aggbug/410999.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-03-14 00:31 <a href="http://www.blogjava.net/ivanwan/archive/2014/03/14/410999.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> heapaudit内存分析工具</title><link>http://www.blogjava.net/ivanwan/archive/2014/03/11/410873.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Tue, 11 Mar 2014 06:45:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2014/03/11/410873.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/410873.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2014/03/11/410873.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/410873.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/410873.html</trackback:ping><description><![CDATA[<div>https://github.com/foursquare/heapaudit</div><img src ="http://www.blogjava.net/ivanwan/aggbug/410873.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2014-03-11 14:45 <a href="http://www.blogjava.net/ivanwan/archive/2014/03/11/410873.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>infinispan启动</title><link>http://www.blogjava.net/ivanwan/archive/2013/10/08/404720.html</link><dc:creator>ivaneeo</dc:creator><author>ivaneeo</author><pubDate>Tue, 08 Oct 2013 02:49:00 GMT</pubDate><guid>http://www.blogjava.net/ivanwan/archive/2013/10/08/404720.html</guid><wfw:comment>http://www.blogjava.net/ivanwan/comments/404720.html</wfw:comment><comments>http://www.blogjava.net/ivanwan/archive/2013/10/08/404720.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ivanwan/comments/commentRss/404720.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ivanwan/services/trackbacks/404720.html</trackback:ping><description><![CDATA[<div>nohup ./bin/startServer.sh -r hotrod -l 172.20.21.3 -c ./etc/config-samples/distributed-udp.xml -p 11222 &amp;</div><img src ="http://www.blogjava.net/ivanwan/aggbug/404720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ivanwan/" target="_blank">ivaneeo</a> 2013-10-08 10:49 <a href="http://www.blogjava.net/ivanwan/archive/2013/10/08/404720.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>