最近一直都在試虛擬化的東西,原本已經在我的NB上裝好了XEN跟VMWare,也都裝好了OS說,星期天還可以用,結果昨天一開機就說我的filesystem有毀損,真是OOXX,目前我猜是VMWare搞的鬼正在找原因,假設不行就重灌好啦,本來想說抓幾個配置XEN的圖形管理介面的說,不過在SuSe Linux針對XEN的圖形管理介面,還不錯用,不過是沒有VMWare的清楚所以XEN在這方面可能要在多加油點,等我把NB搞定了後再PO一些"真相"給大家做個比較。
最近有一個繳費單的專案,需要列印條碼,因為IReport本身就有提供列印條碼的功能,所以就用IReport設計繳費單然後再用Jasperreport API寫批次程式去產生PDF,資料量大概3000多筆(頁)拆成幾個檔案,可是就發生了一個問題居然發生部分繳費單的條碼有問題,看了一下程式研判是Race Condition因為程式採用的是多執行緒,若是依序個別產生是不會有問題,但是同時執行的時候就會亂掉,而且都錯在條碼,令我覺得很奇怪,後來我查了一下發現it.businesslogic.ireport.barcode.BcImage 類別我猜是這裡的問題,就先加上synchronized重新編譯在去執行,嘿嘿條碼就對了,做了一下壓測也正常,程式碼如下,不過這樣事不是對了可能還要仔細查查看。 public class BcImage { private static net.sourceforge.barbecue.Barcode bc = null; public synchronized static net.sourceforge.barbecue.Barcode getBarcode() { return bc; } public synchronized static BufferedImage getBarcodeImage(int type, Object aText, boolean showText, boolean checkSum) { return getBarcodeImage(type, aText, showText, checkSum,"",0,0); } public synchronized static BufferedImage getBarcodeImage(int type, Object aText, boolean showText, boolean checkSum, String applicationIdentifier, int width, int height) { // 2of7, 3of9, Bookland, Codabar, Code128,...
留言
張貼留言