跳到主要內容

發表文章

Barcode Generator 條碼產生器 by ZXing

ZXing還滿方便的,產生各式條碼跟讀取,可以參考一下。 這裡介紹QRCode的產生方式 1.下載  ZXing 2.解開會出現很多目錄,將core及javase裡面的core.jar及javase.jar檔案include進來 3.部分程式碼 import java.io.File; import java.io.IOException; import java.util.Hashtable; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; ....

使用Apache Http Server進行Proxy和LoadBalance (補充)

1.補上直接使用source進行compile的流程 下載http-2.x.tar.gz檔案 tar xvf http-2.x.tar.gz進入目錄 ./configure --prefix=安裝的目錄 --enable-mods-shard=most --enable-proxy --enable-proxy-ajp --enable-proxy-balancer --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-rewrite ./make ./make install 後續就是設定httpd.conf檔案了.

使用Apache Http Server進行Proxy和LoadB alance

環境概述 OS:Linux Apache Http Server:2.2.21 安裝可以使用rpm或是抓source下來compile,建議前者 rpm –ivh apache-http-xxx.rpm 這裡請注意一下安裝的版本 http.conf 參數設定 Proxy < VirtualHost *:80>      ProxyPass targetPath fromPath | fromUrl < VirtualHost/>  範例如下 < VirtualHost *:80>      ProxyPass /app http://DomainName或IP:8888/app      ProxyPassReverse /app http://DomainName或IP:8888/app < VirtualHost/> 上述的參數設定為,將某主機的http通訊協定下的Web application(app),對應到本台Web Server的app下。這樣的Proxy架構的設定對企業內的Web應用程式相當有用處,若是遇到Web Application Server掛點只需要修改Proxy對應,不需要動到dns等等,是個滿便宜的Proxy架構設定喔。﹝不過要注意Web Application要注意redirectc和forward等的撰寫,盡量不要有絕對IP的出現﹞

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,...