??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品国产三级国产专区53 ,欧美日韩伦理片,亚洲视频在线播放http://www.aygfsteel.com/jianyue/archive/2018/11/03/433463.htmlQziQziSat, 03 Nov 2018 00:39:00 GMThttp://www.aygfsteel.com/jianyue/archive/2018/11/03/433463.htmlhttp://www.aygfsteel.com/jianyue/comments/433463.htmlhttp://www.aygfsteel.com/jianyue/archive/2018/11/03/433463.html#Feedback0http://www.aygfsteel.com/jianyue/comments/commentRss/433463.htmlhttp://www.aygfsteel.com/jianyue/services/trackbacks/433463.html
2. Chinese input method
sudo apt-get install ibus-pinyin
#remmeber to logout and re-logon to change system 'Region&Language' setting

3. Shadowsocks and genpac
sudo apt install -y shadowsocks-libev
#sudo vi /etc/shadowsocks-libev/shadowsock.json
{
    
"server":"x.x.x.x",
    
"server_port":xx,
    
"local_port":1080,
    
"password":"xxxxx",
    
"timeout":60,
    
"method":"aes-256-cfb"
}

nohup ss-local -c /etc/shadowsocks-libev/shadowsock.json >/dev/null 2>&1 &

sudo apt install phython-pip
sudo -H
pip install genpac


如果pip error "TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'"
sudo python -m pip install --upgrade --force pip

mkdir pac
cd pac
touch user-rules.txt
genpac --pac-proxy "SOCKS5 127.0.0.1:1080" --gfwlist-proxy="SOCKS5 127.0.0.1:1080" --output="autoproxy.pac" --gfwlist-url="https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt" --user-rule-from="user-rules.txt"

配置pȝ自动代理为:
/home/xxx/pac/autoproxy.pac

4. JDK8
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
download and setup environment variable manually


5.gcloud
http://ubuntuhandbook.org/index.php/2014/10/google-cloud-sdk-made-into-canonical-partners-repository/


