跳到主要內容

發表文章

目前顯示的是 2009的文章

MQ PCF API簡介

可以透過該API管理QMGR MQAgent.java--- package cgw.mq.admin; import cgw.mq.bean.MQManageBean; import com.ibm.mq.MQEnvironment; import com.ibm.mq.MQException; import com.ibm.mq.pcf.PCFMessageAgent; public class MQAgent { private PCFMessageAgent agent; public MQAgent(MQManageBean bean ,int ccsid){ //MQEnvironment.CCSID = ccsid; try { PCFMessageAgent agent = new PCFMessageAgent(bean.getMqm_ip(),bean.getMqm_port(),bean.getAdmin_channel()); } catch (MQException e) { e.printStackTrace(); } agent.setCharacterSet(ccsid); } public PCFMessageAgent getAgent() { return agent; } public void close() throws MQException{ agent.disconnect(); } } MQManageBean.java--- package cgw.mq.bean; public class MQManageBean { private String mqm_ip; private int mqm_port; private String admin_channel; public String getAdmin_channel() { return admin_channel; } public void setAdmin_channel(String admin_channel) { this.admin_channel = admin_channel; } public String getMqm_ip() {

利用Asprise OCR辨識PDF中的條碼

http://asprise.com/product/ocr/index.php?lang=java 這個API還滿不錯用的,它可以直接辨識PDF中的條碼,不過Free的版本跟文件似乎有些不一樣,底下是辨識PDF文件的條碼步驟: 1.下載Asprise OCR v4.0 for Java,http://asprise.com/product/ocr/download.php?lang=java,以及AspriseJavaPDF-free.jar,http://asprise.com/product/javapdf/util.php 2.有Developer Guide手冊可以參考一下,把AspriseOCR.dll、DevIL.dll及ILU.dll放在LIBRARY(如Window/system32或是project的lib) 3.程式碼如下 OCR ocr = new OCR(); PDFReader pdfreader = new PDFReader(new File("d:\\lunch.pdf")); pdfreader.open(); int pageCount = pdfreader.getNumberOfPages(); // PDFToImage pdfToImage = new PDFToImage("D:\\lunch.pdf"); pdfreader.close(); PDFToImage pdfToImage = new PDFToImage("D:\\lunch.pdf"); for(int j=1;j BufferedImage img = pdfToImage.getImage(j); String text=ocr.recognizeBarcode(img); //Vector v = ocr.recognizeBarcodes(img); System.out.println(text); } 一頁是多個條碼時,可以用Vector就可以了,滿方便的不過不用錢的每

XEN on CentOS

最近因為我申請的開發機器下來了,就玩玩之前沒測完的XEN,先說一下我機器的配備應該算是很高檔. CPU---QC * 2 ---共8核 RAM---12GB 硬碟----3顆1T 有三台(呵呵很酷喔而且還只拿來開發) 回到正題,上次XEN少了Window,這次給他補足了順便紀錄一下遇到的一些問題 1.要在XEN安裝Window系列,Intel CPU要具備VT,AMD要具備AMD-V如何確認呢 cat /proc/cpuinfo | grep flags 看看有沒有VMX的項目,有就可以安裝. p.s這裡還要注意一點若是CPU有註明有VT或是AMD-V可是下該指令沒有的話就請確認核心有沒有開啟(SuSe 11.1就沒有) 2.強烈建議使用CentOS5.2進行,OpenSuSe我分別裝了10.1 - 10.3及11統統不行在XEN裡裝Window,CentOS5.2很順。 3.網路設定問題 a.希望外部可以直接連到虛擬機器(domainU),安裝CentOS時先不要在實體網路卡上設定任何IP,但實體線路可以插上去,然後再安裝CentOS,起動虛擬機器管理員(是圖形介面),連接並建立一新的DomainU,依據所需進行設定,到了Host network設定時請選擇第二項shard physical network,就一路安裝下去囉..安裝好DomainU的作業環境,然後再設定網路卡的IP(DomainU的)應該就可以囉. ※這裡可以把DomainO(CentOS)的網路卡當做一個HUB來看就不難理解他不用設IP了,可是不要問我原因我也不知道 b.希望走DHCP方式同a步驟,到Host network請選擇第一項virtual network後面步驟就一樣了,可是要外部連到這台機器時,則要在DominO(CentOS)上利用iptables進行囉 4.可以使用virt-clone進行複製好用喔

IReport中的條碼類別BcImage

最近有一個繳費單的專案,需要列印條碼,因為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,