<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[安道生網站技術練功房 - Hottest forum topics]]></title>
		<link>http://www.andowson.com/hottestTopics/list.page</link>
		<description><![CDATA[The hottest discussed topics in the entire board]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>今天考過了SCJP 6</title>
				<description><![CDATA[ 我是聽說考式方式還是考題最近會更改<br /> 不曉得確切時間是什麼時候<br /> ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/262/803.page</guid>
				<link>http://www.andowson.com/posts/preList/262/803.page</link>
				<pubDate><![CDATA[Wed, 14 Apr 2010 10:47:53]]> GMT</pubDate>
				<author><![CDATA[ stalin]]></author>
			</item>
			<item>
				<title>JSP精選實用範例(二):檔案上傳</title>
				<description><![CDATA[ 實際測試上傳一個1GB多的檔案，確實會出現Read timed out的結果:<br /> [code=plain]So far, 1069001476 of 1073742116 bytes have been read.<br /> We are currently reading item 1<br /> So far, 1070000168 of 1073742116 bytes have been read.<br /> We are currently reading item 1<br /> So far, 1071002992 of 1073742116 bytes have been read.<br /> We are currently reading item 1<br /> So far, 1072001684 of 1073742116 bytes have been read.<br /> We are currently reading item 1<br /> So far, 1073000376 of 1073742116 bytes have been read.<br /> 一月 16, 2012 2:25:28 上午 org.apache.catalina.core.StandardWrapperValve invoke<br /> 嚴重: Servlet.service() for servlet [jsp] in context with path [] threw exception [An exception occurred processing JSP page /fileupload_streaming.jsp at line 65<br /> <br /> 62:                 File uploadedFile = new File(saveDirectory, fileName);<br /> 63:                 FileOutputStream uploadedFileStream =<br /> 64:                     new FileOutputStream(uploadedFile);<br /> 65:                 Streams.copy(stream, uploadedFileStream, true);<br /> 66:             }<br /> 67:         }<br /> 68:     }<br /> <br /> <br /> Stacktrace:] with root cause<br /> java.net.SocketTimeoutException: Read timed out<br />         at java.net.SocketInputStream.socketRead0(Native Method)<br />         at java.net.SocketInputStream.read(Unknown Source)<br />         at java.net.SocketInputStream.read(Unknown Source)<br />         at org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:309)<br />         at org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:364)<br />         at org.apache.coyote.ajp.AjpProcessor.receive(AjpProcessor.java:331)<br />         at org.apache.coyote.ajp.AbstractAjpProcessor.refillReadBuffer(AbstractAjpProcessor.java:576)<br />         at org.apache.coyote.ajp.AbstractAjpProcessor$SocketInputBuffer.doRead(AbstractAjpProcessor.java:1027)<br />         at org.apache.coyote.Request.doRead(Request.java:422)<br />         at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:290)<br />         at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:429)<br />         at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:315)<br />         at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:200)<br />         at org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:976)<br />         at org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:886)<br />         at java.io.InputStream.read(Unknown Source)<br />         at org.apache.commons.fileupload.util.Streams.copy(Streams.java:96)<br />         at org.apache.commons.fileupload.util.Streams.copy(Streams.java:66)<br />         at org.apache.jsp.fileupload_005fstreaming_jsp._jspService(fileupload_005fstreaming_jsp.java:125)<br />         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)<br />         at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)<br />         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)<br />         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)<br />         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)<br />         at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)<br />         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)<br />         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)<br />         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)<br />         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)<br />         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)<br />         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)<br />         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)<br />         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)<br />         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)<br />         at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:333)<br />         at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:219)<br />         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)<br />         at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)<br />         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)<br />         at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)<br />         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)<br />         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)<br />         at java.lang.Thread.run(Unknown Source)[/code]<br /> [quote]HTTP Status 500 -<br /> <br /> type Exception report<br /> <br /> message<br /> <br /> description The server encountered an internal error () that prevented it from fulfilling this request.<br /> <br /> exception<br /> <br /> org.apache.jasper.JasperException: An exception occurred processing JSP page /fileupload_streaming.jsp at line 65<br /> <br /> 62:                 File uploadedFile = new File(saveDirectory, fileName);<br /> 63:                 FileOutputStream uploadedFileStream = <br /> 64:                     new FileOutputStream(uploadedFile);<br /> 65:                 Streams.copy(stream, uploadedFileStream, true);<br /> 66:             }<br /> 67:         }<br /> 68:     }              <br /> <br /> <br /> Stacktrace:<br /> 	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)<br /> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:460)<br /> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)<br /> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)<br /> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)<br /> root cause<br /> <br /> java.net.SocketTimeoutException: Read timed out<br /> 	java.net.SocketInputStream.socketRead0(Native Method)<br /> 	java.net.SocketInputStream.read(Unknown Source)<br /> 	java.net.SocketInputStream.read(Unknown Source)<br /> 	org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:309)<br /> 	org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:364)<br /> 	org.apache.coyote.ajp.AjpProcessor.receive(AjpProcessor.java:331)<br /> 	org.apache.coyote.ajp.AbstractAjpProcessor.refillReadBuffer(AbstractAjpProcessor.java:576)<br /> 	org.apache.coyote.ajp.AbstractAjpProcessor$SocketInputBuffer.doRead(AbstractAjpProcessor.java:1027)<br /> 	org.apache.coyote.Request.doRead(Request.java:422)<br /> 	org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:290)<br /> 	org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:429)<br /> 	org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:315)<br /> 	org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:200)<br /> 	org.apache.commons.fileupload.MultipartStream$ItemInputStream.makeAvailable(MultipartStream.java:976)<br /> 	org.apache.commons.fileupload.MultipartStream$ItemInputStream.read(MultipartStream.java:886)<br /> 	java.io.InputStream.read(Unknown Source)<br /> 	org.apache.commons.fileupload.util.Streams.copy(Streams.java:96)<br /> 	org.apache.commons.fileupload.util.Streams.copy(Streams.java:66)<br /> 	org.apache.jsp.fileupload_005fstreaming_jsp._jspService(fileupload_005fstreaming_jsp.java:125)<br /> 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)<br /> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)<br /> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)<br /> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)<br /> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)<br /> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)<br /> note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.<br /> <br /> Apache Tomcat/7.0.23[/quote]<br /> 實際上傳的檔案大小如下:<br /> [code=plain]-rw-r--r-- 1 tomcat tomcat 1073094361 2012-01-16 02:25 ppsds.pgf[/code]<br /> 目前我的web.xml中設定如下:<br /> [code=xml]    &lt;session-config&gt;<br />         &lt;session-timeout&gt;10&lt;/session-timeout&gt;<br />     &lt;/session-config&gt;[/code]<br /> 目前我不確定是否跟session-timeout這個值有關係(10分鐘)，不過整個1GB檔案上傳的時間大約有花半小時以上，您可以試試看調整這個參數再測試看看。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/197/1198.page</guid>
				<link>http://www.andowson.com/posts/preList/197/1198.page</link>
				<pubDate><![CDATA[Mon, 16 Jan 2012 02:36:43]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>安裝Ogg Vorbis Mode 3+ (6771) codec </title>
				<description><![CDATA[ 網路上有些影片聲音部分需要Ogg Vorbis Mode 3+(6771)的codec才能解碼，通常用Windows Media Player可以看到在播放的片名旁邊有個紅X，顯示錯誤訊息如下：<br /> <br /> [quote]You've encountered an error message C00D10D1 while using Windows Media Player. The following information might help you troubleshoot the issue. <br /> <br /> Codec is missing<br /> Windows Media Player cannot play the file (or cannot play either the audio or video portion of the file) because the Ogg Vorbis Mode 3+ (6771) codec is not installed on your computer.<br /> [/quote]<br /> <br /> 經過不斷尋找及實際測試後終於找到了下面這篇文章<br /> [url]http://www.moviecodec.com/topics/6234p1.html[/url]<br /> 裡面提到可在這邊下載及安裝vorbis.acm<br /> [url]http://svn.xiph.org/tags/vorbis/vorbisacm_20020708/[/url]<br /> 在 vorbisacm.inf 按滑鼠右鍵 ，然後選安裝。<br /> 安裝後終於可以聽到聲音了！]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/65/86.page</guid>
				<link>http://www.andowson.com/posts/preList/65/86.page</link>
				<pubDate><![CDATA[Mon, 23 Apr 2007 22:01:01]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>[Windows]Free TFTP Server for Windows</title>
				<description><![CDATA[ 今天為了升級Load Balance Switch的Firmware需要找TFTP Server的軟體，搜尋了一下發現了TFTPD32 是一個免費的TFTP Server軟體工具，由 Philippe Jounin (philippe@jounin.net) 開發，解開後直接點兩下執行檔就可以開始服務了。<br /> 您可直接到[url=http://tftpd32.jounin.net/tftpd32_download.html]http://tftpd32.jounin.net/[/url]網站去下載或是由本站下載附件。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/184/283.page</guid>
				<link>http://www.andowson.com/posts/preList/184/283.page</link>
				<pubDate><![CDATA[Tue, 16 Oct 2007 19:36:44]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>[Windows]如何定時自動備份整個網站目錄到遠端伺服器</title>
				<description><![CDATA[ [quote=andowson]starzine您好:<br /> 我給的範例確實是只能在本機端執行，取得本機端的檔案名稱，而您所需要的是取得遠端檔案伺服器目錄下的檔案清單。<br /> 可以在sftp下執行目錄排序的指令如下(日期最近的會排在上面)<br /> ls -lt<br /> 但接下來可能你會問要如何從psftp將這個指令的結果(目錄內的檔案清單)傳回，好讓我們可以再加以過濾出某個日期範圍內的檔案?<br /> <br /> 你先想一下，好好的想一 下.... :?<br /> <br /> 你不知道，我也不知道， :roll:<br /> 這個問題可能已經超出光靠DOS Batch語法就能完成的事情了。<br /> <br /> 還是再問一次，有沒有可能改為規範遠端檔案伺服器上檔案的命名方式，否則我想就只有老老實實去寫程式來處理會比較快。<br /> <br /> 當問題複雜到一個程度時，還是真得要寫個程式來執行這個任務。(如何寫這個程式我就不在這邊討論，可以參考[url]http://www.andowson.com/posts/list/199.page[/url])<br /> <br /> [/quote]<br /> <br /> [color=darkblue]大大您好：<br /> 謝謝您的指教～<br /> 我想，這的確是有點難，可能需要寫程式來解決...<br /> 我來另外想辦法好了，謝謝您囉！<br /> 有機會再請教！ :lol:[/color]]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/42/1196.page</guid>
				<link>http://www.andowson.com/posts/preList/42/1196.page</link>
				<pubDate><![CDATA[Thu, 12 Jan 2012 11:03:13]]> GMT</pubDate>
				<author><![CDATA[ starzine]]></author>
			</item>
			<item>
				<title>OpenMeetings安裝筆記</title>
				<description><![CDATA[ 恩，试了，不行。我觉得主要问题还是 503 error的问题，我发现我键入任何地址在 <a class="snap_shots" href="http://localhost:5080/openmeetings" target="_blank" rel="nofollow">http://localhost:5080/openmeetings</a> 的后面都是503 error。估计不是openmeetings的问题，在web server这里就有问题了。<br /> ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/318/840.page</guid>
				<link>http://www.andowson.com/posts/preList/318/840.page</link>
				<pubDate><![CDATA[Thu, 3 Jun 2010 23:18:04]]> GMT</pubDate>
				<author><![CDATA[ dingjun]]></author>
			</item>
			<item>
				<title>JSP精選實用範例(三):檔案下載</title>
				<description><![CDATA[ kisskevin524您好：<br /> 我用#11那篇的download.jsp在Windows Vista上跑Tomcat 7.0.12上測試，沒遇到您所說的問題，請再確認一下環境跟您使用的版本。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/198/992.page</guid>
				<link>http://www.andowson.com/posts/preList/198/992.page</link>
				<pubDate><![CDATA[Sat, 23 Apr 2011 09:47:51]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>JDK 6.0 JVM最大記憶體設定</title>
				<description><![CDATA[ 我同意您的觀點，有關JVM參數的調整，我搜尋了一下heap size，發現有幾篇不錯的參考資料<br /> [url=http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp]JVM Tuning[/url]<br />  :!:Xms建議等於Xmx<br />  :!:Xmn要小於Xmx<br />  :!:Heap size 不能決定JVM真正使用記憶體的大小，實際上會更大<br /> Memory usage=Stack Size+Heap Size+Code Size<br />  :!:調整Stack size的參數是Xss<br /> <br /> [url=http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=/com.ibm.websphere.xd.doc/info/odoe_task/todhmmheap.html]Modifying the JVM heap size[/url]<br /> IBM的這篇文章有一些實體記憶體大小對應Heap Size設定的參考數字，最大值大約是實體記憶體的一半左右。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/30/104.page</guid>
				<link>http://www.andowson.com/posts/preList/30/104.page</link>
				<pubDate><![CDATA[Tue, 22 May 2007 08:09:56]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>JSP精選實用範例(四):檔案傳輸</title>
				<description><![CDATA[ SFTP(SSH File Transfer Protocol or FTP over SSH)<br /> <br /> 預先安裝函式庫：[url=http://www.jcraft.com/jsch/]JSch(Java Secure Channel)[/url]<br /> 程式碼：<br /> sftp.jsp:<br /> [code]<br /> &lt;%@ page import="java.io.File"%&gt;<br /> &lt;%@ page import="java.io.FileInputStream"%&gt;<br /> &lt;%@ page import="java.io.FileOutputStream"%&gt;<br /> &lt;%@ page import="java.util.Properties"%&gt;<br /> &lt;%@ page import="java.util.Vector"%&gt;<br /> &lt;%@ page import="com.jcraft.jsch.Channel"%&gt;<br /> &lt;%@ page import="com.jcraft.jsch.ChannelSftp"%&gt;<br /> &lt;%@ page import="com.jcraft.jsch.JSch"%&gt;<br /> &lt;%@ page import="com.jcraft.jsch.Session"%&gt;<br /> &lt;%@ page import="com.jcraft.jsch.ChannelSftp.LsEntry"%&gt;<br /> &lt;%<br /> 	try {<br /> 		String host = &quot;192.168.1.2&quot;;<br /> 		int port = 22;<br /> 		String username = &quot;andowson&quot;;<br /> 		String password = &quot;changeit&quot;;<br /> 		String directory = &quot;/home/andowson/download/&quot;;<br /> 		String uploadFile = &quot;C:\\temp\\upload.txt&quot;;<br /> 		<br /> 		String downloadFile = &quot;C:\\temp\\download.txt&quot;;<br /> 		String deleteFile = &quot;delete.txt&quot;;<br /> 	<br /> 		//<br /> 		// First Create a JSch session<br /> 		//<br /> 		System.out.println(&quot;Creating session.&quot;);<br /> 		JSch jsch = new JSch();<br /> 		ChannelSftp sftp = null;<br /> 	<br /> 		//<br /> 		// Now connect and SFTP to the SFTP Server<br /> 		//<br /> 		try {<br /> 			// Create a session sending through our username and password<br /> 			Session sshSession = jsch.getSession(username, host, port);<br /> 			System.out.println(&quot;Session created.&quot;);<br /> 			sshSession.setPassword(password);<br /> 			// Security.addProvider(new com.sun.crypto.provider.SunJCE());<br /> 	<br /> 			//<br /> 			// Setup Strict HostKeyChecking to no so we don't get the<br /> 			// unknown host key exception<br /> 			//<br /> 			Properties sshConfig = new Properties();<br /> 			sshConfig.put(&quot;StrictHostKeyChecking&quot;, &quot;no&quot;);<br /> 			sshSession.setConfig(sshConfig);<br /> 			sshSession.connect();<br /> 			System.out.println(&quot;Session connected.&quot;);<br /> 	<br /> 			//<br /> 			// Open the SFTP channel<br /> 			//<br /> 			System.out.println(&quot;Opening Channel.&quot;);<br /> 			Channel channel = sshSession.openChannel(&quot;sftp&quot;);<br /> 			channel.connect();<br /> 			sftp = (ChannelSftp) channel;<br /> 			System.out.println(&quot;Connected to &quot; + host + &quot;.&quot;);<br /> 		} catch (Exception e) {<br /> 			System.err.println(&quot;Unable to connect to FTP server.&quot; + e.toString());<br /> 			throw e;<br /> 		}<br /> 	<br /> 		//<br /> 		// Change to the remote directory<br /> 		//<br /> 		System.out.println(&quot;Changing to FTP remote dir: &quot; + directory);<br /> 		// CWD<br /> 		sftp.cd(directory);<br /> 		// PWD<br /> 		System.out.println(sftp.pwd());<br /> 	<br /> 		//<br /> 		// Send the file we generated, PUT<br /> 		//<br /> 		File filePut = new File(uploadFile);<br /> 		try {				<br /> 			System.out.println(&quot;Storing file as remote filename: &quot;	+ filePut.getName());<br /> 			sftp.put(new FileInputStream(filePut), filePut.getName());<br /> 		} catch (Exception e) {<br /> 			System.err.println(&quot;Storing remote file failed.&quot; + e.toString());<br /> 			throw e;<br /> 		}<br /> 	<br /> 		//<br /> 		// Get the list of files in the remote server directory<br /> 		//<br /> 		Vector files = sftp.ls(directory);<br /> 	<br /> 		//<br /> 		// Log if we have nothing to download<br /> 		//<br /> 		if (files.size() == 0) {<br /> 			System.out.println(&quot;No files are available for download.&quot;);<br /> 		}<br /> 		//<br /> 		// Otherwise download all files except for the . and .. entries<br /> 		//<br /> 		else {<br /> 			long totalSize = 0L;<br /> 			for (int i = 0; i &lt; files.size(); i++) {<br /> 				LsEntry file = (LsEntry) files.get(i);					<br /> 				if (!file.getFilename().equals(&quot;.&quot;)	&& !file.getFilename().equals(&quot;..&quot;)) {<br /> 					System.out.printf(&quot;%s %s [%d bytes]\n&quot;,<br /> 							(file.getAttrs().isDir() ? &quot;[D]&quot; : &quot;   &quot;), file.getFilename(), file.getAttrs().getSize());<br /> 					if (!file.getAttrs().isDir()) {<br /> 						totalSize += file.getAttrs().getSize();<br /> 					}						<br /> 				}<br /> 			}<br /> 			System.out.println(&quot;totalSize = &quot; + totalSize/(1024 * 1024) + &quot;MB&quot;);<br /> 			//<br /> 			// Get the file and write it to our local file system, GET<br /> 			//<br /> 			System.out.println(&quot;Downloading file &quot; + filePut.getName());<br /> 			File fileGet = new File(downloadFile);<br /> 			sftp.get(filePut.getName(), new FileOutputStream(fileGet));<br /> 			//<br /> 			// Remove the file from the server, DELE<br /> 			//<br /> 			System.out.println(&quot;Deleting file &quot; + deleteFile);<br /> 			sftp.rm(deleteFile);<br /> 		}<br /> 	<br /> 		//<br /> 		// Disconnect from the FTP server<br /> 		//<br /> 		try {<br /> 			sftp.quit();<br /> 		} catch (Exception e) {<br /> 			System.err.println(&quot;Unable to disconnect from FTP server. &quot;	+ e.toString());<br /> 		}<br /> 	<br /> 	} catch (Exception e) {<br /> 		System.err.println(&quot;Error: &quot; + e.toString());<br /> 		e.printStackTrace();<br /> 	}<br /> 	<br /> 	System.out.println(&quot;Process Complete.&quot;);<br /> %&gt;<br /> [/code]<br /> 參考資料：<br /> [url=http://timarcher.com/node/57]Sending Files via FTP From Your Java Applications - Part 2 of 2 - Using Jsch for SFTP[/url]]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/199/566.page</guid>
				<link>http://www.andowson.com/posts/preList/199/566.page</link>
				<pubDate><![CDATA[Thu, 26 Feb 2009 01:44:09]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>在CentOS 4.5 Linux上安裝Trac 0.10.4</title>
				<description><![CDATA[ [b]Trac的刪除、備份跟還原[/b]<br /> 1.刪除Trac專案:<br />    在Trac中每個專案環境就是一個目錄，所以刪除專案很簡單，就是把對應的目錄刪除掉，然後對應的資料庫也刪除掉即可。<br /> <br /> 2.備份Trac專案：<br />    可以使用trac-admin的hotcopy指令，<br /> [code]$ trac-admin /path/to/projenv hotcopy /path/to/backupdir[/code]<br /> 例如：<br /> [andowson@www ~]$ trac-admin /home/andowson/projects/webmail hotcopy /tmp/webmail<br /> Hotcopying /home/andowson/projects/webmail to /tmp/webmail ... Hotcopy done.<br /> <br /> 檢視一下內容可以發現其實就是整個目錄複製過去而已，所以理論上只要先把Web Server停止後，自己使用OS的copy指令也是OK的<br /> [andowson@www ~]$ ll /tmp/webmail/<br /> 總計 36<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 attachments<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 conf<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 htdocs<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 log<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 plugins<br /> -rw-r--r--  1 andowson andowson   98  9月  9  2007 README<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 templates<br /> -rw-r--r--  1 andowson andowson   27  9月  9  2007 VERSION<br /> drwxrwxr-x  2 andowson andowson 4096 12月 21 20:09 wiki-macros<br /> <br /> 資料庫部分可以使用資料庫備份的指令，例如PostgreSQL的[url=http://twpug.net/docs/postgresql-doc-8.0-zh_TW/app-pgdump.html]pg_dump[/url]<br /> <br /> 3.還原Trac專案<br /> 也是很簡單，就是把備份的目錄覆蓋回去即可，先把Web Server停掉，然後把整個目錄結構copy回去，再把資料庫還原回去，然後再重起Web Server即可。<br /> <br /> [b]Subverson的備份跟還原[/b]<br /> 1.備份Subversion的repository <br /> [code]svnadmin hotcopy /path/to/reponame /path/to/backupdir[/code]<br /> 例如：<br /> svnadmin hotcopy /home/andowson/repos/webmail /tmp/webmailrepo<br /> 這個指令單純的將repository的目錄複製一份出來<br /> <br /> 2.還原Subversion的repository <br /> 只要將先前用hotcopy備份的目錄複製回去即可<br /> <br /> 參考資料：<br /> http://trac.edgewall.org/wiki/TracBackup<br /> http://svnbook.red-bean.com/en/1.1/ch05s03.html<br /> http://wiki.archlinux.org/index.php/Subversion_backup_and_restore<br /> http://rory.cba.tw/rewrite.php/read-95.html]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/20/544.page</guid>
				<link>http://www.andowson.com/posts/preList/20/544.page</link>
				<pubDate><![CDATA[Sun, 21 Dec 2008 20:54:59]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>Apache 2.2 + SSL + JK 1.2 + Tomcat 6.0 Clustering Auto Installer for CentOS 5.3</title>
				<description><![CDATA[ kevinwang72326您好:<br /> 您可以自己試試看，如果有遇到問題，再把您的做法發表上來，讓大家討論。        ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/315/1063.page</guid>
				<link>http://www.andowson.com/posts/preList/315/1063.page</link>
				<pubDate><![CDATA[Thu, 9 Jun 2011 16:53:40]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>[Windows]忘記密碼時找回密碼的免費工具程式</title>
				<description><![CDATA[ 忘記密碼的原因有百百種，除了自身忘記外，還有人員異動時交接不清，尤其是那種越不常用的密碼，忘得越快。例如[url=http://www.promotion.hinet.net/]HiNet ADSL[/url]上網的撥接密碼，通常是HiNet人員來施工時幫你輸入進去之後就存起來，以後也沒再改過。等到買了第二台電腦時，才發現找不到當初的那張密碼卡了，或是當時也改了密碼，找到密碼卡也沒用了。如果打電話給[url=http://service.hinet.net/2004/modify_password.htm#fax]HiNet的客服人員[/url]處理，通常需要傳真身分證件影本，實在是很麻煩。不過如果原來的電腦還可以上網的話（表示系統內儲存的密碼是正確的），就可以自救一下，到[url=http://www.nirsoft.net/]NirSoft[/url]的[url=http://www.nirsoft.net/password_recovery_tools.html]Password Recovery Utilities[/url]裡面下載[url=http://www.nirsoft.net/utils/dialupass.html]Dialupass[/url]，解壓縮並執行就可以看到舊的密碼了。<br /> 其它的密碼工具就請大家依照場合應用吧。<br /> <br /> 參考資料:<br /> <a class="snap_shots" href="http://blog.pixnet.net/dearguo/post/9454030" target="_blank" rel="nofollow">http://blog.pixnet.net/dearguo/post/9454030</a>]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/219/334.page</guid>
				<link>http://www.andowson.com/posts/preList/219/334.page</link>
				<pubDate><![CDATA[Sat, 16 Feb 2008 21:10:51]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>用 Excel 計算經過時間</title>
				<description><![CDATA[ 雖然Excel跟網頁程式設計比較無關，不過由於碰到了驗算的需求，用Excel是個滿方便的選擇。<br /> 問題如下：如果某項服務的計費方式採用以分計費，則我們需要紀錄每個客戶的開始時間及結束時間，例如以登入時間跟登出時間為準，則經過時間即可依此計算<br /> elapse_time=end_time-start_time=logout_time-login_time<br /> 用SQL語法應該是滿容易的<br /> select logout_time-login_time as elapse_time from userlog where ...<br /> 但是客戶如果跟你「灰」時，你拿出你精心寫出的SQL語法跟資料庫裡的資料給他看嗎？<br /> 又你如何「證明」你算出的資料是對的？用筆算嗎？時間的相減雖然是國小數學就教過了，但一次要作個幾百題還真的是會出錯哩。<br /> 那Excel可以派上用場嗎？將開始時間輸入在A2，然後結束時間輸入在B2，再到C2來個=B2-A2計算出經過時間這樣嗎？<br /> 答案是可以的！而且很簡單，江湖一點訣，講破還真的就不值錢了！<br /> 就是把A2和B2格式設為文字而C2格式設為自訂的d hh:mm:ss即可。<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/49/64.page</guid>
				<link>http://www.andowson.com/posts/preList/49/64.page</link>
				<pubDate><![CDATA[Mon, 26 Feb 2007 00:26:16]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>使用MySQL資料庫時的License問題</title>
				<description><![CDATA[ [quote=windstorm]另外，如果我編寫MySQL原始碼的分析介紹文章，並在我的網站上放置廣告收取廣告費用，會涉及MySQL的商業版權問題嗎？[/quote]<br /> 需要商業授權的前提是您不想開放原始碼時，才需要。您所說的狀況應該算是類似第一種情況，不需要商業授權。<br /> [quote]The Commercial License is an agreement with MySQL AB for organizations that do not want to release their application source code. [/quote]]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/79/135.page</guid>
				<link>http://www.andowson.com/posts/preList/79/135.page</link>
				<pubDate><![CDATA[Tue, 19 Jun 2007 22:01:34]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>IP Whois 查詢IP擁有者</title>
				<description><![CDATA[ 在JForum管理控制台裡面用的是這個[url]http://whois.domaintools.com/[/url]，不同國家會用不同國旗標示，也可以參考看看。]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/182/282.page</guid>
				<link>http://www.andowson.com/posts/preList/182/282.page</link>
				<pubDate><![CDATA[Tue, 16 Oct 2007 19:29:04]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
	</channel>
</rss>