Qzi 2018-11-03 08:39 发表评论
]]>
Android compile 注意?/title><link>http://www.aygfsteel.com/jianyue/archive/2013/04/20/398119.html</link><dc:creator>Qzi</dc:creator><author>Qzi</author><pubDate>Sat, 20 Apr 2013 02:57:00 GMT</pubDate><guid>http://www.aygfsteel.com/jianyue/archive/2013/04/20/398119.html</guid><wfw:comment>http://www.aygfsteel.com/jianyue/comments/398119.html</wfw:comment><comments>http://www.aygfsteel.com/jianyue/archive/2013/04/20/398119.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jianyue/comments/commentRss/398119.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jianyue/services/trackbacks/398119.html</trackback:ping><description><![CDATA[官方说明Q?a >http://source.android.com/source/initializing.html<br /> </a>环境Q?br /> Ubuntu 12.04 64bit<br /> JDK6(installation: <a >http://www.gaggl.com/2012/04/installing-java6-jdk-on-ubuntu-12-04/</a>)<br /> <br /> <div>$ make -v</div> <div>GNU Make 3.81</div> <div>Copyright (C) 2006  Free Software Foundation, Inc.</div> <div>This is free software; see the source for copying conditions.</div> <div>There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A</div> <div>PARTICULAR PURPOSE.</div> <div></div> <div>This program built for x86_64-pc-linux-gnu<br /> </div> <div>$ python -V</div> <div>Python 2.7.3<br /> </div> android 当前 mainfest version: 4.2<br /> <br /> <br /> 按照官方说明从下载到q行emulatorQ没有nexusQ所以没做实际机器烧录。步骤请Ҏ官方说明做,以下只列E遇到的问题:<br />1.repo sync<br />l常出现断线Q网上有很多参考办法,我是每次忽略q些错误Q直到运行完毕退出,我再重新q行Q?br />repo sync -f<br />知道所有代码下载完毕(4.2的有16GQ?br />2.每次跑emulator都要cdC码目录先q行环境初始?br /><div>source build/envsetup.sh</div><div>lunch full-eng<br />3.emulator出错<br /><div>$ emulator</div><div>emulator: WARNING: system partition size adjusted to match image file (229 MB > 200 MB)</div><div>Segmentation fault (core dumped)<br />Ҏ用emulator-arm -partition-size 1024<br />full long command reference:<br /><a >http://stackoverflow.com/questions/9022750/running-emulator-after-building-android-from-source</a></div></div><img src ="http://www.aygfsteel.com/jianyue/aggbug/398119.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jianyue/" target="_blank">Qzi</a> 2013-04-20 10:57 <a href="http://www.aygfsteel.com/jianyue/archive/2013/04/20/398119.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring 事务 属?/title><link>http://www.aygfsteel.com/jianyue/archive/2011/11/29/365092.html</link><dc:creator>Qzi</dc:creator><author>Qzi</author><pubDate>Tue, 29 Nov 2011 02:25:00 GMT</pubDate><guid>http://www.aygfsteel.com/jianyue/archive/2011/11/29/365092.html</guid><wfw:comment>http://www.aygfsteel.com/jianyue/comments/365092.html</wfw:comment><comments>http://www.aygfsteel.com/jianyue/archive/2011/11/29/365092.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jianyue/comments/commentRss/365092.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jianyue/services/trackbacks/365092.html</trackback:ping><description><![CDATA[<div><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Spring <span style="font-family: 宋体; ">声明式事务让我们从复杂的事务处理中得到解脱。得我们再也无需要去处理获得q接、关闭连接、事务提交和回滚{这些操作。再也无需要我们在与事务相关的Ҏ中处理大量的</span> try<span style="font-family: 宋体; ">…</span> catch <span style="font-family: 宋体; ">…</span> finally <span style="font-family: 宋体; ">代码?/span> <span style="font-family: 宋体; ">我们在?/span> Spring <span style="font-family: 宋体; ">声明式事务时Q有一个非帔R要的概念是事务属性。事务属性通常׃务的传播行ؓQ事务的隔离U别Q事务的时值和事务只读标志l成。我们在q行事务划分Ӟ需要进行事务定义,也就是配|事务的属性?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Spring <span style="font-family: 宋体; ">?/span> TransactionDefinition <span style="font-family: 宋体; ">接口中定义这些属?/span> , <span style="font-family: 宋体; ">以供</span> PlatfromTransactionManager <span style="font-family: 宋体; ">使用</span> , PlatfromTransactionManager <span style="font-family: 宋体; ">?/span> spring <span style="font-family: 宋体; ">事务理的核心接口?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">getTimeout()</span> <span style="font-family: 宋体; ">ҎQ它q回事务必须在多秒内完成?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">isReadOnly()</span> , <span style="font-family: 宋体; ">事务是否只读Q事务管理器能够Ҏq个q回D行优化,保事务是只ȝ?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">getIsolationLevel()</span> <span style="font-family: 宋体; ">Ҏq回事务的隔ȝ别,事务理器根据它来控制另外一个事务可以看到本事务内的哪些数据?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="font-family: 宋体; ">?/span> TransactionDefinition <span style="font-family: 宋体; ">接口中定义了五个不同的事务隔ȝ别:</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">ISOLATION_DEFAULT</span> <span style="font-family: 宋体; ">q是一?/span> PlatfromTransactionManager <span style="font-family: 宋体; ">默认的隔ȝ别,使用数据库默认的事务隔离U别</span> . <span style="font-family: 宋体; ">另外四个?/span> JDBC <span style="font-family: 宋体; ">的隔ȝ别相对应</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">ISOLATION_READ_UNCOMMITTED</span> <span style="font-family: 宋体; ">q是事务最低的隔离U别Q它充许别外一个事务可以看到这个事务未提交的数据。这U隔ȝ别会产生脏读Q不可重复读和像读?/span> <span style="font-family: 宋体; ">例如</span> : Mary<span style="font-family: 宋体; ">的原工资?/span> 1000, <span style="font-family: 宋体; ">财务人员?/span> Mary <span style="font-family: 宋体; ">的工资改Z</span> 8000 <span style="font-family: 宋体; ">Q但未提交事?/span> <span style="font-family: 宋体; ">与此同时Q?/span> Mary<span style="font-family: 宋体; ">正在d自己的工?/span> Mary <span style="font-family: 宋体; ">发现自己的工资变Z</span> 8000 <span style="font-family: 宋体; ">Q欢天喜圎ͼ</span> <span style="font-family: 宋体; ">而胦务发现操作有误,而回滚了事务</span> ,Mary <span style="font-family: 宋体; ">的工资又变ؓ?/span> 1000. <span style="font-family: 宋体; ">像这?/span> ,Mary <span style="font-family: 宋体; ">记取的工资数</span> 8000 <span style="font-family: 宋体; ">是一个脏数据?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">ISOLATION_READ_COMMITTED</span> <span style="font-family: 宋体; ">保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。这U事务隔ȝ别可以避免脏d玎ͼ但是可能会出C可重复读和像读?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">ISOLATION_REPEATABLE_READ</span> <span style="font-family: 宋体; ">q种事务隔离U别可以防止脏读Q不可重复读。但是可能出现像读。它除了保证一个事务不能读取另一个事务未提交的数据外Q还保证了避免下面的情况产生</span> ( <span style="font-family: 宋体; ">不可重复?/span> ) <span style="font-family: 宋体; ">?/span> <span style="font-family: 宋体; ">在事?/span> 1 <span style="font-family: 宋体; ">中,</span> Mary <span style="font-family: 宋体; ">d了自q工资?/span> 1000, <span style="font-family: 宋体; ">操作q没有完?/span> <span style="font-family: 宋体; ">在事?/span> 2 <span style="font-family: 宋体; ">中,q时财务人员修改?/span> Mary <span style="font-family: 宋体; ">的工资ؓ</span> 2000, <span style="font-family: 宋体; ">q提交了事务</span> . <span style="font-family: 宋体; ">在事?/span> 1 <span style="font-family: 宋体; ">中,</span>Mary <span style="font-family: 宋体; ">再次d自己的工资时Q工资变Z</span> 2000 <span style="font-family: 宋体; ">在一个事务中前后两次d的结果ƈ不致Q导致了不可重复诅R?/span> <span style="font-family: 宋体; ">使用</span> ISOLATION_REPEATABLE_READ <span style="font-family: 宋体; ">可以避免q种情况发生?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">ISOLATION_SERIALIZABLE</span> <span style="font-family: 宋体; ">q是p最高代价但是最可靠的事务隔ȝ别。事务被处理为顺序执行。除了防止脏读,不可重复dQ还避免了像读?/span> <span style="font-family: 宋体; ">目前工资?/span> 1000 <span style="font-family: 宋体; ">的员工有</span> 10<span style="font-family: 宋体; ">人?/span> <span style="font-family: 宋体; ">事务</span> 1, <span style="font-family: 宋体; ">d所有工资ؓ</span> 1000 <span style="font-family: 宋体; ">的员工?/span> <span style="font-family: 宋体; ">p?/span> 10 <span style="font-family: 宋体; ">条记?/span> <span style="font-family: 宋体; ">q时另一个事务向</span> employee<span style="font-family: 宋体; ">表插入了一条员工记录,工资也ؓ</span> 1000 <span style="font-family: 宋体; ">事务</span> 1 <span style="font-family: 宋体; ">再次d所有工资ؓ</span> 1000 <span style="font-family: 宋体; ">的员?/span> <span style="font-family: 宋体; ">p取到?/span> 11 <span style="font-family: 宋体; ">条记录,q就产生了像读?/span> ISOLATION_SERIALIZABLE <span style="font-family: 宋体; ">能避免这L情况发生。但是这样也耗费了最大的资源?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: #ff6600; ">getPropagationBehavior</span> () <span style="font-family: 宋体; ">q回事务的传播行为,由是否有一个活动的事务来决定一个事务调用?/span> <span style="font-family: 宋体; ">?/span> TransactionDefinition <span style="font-family: 宋体; ">接口中定义了七个事务传播行ؓQ?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">PROPAGATION_REQUIRED</span> <span style="font-family: 宋体; ">如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务?/span> <span style="font-family: 宋体; ">使用</span> spring <span style="font-family: 宋体; ">声明式事务,</span> spring <span style="font-family: 宋体; ">使用</span> AOP <span style="font-family: 宋体; ">来支持声明式事务Q会Ҏ事务属性,自动在方法调用之前决定是否开启一个事务,q在Ҏ执行之后军_事务提交或回滚事务?/span> <span style="font-family: 宋体; ">单独调用</span> methodB <span style="font-family: 宋体; ">Ҏ</span> <span style="font-family: 宋体; ">相当?/span> Spring <span style="font-family: 宋体; ">保证?/span> methodB <span style="font-family: 宋体; ">Ҏ中所有的调用都获得到一个相同的q接。在调用</span> methodB <span style="font-family: 宋体; ">Ӟ没有一个存在的事务Q所以获得一个新的连接,开启了一个新的事务?/span> <span style="font-family: 宋体; ">单独调用</span> MethodA <span style="font-family: 宋体; ">Ӟ?/span> MethodA <span style="font-family: 宋体; ">内又会调?/span> MethodB. <span style="font-family: 宋体; ">执行效果相当?/span> <span style="font-family: 宋体; ">调用</span> MethodA <span style="font-family: 宋体; ">Ӟ环境中没有事务,所以开启一个新的事?/span> . <span style="font-family: 宋体; ">当在</span> MethodA <span style="font-family: 宋体; ">中调?/span>MethodB <span style="font-family: 宋体; ">Ӟ环境中已l有了一个事务,所?/span> methodB <span style="font-family: 宋体; ">加入当前事务?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">PROPAGATION_SUPPORTS</span> <span style="font-family: 宋体; ">如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。但是对于事务同步的事务理器,</span> PROPAGATION_SUPPORTS <span style="font-family: 宋体; ">与不使用事务有少怸同?/span> <span style="font-family: 宋体; ">单纯的调?/span> methodB <span style="font-family: 宋体; ">Ӟ</span> methodB <span style="font-family: 宋体; ">Ҏ是非事务的执行的?/span> <span style="font-family: 宋体; ">当调?/span> methdA<span style="font-family: 宋体; ">?/span> ,methodB <span style="font-family: 宋体; ">则加入了</span> methodA <span style="font-family: 宋体; ">的事务中</span> , <span style="font-family: 宋体; ">事务地执行?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">PROPAGATION_MANDATORY</span> <span style="font-family: 宋体; ">如果已经存在一个事务,支持当前事务。如果没有一个活动的事务Q则抛出异常?/span> <span style="font-family: 宋体; ">当单独调?/span> methodB <span style="font-family: 宋体; ">Ӟ因ؓ当前没有一个活动的事务Q则会抛出异?/span> throw new IllegalTransactionStateException("Transaction propagation ''mandatory'' but no existing transaction found"); <span style="font-family: 宋体; ">当调?/span> methodA <span style="font-family: 宋体; ">Ӟ</span> methodB <span style="font-family: 宋体; ">则加入到</span> methodA <span style="font-family: 宋体; ">的事务中Q事务地执行?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">PROPAGATION_REQUIRES_NEW</span> <span style="font-family: 宋体; ">L开启一个新的事务。如果一个事务已l存在,则将q个存在的事务挂赗?/span> <span style="font-family: 宋体; ">当单独调?/span> methodB <span style="font-family: 宋体; ">Ӟ相当于把</span> methodb <span style="font-family: 宋体; ">声明?/span> REQUIRED <span style="font-family: 宋体; ">。开启一个新的事务,事务地执行?/span> <span style="font-family: 宋体; ">当调?/span> methodA <span style="font-family: 宋体; ">?/span> <span style="font-family: 宋体; ">情况有些大不一?/span> . <span style="font-family: 宋体; ">相当于下面的效果?/span> <span style="font-family: 宋体; ">在这里,我把</span> ts1 <span style="font-family: 宋体; ">UCؓ外层事务Q?/span> ts2 <span style="font-family: 宋体; ">UCؓ内层事务。从上面的代码可以看出,</span> ts2 <span style="font-family: 宋体; ">?/span>ts1 <span style="font-family: 宋体; ">是两个独立的事务Q互不相qӀ?/span> Ts2 <span style="font-family: 宋体; ">是否成功q不依赖?/span> ts1 <span style="font-family: 宋体; ">。如?/span> methodA <span style="font-family: 宋体; ">Ҏ在调?/span> methodB <span style="font-family: 宋体; ">Ҏ后的</span> doSomeThingB <span style="font-family: 宋体; ">Ҏp|了,?/span> methodB <span style="font-family: 宋体; ">Ҏ所做的l果依然被提交。而除?/span> methodB <span style="font-family: 宋体; ">之外的其它代码导致的l果却被回滚了?/span> <span style="font-family: 宋体; ">使用</span>PROPAGATION_REQUIRES_NEW, <span style="font-family: 宋体; ">需要?/span> JtaTransactionManager <span style="font-family: 宋体; ">作ؓ事务理器?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">PROPAGATION_NOT_SUPPORTED</span> <span style="font-family: 宋体; ">L非事务地执行Qƈ挂vM存在的事务?/span> <span style="font-family: 宋体; ">当单独调?/span> methodB <span style="font-family: 宋体; ">Ӟ不启用Q何事务机Ӟ非事务地执行?/span> <span style="font-family: 宋体; ">当调?/span> methodA <span style="font-family: 宋体; ">Ӟ相当于下面的效果</span> <span style="font-family: 宋体; ">使用</span> PROPAGATION_NOT_SUPPORTED, <span style="font-family: 宋体; ">也需要?/span> JtaTransactionManager <span style="font-family: 宋体; ">作ؓ事务理器?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">PROPAGATION_NEVER</span> <span style="font-family: 宋体; ">L非事务地执行Q如果存在一个活动事务,则抛出异?/span> <span style="font-family: 宋体; ">单独调用</span>methodB <span style="font-family: 宋体; ">Q则非事务的执行?/span> <span style="font-family: 宋体; ">调用</span> methodA <span style="font-family: 宋体; ">则会抛出异常</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 21pt; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-indent: -21pt; "><span style="font-family: Wingdings; ">l<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">         </span></span><span style="color: #ff6600; ">PROPAGATION_NESTED</span> <span style="font-family: 宋体; ">如果一个活动的事务存在Q则q行在一个嵌套的事务?/span> . <span style="font-family: 宋体; ">如果没有zd事务</span> , <span style="font-family: 宋体; ">则按</span> TransactionDefinition.PROPAGATION_REQUIRED <span style="font-family: 宋体; ">属性执?/span> <span style="font-family: 宋体; ">q是一个嵌套事?/span> , <span style="font-family: 宋体; ">使用</span> JDBC 3.0 <span style="font-family: 宋体; ">驱动?/span> , <span style="font-family: 宋体; ">仅仅支持</span> DataSourceTransactionManager <span style="font-family: 宋体; ">作ؓ事务理器。需?/span> JDBC <span style="font-family: 宋体; ">驱动?/span> java.sql.Savepoint <span style="font-family: 宋体; ">cR有一?/span> JTA <span style="font-family: 宋体; ">的事务管理器实现可能也提供了同样的功能?/span> <span style="font-family: 宋体; ">使用</span> PROPAGATION_NESTED <span style="font-family: 宋体; ">Q还需要把</span> PlatformTransactionManager <span style="font-family: 宋体; ">?/span>nestedTransactionAllowed <span style="font-family: 宋体; ">属性设?/span> true; <span style="font-family: 宋体; ">?/span> nestedTransactionAllowed <span style="font-family: 宋体; ">属性值默认ؓ</span>false; <span style="font-family: 宋体; ">如果单独调用</span> methodB <span style="font-family: 宋体; ">ҎQ则?/span> REQUIRED <span style="font-family: 宋体; ">属性执行?/span> <span style="font-family: 宋体; ">如果调用</span> methodA <span style="font-family: 宋体; ">ҎQ相当于下面的效?/span> <span style="font-family: 宋体; ">?/span> methodB <span style="font-family: 宋体; ">Ҏ调用之前Q调?/span> setSavepoint <span style="font-family: 宋体; ">ҎQ保存当前的状态到</span> savepoint <span style="font-family: 宋体; ">。如?/span> methodB <span style="font-family: 宋体; ">Ҏ调用p|Q则恢复C前保存的状态。但是需要注意的是,q时的事务ƈ没有q行提交Q如果后l的代码</span> (doSomeThingB() <span style="font-family: 宋体; ">Ҏ</span> ) <span style="font-family: 宋体; ">调用p|Q则回滚包括</span> methodB <span style="font-family: 宋体; ">Ҏ的所有操作?/span> <span style="font-family: 宋体; ">嵌套事务一个非帔R要的概念是内层事务依赖于外层事务。外层事务失败时Q会回滚内层事务所做的动作。而内层事务操作失败ƈ不会引v外层事务的回滚?/span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="color: red; ">PROPAGATION_NESTED </span><span style="font-family: 宋体; color: red; ">?/span> <span style="color: red; ">PROPAGATION_REQUIRES_NEW</span> <span style="font-family: 宋体; color: red; ">的区别:</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "> </p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><span style="font-family: 宋体; ">它们非常cM</span> , <span style="font-family: 宋体; ">都像一个嵌套事务,如果不存在一个活动的事务Q都会开启一个新的事务。?/span>PROPAGATION_REQUIRES_NEW <span style="font-family: 宋体; ">Ӟ内层事务与外层事务就像两个独立的事务一P一旦内层事务进行了提交后,外层事务不能对其q行回滚。两个事务互不媄响。两个事务这是一个真正的嵌套事务。同时它需?/span> JTA <span style="font-family: 宋体; ">事务理器的支持?/span> <span style="font-family: 宋体; ">使用</span> PROPAGATION_NESTED <span style="font-family: 宋体; ">Ӟ外层事务的回滚可以引起内层事务的回滚。而内层事务的异常q不会导致外层事务的回滚Q它是一个真正的嵌套事务?/span> DataSourceTransactionManager <span style="font-family: 宋体; ">使用</span> savepoint <span style="font-family: 宋体; ">支持</span>PROPAGATION_NESTED <span style="font-family: 宋体; ">Ӟ需?/span> JDBC 3.0 <span style="font-family: 宋体; ">以上驱动?/span> 1.4 <span style="font-family: 宋体; ">以上?/span> JDK <span style="font-family: 宋体; ">版本支持。其它的</span>JTA TrasactionManager <span style="font-family: 宋体; ">实现可能有不同的支持方式?/span> PROPAGATION_REQUIRED <span style="font-family: 宋体; ">应该是我们首先的事务传播行ؓ。它能够满我们大多数的事务需求?/span></p></span></div><img src ="http://www.aygfsteel.com/jianyue/aggbug/365092.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jianyue/" target="_blank">Qzi</a> 2011-11-29 10:25 <a href="http://www.aygfsteel.com/jianyue/archive/2011/11/29/365092.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>maven 概念与实?phase, goal, pluginhttp://www.aygfsteel.com/jianyue/archive/2011/09/22/359233.htmlQziQziThu, 22 Sep 2011 02:01:00 GMThttp://www.aygfsteel.com/jianyue/archive/2011/09/22/359233.htmlhttp://www.aygfsteel.com/jianyue/comments/359233.htmlhttp://www.aygfsteel.com/jianyue/archive/2011/09/22/359233.html#Feedback0http://www.aygfsteel.com/jianyue/comments/commentRss/359233.htmlhttp://www.aygfsteel.com/jianyue/services/trackbacks/359233.htmlhttp://blog.csdn.net/bluishglc/article/details/6632280 
一。Maven的执行方?br />
mavenҎ?build)的过E进行了抽象和定义,q个q程被称为构建的生命周期(lifecycle)。生命周?lifecycle)由多个阶D?phase)l成,每个阶段(phase)会挂接一到多个goal。goal是maven里定义Q务的最单元,goal分ؓ两类Q一cLl定phase的,是执行到某个phaseQ那么这个goal׃触发Q另外一cMl定Q就是单独Q务,q就相当于ant里的target?br />
1。以phase来构?br />例如Q?br />mvn clean
mvn compile
mvn test
mvn package
表明maven会执行到某个生命周期(lifecycle)的某个阶D?phase)
q个phase以及它前面所有phasel定的目?goal)都会执行Q?每个phase都会邦定maven默认的goal或者没有goalQ?或者自定义的goal?br />也可以通过传入参数跌(skip)某些phaseQ例如:
mvn install -Dmaven.test.skip=true

