Google的桌面搜尋是出了有名的。很可惜,不知道為什麼,在我的電腦上執行,總會有問題。但對於這類的搜尋功能又是愛不釋手(在有需要找檔案或是一些文件時,速度真是超快的)。因此就在想想有什麼替代方案;那就是WDS啦。什麼是WDS? WDS就是Windows Desktop Search;聽名字就知道跟google desktop search是相同的東西。以下是一些進階搜尋的功能:
ext:doc - 搜尋後面為doc的文件
file:report - 搜尋檔案名中包含report這個詞的文件
cameramake:canon - 搜尋所有圖片中由canon相機產生的(依賴於EXIF訊息)
from:zhang - 搜尋發件人名字中有zhang的郵件
size:>100000000 - 搜尋尺寸大於100MB的項目。這個做得比較土,不支持MB,KB等服務機構,只能是字元為服務機構,要加一堆0……
phone:12345678 - 搜尋電話號碼為12345678的聯絡人
來源:windows desktop search一些小技巧
Google Prettify
2008-02-17
WDS使用技巧
2008-01-22
如何在Quartz中確定當上一個job尚未執行完前不執行下一次job?
Sample code後有一段是展示如何重新啟動排程及設定排程時間。
這段Sample code是使用Spring framework。
public class LogAnalysisJob extends QuartzJobBean {
private LogAnalysisBO bo;
public void setBo(MyBO bo) {
this.bo = bo;
}
protected void executeInternal(JobExecutionContext c)
throws JobExecutionException {
Scheduler sc = c.getScheduler();
try {
List l = sc.getCurrentlyExecutingJobs();
if (l.size() <= 1) { //限定目前的只有1個bo被執行
bo.exe();//真正執行企業邏輯的部份
}
SimpleTriggerBean t = (SimpleTriggerBean) c.getTrigger();
if (count > 10) {
t.setRepeatInterval(t.getRepeatInterval() + 3000);//如果排程執行超過10次, 每次執行間隔就延長3秒
sc.rescheduleJob(t.getName(), c.getJobDetail().getGroup(), t);
count = 0;
}
count++;
} catch (SchedulerException e) {
e.printStackTrace();
}
private static int count;
}
2008-01-21
在Spring中使用Quartz
當我在執行時,發生了NoSuchMethodError
Caused by:java.lang.NoSuchMethodError:org.apache.commons.collections.SetUtils.orderedSet...解決方法是更換commons-collections至3.X版就可以了。
2008-01-04
Hibernate中Criteria如何查詢nested property?
假設我們有一個Object A。A的型態是ObjectA,A有一個property名稱是 propertyA、類型是ObjectB。ObjectB中有一個property名稱是propertyB屬性是String。注意、問題來了:要怎麼使用Hibernate criteria去取得propertyB值是"nested property"的instance A呢?一般人都會直覺的認為Criteria cri = session.createCriteria(ObjectA.class);這樣是不行滴。(其中一個)正確的寫法是:
cri.add(Restrictions.eq("propertyA.propertyB", "nested property"));
Collection r = cri.list();
沒錯,跟HQL一樣,需要使用alias。Criteria cri = session.createCriteria(ObjectA.class);
cri.createAlias("propertyA", "ptA");
cri.add(Restrictions.eq("ptA.propertyB", "nested property"));
Collection r = cri.list();
更多請參考:Hibernate 文件
2007-11-27
如何在weblogic 8.1中得知是否有發生connection leak?
案子中使用的container是weblogic 8.1。最近工作上寫的系統,偶爾會發connetion leak。長官執疑什麼是connection leak? 在請教過google大神後,才在BEA的官網中找到一些資訊。
在weblogic 8.1中發生connection leak時會產生<BEA-001074>錯誤。那什麼叫connection leak? "BEA官方解釋是:
A JDBC pool connection leak was detected. A connection leak occurs when a connection obtained from the pool was not closed explicitly by calling close() and then was disposed by the garbage collector and returned to the connection pool. A stack trace is printed indicating where the leaked connection was created...
如何知道那裡有發生connection leak呢?
首先要在 startup scripts (startWeblogic.cmd)中加入 -Dweblogic.Debug=weblogic.JDBCConn="true", weblogic.JTAJDBC="true"
另外要設定weblogic中domain的config.xml中的指定連線 ConnLeakProfilingEnabled屬性為true。
<JDBCConnectionPool ConnLeakProfilingEnabled="true"
ConnProfilingEnabled="true"
DriverName="oracle.jdbc.OracleDriver"
InactiveConnectionTimeoutSeconds="0" MaxCapacity="20"....
其實設定ConnLeakProfilingEnabled也可以透過weblogic console中設定。
其中Inactive Connection Timeout要設定為0
2007-11-21
清除IE中記住的帳號密碼

來說一個經驗吧。(咦? 這個開場白好像之前用過了...)
公司的網路使用single sing on,有設定Proxy,要求凡是要上網的員工都必須輸入帳號密碼。剛來公司時,因為公司網管還沒有設定好帳密(帳號密碼,簡稱帳密(誰說中文不可以有縮寫的...:D)),就拿了一個剛離職同事的帳密來用。也貪求方便勾選了「記憶密碼」這個選項,於是當使用IE上網時再也不會有輸入帳密這個煩人的對話框出現了。之後我的帳號雖然建立好了,可是還是持續使用離職同事的帳密,也都沒事。
故事並沒有完。當這個同事的帳號被移除後,因為它再也不會有輸入帳密這個對話框,就一直導到帳號鎖定的錯誤頁面。中間完全沒有機會輸入自己合法的帳密。最後只好使用終極(最爛)招式-重灌。
點選「控制台」->「使用者帳戶」,選擇使用者,「管理我的密碼」就可以去控制系統已經記住的帳密了。



