親愛的JBoss:
我知道要把war檔放在JBoss Home/server/default/deploy目錄下,您會把解壓縮到JBoss Home/server/default/tmp/deploy下,其目錄名是tmp + 亂數編號 + war檔名(含.war),所以直接修改這目錄裡的jsp或class都能即時生效。
親愛的JBoss:
我知道要把war檔放在JBoss Home/server/default/deploy目錄下,您會把解壓縮到JBoss Home/server/default/tmp/deploy下,其目錄名是tmp + 亂數編號 + war檔名(含.war),所以直接修改這目錄裡的jsp或class都能即時生效。
IT水準如何,看他們Open、Share的程度如何,整理以下的網站:
而開放文件供人下載,國外網站應該不少,但為難對英文不在行的我。而能以原作或翻譯的,對岸已有團隊創作,而國內有則大多個人網站提供較多:
當JVM無聲無息的掛掉,也記不到Log,找不到黑盒子,怎麼辦?到JDK 5.0是有提供一個UncatchExceptionHandler介面,目前有來拿專案測,但有效與否尚待考驗。UncatchExceptionHandler是給thread註冊一個class,在thread丟出無法catch的Exception(Uncatch的由來),UncatchExceptionHandler理應抓得到這個Exception,飯粒如下:
class TestRuntimeException extends Thread
Cisco的SCSM裡的SM(Subscriber Manager)提供兩類API:Blocking和Nonblocking,call Blocking的API等到它的return,表示它進行的交易全數完成才傳回,而且提一堆get開頭的查詢API。而涉及到Subscriber的增改刪,若使用Blocking API,通常要等SM內部commit完成才會把結果傳回,而Nonblocking API則可以把交易提出後,設置Listener等候SM傳回交易結果,這樣做的好處是系統可以往下處理不必枯等結果,是做Cisco都會建議使用Nonblocking API,而使用Blocking API則占了一個connection,所以萬一要使用Blocking API,Cisco也建議建置一個Pool來管理,避免connect又disconnect,甚至漏掉disconnect動作導致connection的浪費。
以下是使用Blocking API查詢用戶是否存在的Sample,需include smapi.jar:
Java的URLEncoder的encode會把特殊字元轉成%nn形式,偏偏有個很討厭的地方是空白字元,在URLEncoder會轉成+,而真正的加號字元才轉成%2B。因為+是在URL是被視作空白,與%20同義。可是有的Web Server若像是C++寫的,卻只認識%20,後來的作法是先用URLEncoder轉,之後再用replace(“+”, “%20”)把加號轉成%20,可是怎麼看就是怎麼彆扭。
Eclipse export war檔若失敗,出現以下的Exception:
org.eclipse.core.runtime.CoreException: Extended Operation failure: org.eclipse.jst.j2ee.internal.web.archive.operations.WebComponentExportOperation
在馬來西亞UAT時,使用<fmt:formatDate value="data" type="both" pattern="yyyy/MM/dd HH:mm:ss" />顯示日期,但發現用了馬來西亞的IE後無法照pattern顯示。合該是Locale的問題,經同事找出方法,前面再加<fmt:setLocale value="en_GB"/>即可。en_GB是English, Great Britain,也符合馬來西亞過去被英國殖民的歷史。東北亞一帶應該都是以en_US親美的居多。
即使在中文版Windows上,也可以模擬馬來西亞語系的IE進行測試。以IE7為例:[工具]—>[網際網路選項]—>[一般]頁籤—>按[語言]鈕-->彈出[語言喜好設定]視窗-->移除:中文(繁體,台灣)[zh-TW]—>新增:馬來文(馬來西亞)[ms-MY]。
要達這個功用,走了幾許冤枉路,還被網頁騙。在Eclipse下透過[Windows->Preferences->General->Network Connection]去設置Proxy是沒有效果的。
而是要到%APPDATA% (如我的是C:\Users\Jemmy\AppData\Roaming)目錄的Subversion子目錄找到名為servers的檔案,在該檔找到[global]後,去改底下的設定
1.Java Util提供的原子計數器:
private static java.util.concurrent.atomic.AtomicInteger counter = new java.util.concurrent.atomic.AtomicInteger ();
拜目前專案所賜,首次有機會接觸Cisco產品-SCE(Service Control Engine),目前還是處於才疏學淺的階段,僅對SCE做目前所認識誌於Blog備忘。
根據ISO(International Organization for Standardization)組織訂出OSI(Open Systems Interconnection)的網路標準共分七層。而普及的TCP/IP協定不過涵蓋其第四、三層下,而普遍的硬體設施如Bridge、Hub、Router也多屬於OSI第四層以下。而第四層以上的產品就牽涉到軟體架構面了,其第七層便是Application Layer,而Cisco SCE正是建構第七層的產品,諸如流量分析、設備控管等。
以下內容轉貼自http://web.caidiy.com/plate/group/web/papermsg.jsp?UI=markcool&GI=47&CI=&p=&PI=827,它也轉貼的,但來源已毀損。所以預防再有的毀損,所以內容如下:
1、PermGen space的全稱是Permanent Generation space,是指記憶體的永久保存區域OutOfMemoryError: PermGen space從表面上看就是記憶體益出,解決方法也一定是加大記憶體。說說為什麼會記憶體益出:這一部分用於存放Class和Meta的資訊,Class在被 Load的時候被放入PermGen space區域,它和和存放Instance的Heap區域不同,GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的APP會LOAD很多CLASS的話,就很可能出現PermGen space錯誤。這種錯誤常見在web伺服器對JSP進行pre compile的時候。
JBoss移到Linux上若出現如下的Exception:
21:51:41,050 WARN [BasicMBeanRegistry]
只會在新的project commit到svn目錄,但後來才知同一project切不同svn目錄,其實只多一個動作:便是在project按右鍵彈出清單選[Team/中斷連結],再把它當作新的project連上不同的svn即可。
上次Eclipse 3.4+Spring IDE在Vista的問題又重演在JBoss IDE上,後來下載了Eclipse 3.4.1,則無這個問題。而在SVN Plugin上倒是頗費一番周章,目前SVN Plugin版本是1.4。
習於Eclipse等IDE工具後,總會生疏在Console下的command,經朋友相詢,我也學到了一招,如何建成一個可以執行的jar。
jar -cvfm test1.jar manifest.mf test1.class test2.class
某個JSP內容如下,在Eclipse會出現JSP Problem如標題所示的javax.servlet.jsp.PageContext cannot be resolved to a type:
<%@ taglib uri="/WEB-INF/tld/jstl/c.tld" prefix="c" %>