1。以goal来构?br />q类是没有l定phase的goalQ但是这cgoal却通常会有个执行前提,是project必须执行到某个phaseQ?br />那么执行q个goalQ其实也会触发maven执行到前提要求的phase?br />例如jetty:run是个非绑定phase的goalQ它的前提是test-compileQ这个前提是由plugin的代码逻辑制定?/span>

/**
 * @goal run
 * @requiresDependencyResolution runtime
 * @execute phase="test-compile"
 * @description Runs jetty6 directly from a maven project
 */
public class Jetty6RunMojo extends AbstractJettyRunMojo
{
    ...
}
二。Maven lifecycle, phase概览
Maven预设了三个Lifecycle Q各包含了下列Phases.
  1. Clean Lifecycle
    • pre-clean
    • clean
    • post-clean
  2. Default Lifecycle
    • validate
    • initialize
    • generate-sources
    • process-sources
    • generate-resources
    • process-resources
    • compile
    • process-classes
    • generate-test-sources
    • process-test-sources
    • process-test-resources
    • test-compile
    • process-test-classes
    • test
    • prepare-package
    • package
    • pre-integration-test
    • integration-test
    • post-integration-test
    • verify
    • install
    • deploy
  3. Site Lifecycle
    • pre-site
    • site
    • post-site
    • site-deploy


