<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Li Guoliang &#187; 其他技术</title>
	<atom:link href="http://liguoliang.com/category/it/feed/" rel="self" type="application/rss+xml" />
	<link>http://liguoliang.com</link>
	<description>ActionScript Flex Java JEE PHP...</description>
	<lastBuildDate>Mon, 21 May 2012 17:04:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Luntbuild: config build schedule using Quartz 使用Quartz配置build安排</title>
		<link>http://liguoliang.com/2012/luntbuild-config-build-schedule-using-quartz/</link>
		<comments>http://liguoliang.com/2012/luntbuild-config-build-schedule-using-quartz/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 13:20:59 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[软件工程]]></category>
		<category><![CDATA[Luntbuild]]></category>
		<category><![CDATA[Luntbuild配置]]></category>
		<category><![CDATA[Quartz]]></category>

		<guid isPermaLink="false">http://liguoliang.com/?p=2338</guid>
		<description><![CDATA[Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along sidevirtually any Java EE or Java SE applicat<p class='read-more'><a href='http://liguoliang.com/2012/luntbuild-config-build-schedule-using-quartz/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[</p>
<blockquote><p>Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side<br />virtually any Java EE or Java SE application &#8211; from the smallest stand-alone application to the largest<br />e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds,<br />or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that are<br />programmed to fulfill the requirements of your application. The Quartz Scheduler includes many<br />enterprise-class features, such as JTA transactions and clustering.</p>
</blockquote>
<p>Many organization and frameworks are using Quartz, Jboss, Spring, and Luntbuild, Quartz Scheduler is licensed under the Apache License, Version 2.0 <a href="http://www.quartz-scheduler.org/overview/license-and-copyright">http://www.quartz-scheduler.org/overview/license-and-copyright</a></p>
<p>And here is a introduction of CronTrigger: <a href="http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger">http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger</a></p>
<p>&nbsp;</p>
<p>How to set the cron expression in Luntbuild: <a href="http://luntbuild.javaforge.com/manual/guide/ch14s02.html">http://luntbuild.javaforge.com/manual/guide/ch14s02.html</a></p>
<hr />
<p>&nbsp;</p>
<p>Here are some full examples:<br />
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="200">
<p>**Expression**</p>
</td>
<td valign="top">
<p>**Meaning**</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 0 12 * * ?</p>
</td>
<td valign="top">
<p>Fire at 12pm (noon) every day</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 ? * *</p>
</td>
<td valign="top">
<p>Fire at 10:15am every day</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 * * ?</p>
</td>
<td valign="top">
<p>Fire at 10:15am every day</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 * * ? *</p>
</td>
<td valign="top">
<p>Fire at 10:15am every day</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 * * ? 2005</p>
</td>
<td valign="top">
<p>Fire at 10:15am every day during the year 2005</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 * 14 * * ?</p>
</td>
<td valign="top">
<p>Fire every minute starting at 2pm and ending at 2:59pm, every day</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 0/5 14 * * ?</p>
</td>
<td valign="top">
<p>Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 0/5 14,18 * * ?</p>
</td>
<td valign="top">
<p>Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 0-5 14 * * ?</p>
</td>
<td valign="top">
<p>Fire every minute starting at 2pm and ending at 2:05pm, every day</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 10,44 14 ? 3 WED</p>
</td>
<td valign="top">
<p>Fire at 2:10pm and at 2:44pm every Wednesday in the month of March.</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 ? * MON-FRI</p>
</td>
<td valign="top">
<p>Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 15 * ?</p>
</td>
<td valign="top">
<p>Fire at 10:15am on the 15th day of every month</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 L * ?</p>
</td>
<td valign="top">
<p>Fire at 10:15am on the last day of every month</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 L-2 * ?</p>
</td>
<td valign="top">
<p>Fire at 10:15am on the 2nd-to-last last day of every month</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 ? * 6L</p>
</td>
<td valign="top">
<p>Fire at 10:15am on the last Friday of every month</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 ? * 6L</p>
</td>
<td valign="top">
<p>Fire at 10:15am on the last Friday of every month</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 ? * 6L 2002-2005</p>
</td>
<td valign="top">
<p>Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 15 10 ? * 6#3</p>
</td>
<td valign="top">
<p>Fire at 10:15am on the third Friday of every month</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 0 12 1/5 * ?</p>
</td>
<td valign="top">
<p>Fire at 12pm (noon) every 5 days every month, starting on the first day of the month.</p>
</td>
</tr>
<tr>
<td valign="top">
<p>0 11 11 11 11 ?</p>
</td>
<td valign="top">
<p>Fire every November 11th at 11:11am.</p>
</td>
</tr>
</tbody>
</table>
<p>Pay attention to the effects of &#8216;?&#8217; and &#8216;*&#8217; in the day-of-week and day-of-month fields!</p>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2012/luntbuild-config-build-schedule-using-quartz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Date and Time in Ant 在Ant中使用日期及时间</title>
		<link>http://liguoliang.com/2012/using-date-and-time-in-ant-%e5%9c%a8ant%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%97%a5%e6%9c%9f%e5%8f%8a%e6%97%b6%e9%97%b4/</link>
		<comments>http://liguoliang.com/2012/using-date-and-time-in-ant-%e5%9c%a8ant%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%97%a5%e6%9c%9f%e5%8f%8a%e6%97%b6%e9%97%b4/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 15:08:28 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[软件工程]]></category>
		<category><![CDATA[ANT]]></category>

		<guid isPermaLink="false">http://liguoliang.com/?p=2336</guid>
		<description><![CDATA[Example: 
<code>
&#60;tstamp&#62;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;format property="today" pattern="yyyy_MM_dd_HH_mm"/&#038;gt</code><p class='read-more'><a href='http://liguoliang.com/2012/using-date-and-time-in-ant-%e5%9c%a8ant%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%97%a5%e6%9c%9f%e5%8f%8a%e6%97%b6%e9%97%b4/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[<p>Example: </p>
<p><code>
<p>&lt;tstamp&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;format property="today" pattern="yyyy_MM_dd_HH_mm"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tstamp&gt;<br />&lt;echo message="${today}"&gt;&lt;/echo&gt;</p>
<p></code>
<p>&nbsp;</p>
<p>[echo] 2012_03_22_23_00
<p>&nbsp;
<p>Tstamp in Ant manual:</p>
<p><a href="http://ant.apache.org/manual/Tasks/tstamp.html">http://ant.apache.org/manual/Tasks/tstamp.html</a></p>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2012/using-date-and-time-in-ant-%e5%9c%a8ant%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%97%a5%e6%9c%9f%e5%8f%8a%e6%97%b6%e9%97%b4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle: 扩充TableSpace语句</title>
		<link>http://liguoliang.com/2011/oracle-enlarge-tablespace/</link>
		<comments>http://liguoliang.com/2011/oracle-enlarge-tablespace/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 05:31:38 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[DB]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://liguoliang.com/?p=2173</guid>
		<description><![CDATA[Step1: check current status and get all file path
<code>SELECT
B.FILE_NAME FILENAME,
B.TABLESPACE_NAME TABLESPACENAME,
B.BYTES/1024/1024 SIZE_MB,
(B.BYTES-S</code><p class='read-more'><a href='http://liguoliang.com/2011/oracle-enlarge-tablespace/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[<h2>Step1: check current status and get all file path<br />
<code>SELECT<br />
B.FILE_NAME FILENAME,<br />
B.TABLESPACE_NAME TABLESPACENAME,<br />
B.BYTES/1024/1024 SIZE_MB,<br />
(B.BYTES-SUM(NVL(A.BYTES,0)))/1024/1024 USED_MB,<br />
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) Percentage<br />
from dba_free_space a,dba_data_files b<br />
where a.file_id=b.file_id<br />
GROUP BY B.TABLESPACE_NAME,B.FILE_NAME,B.BYTES<br />
order by b.tablespace_name;</code></h2>
<h2>Step2: enlarge table space file<br />
<code>alter database datafile 'C:\ORACLEXE\APP\ORACLE\ORADATA\XX\USERS.DBF' resize 2000m;</code></h2>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2011/oracle-enlarge-tablespace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle SQLs: Get system date; count user tables. etc,.</title>
		<link>http://liguoliang.com/2011/oracle-sqls-get-system-date-cotal-user-tables-etc/</link>
		<comments>http://liguoliang.com/2011/oracle-sqls-get-system-date-cotal-user-tables-etc/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 11:32:35 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[DB]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Select system date]]></category>

		<guid isPermaLink="false">http://liguoliang.com/?p=2119</guid>
		<description><![CDATA[Get system date
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual; -- Get the formatted system date.
select sysdate from dual; -- Get date
Co<p class='read-more'><a href='http://liguoliang.com/2011/oracle-sqls-get-system-date-cotal-user-tables-etc/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[<h2>Get system date</h2>
<pre>select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual; -- Get the formatted system date.
select sysdate from dual; -- Get date</pre>
<h2>Count user tables:</h2>
<pre>SELECT OWNER,COUNT(*) FROM ALL_TABLES GROUP BY OWNER;  -- List all user and table number they own;

select count(*) from dba_tables t where t.owner='NAME'; -- Count tables of user with the name of "NAME"
select count(table_name) from user_tables; -- Count tables of current user;</pre>
<p>&nbsp;</p>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2011/oracle-sqls-get-system-date-cotal-user-tables-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle SQL Developper cannot show connections view/cannot create new connection</title>
		<link>http://liguoliang.com/2011/oracle-sql-developper-cannot-show-connections-viewcannot-create-new-connection/</link>
		<comments>http://liguoliang.com/2011/oracle-sql-developper-cannot-show-connections-viewcannot-create-new-connection/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 04:44:37 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[DB]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://liguoliang.com/?p=2111</guid>
		<description><![CDATA[I installed Oracle 10g XE and SQL Developper 2 in my PC, they works perfect. Yesterday, I upgrade to 11g r2 XE, after restar my PC, the SQL Developper<p class='read-more'><a href='http://liguoliang.com/2011/oracle-sql-developper-cannot-show-connections-viewcannot-create-new-connection/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[<p>I installed Oracle 10g XE and SQL Developper 2 in my PC, they works perfect. Yesterday, I upgrade to 11g r2 XE, after restar my PC, the SQL Developper 2 cannot work:</p>
<blockquote><p>oracle.dbtools.raptor.timesten.TTAddin<br />
Failed to create addin oracle.dbtools.raptor.report.addin.ReportAddin</p></blockquote>
<p>I removed all data,  but cannot work as before, based on my research, I think it&#8217;s because the SQL Developper is too old.</p>
<p>so I download a new version of SQL Developper, and it works!</p>
<p>For more info about this issue: https://forums.oracle.com/forums/message.jspa?messageID=9491523</p>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2011/oracle-sql-developper-cannot-show-connections-viewcannot-create-new-connection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MediaWiki: &#8220;Save as&#8221; pop up when click &#8220;Create&#8221; or &#8220;Edit&#8221;</title>
		<link>http://liguoliang.com/2011/mediawiki-save-as-pop-up-when-click-create-or-edit/</link>
		<comments>http://liguoliang.com/2011/mediawiki-save-as-pop-up-when-click-create-or-edit/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 14:45:42 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[Group Ware]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[MediaWiki Editor]]></category>

		<guid isPermaLink="false">http://liguoliang.com/?p=2109</guid>
		<description><![CDATA[It&#8217;s really tough for me to use the default editor, so I install a plug-in: FCKEditor.
but as a user, when click &#8220;Edit&#8221; or &#8220;Cr<p class='read-more'><a href='http://liguoliang.com/2011/mediawiki-save-as-pop-up-when-click-create-or-edit/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s really tough for me to use the default editor, so I install a plug-in: FCKEditor.</p>
<p>but as a user, when click &#8220;Edit&#8221; or &#8220;Create&#8221;, &#8220;Save as&#8221; window will pop up, but a guest can create/edit page using the Editor.</p>
<p>After post a discussion on the support desk of MediaWiki: http://www.mediawiki.org/wiki/Project:Support_desk;</p>
<p>the solution is:</p>
<blockquote><p>Disable &#8220;use external editor&#8221; in your preferences.</p>
<p>by <a title="User:MaxSem" href="http://www.mediawiki.org/wiki/User:MaxSem">Max Semenik</a></p></blockquote>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2011/mediawiki-save-as-pop-up-when-click-create-or-edit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perforce: Can&#8217;t clobber writable file Perforce</title>
		<link>http://liguoliang.com/2011/perforce-cant-clobber-writable-file-perforce/</link>
		<comments>http://liguoliang.com/2011/perforce-cant-clobber-writable-file-perforce/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 13:08:23 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[软件工程]]></category>
		<category><![CDATA[Perforce]]></category>
		<category><![CDATA[Version Control]]></category>

		<guid isPermaLink="false">http://liguoliang.com/2011/perforce-cant-clobber-writable-file-perforce/</guid>
		<description><![CDATA[We are using Perforce for version control, I never use it before, and I got my perforce account those days. When I want update form the dept, perforce<p class='read-more'><a href='http://liguoliang.com/2011/perforce-cant-clobber-writable-file-perforce/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[<p>We are using Perforce for version control, I never use it before, and I got my perforce account those days. When I want update form the dept, perforce gave the following error:</p>
<blockquote><p>Can’t clobber writable file Perforce</p>
</blockquote>
<p>Here is the solution:</p>
<blockquote><p>“A workaround is to stop perforce from making the files read-only on submit. This can be accomplished by changing the Client Specification and setting the &#8220;allwrite&#8221; flag. This way the files never go to readonly mode and you should be able to write to it always.”</p>
</blockquote>
<p><a href="http://www.factsandpeople.com/facts-mainmenu-5/23-other-software-technologies/75-perforce-error-cant-clobber-writable-file">&gt;&gt;See more&lt;&lt;</a></p>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2011/perforce-cant-clobber-writable-file-perforce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>修改Oracle 10g XE WEB服务器端口  &#8211; Modify the Oracle XE web console server port</title>
		<link>http://liguoliang.com/2011/%e4%bf%ae%e6%94%b9oracle-10g-xe-web%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%ab%af%e5%8f%a3-modify-the-oracle-xe-web-console-server-port/</link>
		<comments>http://liguoliang.com/2011/%e4%bf%ae%e6%94%b9oracle-10g-xe-web%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%ab%af%e5%8f%a3-modify-the-oracle-xe-web-console-server-port/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 05:06:43 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[DB]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle 端口]]></category>

		<guid isPermaLink="false">http://liguoliang.com/?p=2081</guid>
		<description><![CDATA[we need to change one port when using Oracle 10g XE and Tomcat/JBoss, because they all use the 8080 port.
It&#8217;s very easy to change the web serve<p class='read-more'><a href='http://liguoliang.com/2011/%e4%bf%ae%e6%94%b9oracle-10g-xe-web%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%ab%af%e5%8f%a3-modify-the-oracle-xe-web-console-server-port/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[<p>we need to change one port when using Oracle 10g XE and Tomcat/JBoss, because they all use the 8080 port.<br />
It&#8217;s very easy to change the web server port, just need to update some config xml file.<br />
For Oracle, we just need to execute a SQL:</p>
<p>After connect to the server as sys admin, execute the following SQL:<br />
begin<br />
   dbms_xdb.sethttpport(&#8217;8888&#8242;);<br />
end;<br />
/  </p>
<p>The port will be updated to 8888, no need to restart the oracle service.</p>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2011/%e4%bf%ae%e6%94%b9oracle-10g-xe-web%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%ab%af%e5%8f%a3-modify-the-oracle-xe-web-console-server-port/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GAE Query Filter, Sort, Limit, Paging</title>
		<link>http://liguoliang.com/2011/gae-query-filter-sort-limit-paging/</link>
		<comments>http://liguoliang.com/2011/gae-query-filter-sort-limit-paging/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 14:37:48 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[云计算, 高科技啊]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[GAE Paging]]></category>
		<category><![CDATA[GAE query filter sort]]></category>
		<category><![CDATA[GAE select limit]]></category>
		<category><![CDATA[Google App Engine]]></category>

		<guid isPermaLink="false">http://liguoliang.com/2011/gae-query-filter-sort-limit-paging/</guid>
		<description><![CDATA[GAE关于Java的资料这是不多, 而且多数都要翻墙, 昨晚做个分页, 差点累死啊!
闲言碎语不多说, 上代码:
DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();
		Query qu<p class='read-more'><a href='http://liguoliang.com/2011/gae-query-filter-sort-limit-paging/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[<p>GAE关于Java的资料这是不多, 而且多数都要翻墙, 昨晚做个分页, 差点累死啊!</p>
<p>闲言碎语不多说, 上代码:</p>
<pre class="java" name="code">DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();
		Query query = new Query("User");
		query.addFilter("name", FilterOperator.NOT_EQUAL, "<null>"); // 设置Filter
		query.addSort("name", SortDirection.ASCENDING); // 要设置Sort, 则Filter的Attribute必须Sort, 且要放在其他Sort之前(Attribute要Index)
		query.addSort("ip", SortDirection.DESCENDING); // 设置Sort, 要在Filter对应Attribute的Sort之后
		PreparedQuery pq = datastoreService.prepare(query);
		List<entity> listUsers = pq.asList(FetchOptions.Builder.withLimit(2)); // 设置Limit
</pre>
<h5><font style="font-weight: bold"></font>&nbsp;</h5>
<h5><font style="font-weight: bold">Properties in Inequality Filters Must Be Sorted before Other Sort Orders</font></h5>
<p>If a query has both a filter with an inequality comparison and one or more sort orders, the query must include a sort order for the property used in the inequality, and the sort order must appear <i>before</i> sort orders on other properties. </p>
<p>This query is <i>not</i> valid, because it uses an inequality filter and does not order by the filtered property; </p>
<p>文档: <a href="http://code.google.com/appengine/docs/java/datastore/queries.html#Restrictions_on_Queries">http://code.google.com/appengine/docs/java/datastore/queries.html#Restrictions_on_Queries</a> </p>
<p>翻不了墙的同学可以看这个 &#8211; 主要是分页:&nbsp;
<pre class="java" name="code">import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.appengine.api.datastore.Cursor;
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.FetchOptions;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.appengine.api.datastore.Query;
import com.google.appengine.api.datastore.QueryResultList;

public class ListPeopleServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
          throws ServletException, IOException {

        DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
        Query q = new Query("Person");
        PreparedQuery pq = datastore.prepare(q);
        int pageSize = 15;

        resp.setContentType("text/html");
        resp.getWriter().println("
<ul>");

        FetchOptions fetchOptions = FetchOptions.Builder.withLimit(pageSize);
        String startCursor = req.getParameter("cursor");

        // If this servlet is passed a cursor parameter, let's use it
        if (startCursor != null) {
            fetchOptions.startCursor(Cursor.fromWebSafeString(startCursor));
        }

        QueryResultList<entity> results = pq.asQueryResultList(fetchOptions);
        for (Entity entity : results) {
            resp.getWriter().println("
<li>" + entity.getProperty("name") + "");
        }
        resp.getWriter().println("</li>
</ul>

");

        String cursor = results.getCursor().toWebSafeString();

        // Assuming this servlet lives at '/people'
        resp.getWriter().println(
            "<a href="/people?cursor=&quot; + cursor + &quot;">Next page</a>");
    }
}
</pre>
<p>&nbsp;</p>
<p>关于分页的另一篇:</p>
<h3><a href="http://doganberktas.com/2010/08/12/implementing-paging-on-google-app-engine-java-gaej-and-gwt-the-query-cursor-way/" target="_blank">Implementing Paging on Google App Engine Java (gae/j) and GWT — the query cursor way</a></h3>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2011/gae-query-filter-sort-limit-paging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google app engine 设置Cron Jobs GAE设置定时任务(Java版)</title>
		<link>http://liguoliang.com/2011/gae-set-cron-jobs-java/</link>
		<comments>http://liguoliang.com/2011/gae-set-cron-jobs-java/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 13:24:53 +0000</pubDate>
		<dc:creator>Guoliang</dc:creator>
				<category><![CDATA[云计算, 高科技啊]]></category>
		<category><![CDATA[Cron Jobs]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[Google App Engine]]></category>

		<guid isPermaLink="false">http://liguoliang.com/2011/gae-set-cron-jobs-java/</guid>
		<description><![CDATA[GAE的 Cron Job是通过配置文件实现的 &#8211; &#8220;Cron jobs are defined in <code>cron.yaml</code> (Python) or <code>cron.xml</code> (Java)&#8221;
Java版的cron.xml配置文件位于WEB-INFO目录下(位置同web.xm<p class='read-more'><a href='http://liguoliang.com/2011/gae-set-cron-jobs-java/'>More...</a></p><p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></description>
			<content:encoded><![CDATA[<p>GAE的 Cron Job是通过配置文件实现的 &#8211; &#8220;Cron jobs are defined in <code>cron.yaml</code> (Python) or <code>cron.xml</code> (Java)&#8221;</p>
<p>Java版的cron.xml配置文件位于WEB-INFO目录下(位置同web.xml), 典型的一个:</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />&lt;cronentries&gt;<br />&nbsp; &lt;cron&gt;<br />&nbsp;&nbsp;&nbsp; &lt;url&gt;/GetIPLocation&lt;/url&gt;<br />&nbsp;&nbsp;&nbsp; &lt;description&gt;get the ip location by api every 2 minutes&lt;/description&gt;<br />&nbsp;&nbsp;&nbsp; &lt;schedule&gt;every 2 minutes&lt;/schedule&gt;<br />&nbsp; &lt;/cron&gt;<br />&lt;/cronentries&gt;</p>
<p>该任务每两分钟执行一次, GepIPLocation是一个Servlet.</p>
<p>时间格式举例:</p>
<p>every 12 hours<br />every 5 minutes from 10:00 to 14:00<br />2nd,third mon,wed,thu of march 17:00<br />every monday 09:00<br />1st monday of sep,oct,nov 17:00<br />every day 00:00</p>
<p>API地址: <a href="http://code.google.com/appengine/docs/java/config/cron.html">http://code.google.com/appengine/docs/java/config/cron.html</a> (可能需要翻墙)</p>
<p><p>

----------Post from: <a href="http://liguoliang.com">@LiGuoliang.com, 欢迎回来~</a>----------</p></p>
]]></content:encoded>
			<wfw:commentRss>http://liguoliang.com/2011/gae-set-cron-jobs-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