Qzi 2011-09-22 10:01 发表评论
]]>
Jave 命o行执?/title><link>http://www.aygfsteel.com/jianyue/archive/2011/09/16/358809.html</link><dc:creator>Qzi</dc:creator><author>Qzi</author><pubDate>Fri, 16 Sep 2011 09:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/jianyue/archive/2011/09/16/358809.html</guid><wfw:comment>http://www.aygfsteel.com/jianyue/comments/358809.html</wfw:comment><comments>http://www.aygfsteel.com/jianyue/archive/2011/09/16/358809.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jianyue/comments/commentRss/358809.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jianyue/services/trackbacks/358809.html</trackback:ping><description><![CDATA[1.Window<br /> <ul> <li>java -classpath .;jar1;jar2 MainClass<br /> 注意: -classpath参数必须放于前面?/li> <li>java -jar jar1<br /> jar包的MANIFEST.MF文g:<br /> <div> <div>Manifest-Version: 1.0</div> <div>Main-Class: com.Main1</div> <div>Class-Path: jar1.jar;jar2.jar<br /> <br /> 注意: 使用-jar参数Q那么主jar包必d有MANIFEST.MF信息Qƈ且指定Main-Class & Class-Path。命令行?classpath参数被忽略<br /> </div> </div> </li> </ul> 2.Linux<br />区别Q?br />目录分隔W由\变成/<br />jar包分隔符?变成:<br /><br />Window试环境是Sun java version "1.6.0_14"<br />其他版本没有验证<img src ="http://www.aygfsteel.com/jianyue/aggbug/358809.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jianyue/" target="_blank">Qzi</a> 2011-09-16 17:10 <a href="http://www.aygfsteel.com/jianyue/archive/2011/09/16/358809.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>maven plugin ?eclipse 目录l构兼容http://www.aygfsteel.com/jianyue/archive/2011/09/16/357210.htmlQziQziFri, 16 Sep 2011 08:59:00 GMThttp://www.aygfsteel.com/jianyue/archive/2011/09/16/357210.htmlhttp://www.aygfsteel.com/jianyue/comments/357210.htmlhttp://www.aygfsteel.com/jianyue/archive/2011/09/16/357210.html#Feedback0http://www.aygfsteel.com/jianyue/comments/commentRss/357210.htmlhttp://www.aygfsteel.com/jianyue/services/trackbacks/357210.htmlhttp://www.devx.com/java/Article/36785/1954

Qzi 2011-09-16 16:59 发表评论
]]>
JAX-WS clienthttp://www.aygfsteel.com/jianyue/archive/2011/09/16/358573.htmlQziQziFri, 16 Sep 2011 08:58:00 GMThttp://www.aygfsteel.com/jianyue/archive/2011/09/16/358573.htmlhttp://www.aygfsteel.com/jianyue/comments/358573.htmlhttp://www.aygfsteel.com/jianyue/archive/2011/09/16/358573.html#Feedback0http://www.aygfsteel.com/jianyue/comments/commentRss/358573.htmlhttp://www.aygfsteel.com/jianyue/services/trackbacks/358573.html1.l定本地接口Q自动生成代理对?br />复制下面链接代码
http://blessht.iteye.com/blog/1105562
// Endpoint Address
String endpointAddress = "http://localhost:8111/helloWorld";
// Add a port to the Service
service.addPort(PORT_NAME, SOAPBinding.SOAP11HTTP_BINDING, endpointAddress);
HelloService hw = service.getPort(HelloService.class);


Qzi 2011-09-16 16:58 发表评论
]]>
Java add http & https proxy(Fiddler)http://www.aygfsteel.com/jianyue/archive/2011/09/16/358541.htmlQziQziFri, 16 Sep 2011 08:58:00 GMThttp://www.aygfsteel.com/jianyue/archive/2011/09/16/358541.htmlhttp://www.aygfsteel.com/jianyue/comments/358541.htmlhttp://www.aygfsteel.com/jianyue/archive/2011/09/16/358541.html#Feedback0http://www.aygfsteel.com/jianyue/comments/commentRss/358541.htmlhttp://www.aygfsteel.com/jianyue/services/trackbacks/358541.htmljava -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8888

Qzi 2011-09-16 16:58 发表评论
]]>
转蝲: Keytool commandhttp://www.aygfsteel.com/jianyue/archive/2011/09/16/358620.htmlQziQziFri, 16 Sep 2011 08:24:00 GMThttp://www.aygfsteel.com/jianyue/archive/2011/09/16/358620.htmlhttp://www.aygfsteel.com/jianyue/comments/358620.htmlhttp://www.aygfsteel.com/jianyue/archive/2011/09/16/358620.html#Feedback0http://www.aygfsteel.com/jianyue/comments/commentRss/358620.htmlhttp://www.aygfsteel.com/jianyue/services/trackbacks/358620.html

Java Keytool Commands for Creating and Importing

These commands allow you to generate a new Java Keytool keystore file, create a CSR, and import certificates. Any root or intermediate certificates will need to be imported before importing the primary certificate for your domain.

  • Generate a Java keystore and key pair

    keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048

  • Generate a certificate signing request (CSR) for an existing Java keystore

    keytool -certreq -alias mydomain -keystore keystore.jks -file mydomain.csr

  • Import a root or intermediate CA certificate to an existing Java keystore

    keytool -import -trustcacerts -alias root -file Thawte.crt -keystore keystore.jks

  • Import a signed primary certificate to an existing Java keystore

    keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks

  • Generate a keystore and self-signed certificate (see How to Create a Self Signed Certificate using Java Keytool for more info)

    keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048

Java Keytool Commands for Checking

If you need to check the information within a certificate, or Java keystore, use these commands.

  • Check a stand-alone certificate

    keytool -printcert -v -file mydomain.crt

  • Check which certificates are in a Java keystore

    keytool -list -v -keystore keystore.jks

  • Check a particular keystore entry using an alias

    keytool -list -v -keystore keystore.jks -alias mydomain

Other Java Keytool Commands

  • Delete a certificate from a Java Keytool keystore

    keytool -delete -alias mydomain -keystore keystore.jks

  • Change a Java keystore password

    keytool -storepasswd -new new_storepass -keystore keystore.jks

  • Export a certificate from a keystore

    keytool -export -alias mydomain -file mydomain.crt -keystore keystore.jks

  • List Trusted CA Certs

    keytool -list -v -keystore $JAVA_HOME/jre/lib/security/cacerts

  • Import New CA into Trusted Certs

    keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore $JAVA_HOME/jre/lib/security/cacerts



Qzi 2011-09-16 16:24 发表评论
]]>
htm的tooltiphttp://www.aygfsteel.com/jianyue/archive/2010/05/28/322159.htmlQziQziFri, 28 May 2010 08:31:00 GMThttp://www.aygfsteel.com/jianyue/archive/2010/05/28/322159.htmlhttp://www.aygfsteel.com/jianyue/comments/322159.htmlhttp://www.aygfsteel.com/jianyue/archive/2010/05/28/322159.html#Feedback0http://www.aygfsteel.com/jianyue/comments/commentRss/322159.htmlhttp://www.aygfsteel.com/jianyue/services/trackbacks/322159.html

W一U方?适合于全部HTML标签
<acronym title="World Wide Web">
WWW
</acronym>

W二U方?IMG之类的标{?/span>例如:
<img src="#" alt="鼠标UdC方会昄q且未加载图片时也会昄">

W三U方?input之类的标{?/span>例如:
<input type="button" value="定" title="鼠标UdC方会昄q且未加载图片时也会昄">



Qzi 2010-05-28 16:31 发表评论
]]>
վ֩ģ壺 | Ϳ| ʹ| | ξ| | | | ʡ| | | | | | | | | | | ʮ| ɽ| ̨ʡ| | | | ˮ| | ³ľ| | | | | | | | ƽ| | ƽ| ƽ| ɽʡ| Ƥ|