Java
摘要: 在項目中實現了一個工具(獨立運行的Java工程,打成jar包后 通過 java -jar **.jar 執行的。),該工具通過配置能夠實現一些業務功能,
并且該工具提供了接口與抽象類,供其他人擴展它的功能。
這就涉及到一個問題:別人在擴展它的時候,需要引入一些jar或者配置文件,本來工具依賴的jar和配置文件都記錄在manifest文件中了,
不可能別人加了jar包和配置文件就要修改manifest文件的。
所以我為工具提供了另外一個入口,通過 該通過的配置文件 進行配置 路徑,由于考慮到擴展的人可能多人或者多組,所以配置文件如下定義:
以ext_classpath開頭的,諸如 ext_classpath_biz1等對應的路徑均被加入到classpath中。
以ext_resourcepath開頭的,諸如 ext_resourcepath_biz1等對應的路徑均被加入classpath中。 閱讀全文
并且該工具提供了接口與抽象類,供其他人擴展它的功能。
這就涉及到一個問題:別人在擴展它的時候,需要引入一些jar或者配置文件,本來工具依賴的jar和配置文件都記錄在manifest文件中了,
不可能別人加了jar包和配置文件就要修改manifest文件的。
所以我為工具提供了另外一個入口,通過 該通過的配置文件 進行配置 路徑,由于考慮到擴展的人可能多人或者多組,所以配置文件如下定義:
以ext_classpath開頭的,諸如 ext_classpath_biz1等對應的路徑均被加入到classpath中。
以ext_resourcepath開頭的,諸如 ext_resourcepath_biz1等對應的路徑均被加入classpath中。 閱讀全文
摘要: 通過上一篇 利用自定義Java注解實現資源注入 介紹的方法,我們實現了通過自定義注解完成了對DataSource資源的注入,但在實際應用中,我們通常不希望去顯式的去聲明這樣的MyAnnotationBeanProcessor對象來幫助我們完成注入,而是希望通過Spring幫我們“悄悄地”完成。 閱讀全文
摘要: 這里是想介紹一下如何通過Java的注解機制,實現對bean資源的自動注入。主要介紹實現方法,至于例子的實用性不必討論。
需求:一個應用有兩個數據庫,分別為DB-A,DB-B。
假設持久層框架使用iBatis來完成,那么SqlMapClient對象在創建時,對于兩個不同的DB連接要有兩個不同的SqlMapClient對象,
假設我們有一個Service類為MyService.java,該類中有兩個SqlMapClient對象分別對應著DB-A、DB-B。 閱讀全文
需求:一個應用有兩個數據庫,分別為DB-A,DB-B。
假設持久層框架使用iBatis來完成,那么SqlMapClient對象在創建時,對于兩個不同的DB連接要有兩個不同的SqlMapClient對象,
假設我們有一個Service類為MyService.java,該類中有兩個SqlMapClient對象分別對應著DB-A、DB-B。 閱讀全文
摘要: 此程序需要ganymed-ssh2-build210.jar包。
下載地址:http://www.ganymed.ethz.ch/ssh2/
為了調試方便,可以將\ganymed-ssh2-build210\src下的代碼直接拷貝到我們的工程里,
此源碼的好處就是沒有依賴很多其他的包,拷貝過來干干凈凈。
此程序的目的是執行遠程機器上的Shell腳本。 閱讀全文
下載地址:http://www.ganymed.ethz.ch/ssh2/
為了調試方便,可以將\ganymed-ssh2-build210\src下的代碼直接拷貝到我們的工程里,
此源碼的好處就是沒有依賴很多其他的包,拷貝過來干干凈凈。
此程序的目的是執行遠程機器上的Shell腳本。 閱讀全文
摘要: 一個Java應用程序的日志里,出現了很不和諧的記錄:
java.io.IOException: Too many open files
在網上查了一些關于此異常的解決方案,基本上都是說要擴大linux系統的文件句柄數限制。
但如果程序對于Socket、Stream等使用后沒能及時關閉的話,擴大這個文件句柄數限制是治標不治本的。
閱讀全文
java.io.IOException: Too many open files
在網上查了一些關于此異常的解決方案,基本上都是說要擴大linux系統的文件句柄數限制。
但如果程序對于Socket、Stream等使用后沒能及時關閉的話,擴大這個文件句柄數限制是治標不治本的。
閱讀全文
摘要: 他山之石可以攻玉。
Spring為我們提供了一個PropertyPlaceholderConfigurer,它能夠使Bean在配置時引用外部屬性文件。
可以將BeanFactory定義中的一些屬性值放到另一個單獨的標準Java Properties文件中。
我們在部署應用時只需要在屬性文件中對一些屬性進行修改,而不用對主XML定義文件或容器所用文件進行復雜和危險的修改。
讓我們看看下面的例子: 閱讀全文
Spring為我們提供了一個PropertyPlaceholderConfigurer,它能夠使Bean在配置時引用外部屬性文件。
可以將BeanFactory定義中的一些屬性值放到另一個單獨的標準Java Properties文件中。
我們在部署應用時只需要在屬性文件中對一些屬性進行修改,而不用對主XML定義文件或容器所用文件進行復雜和危險的修改。
讓我們看看下面的例子: 閱讀全文
摘要: 此問題在項目中被發現,經查看JDK源碼(JDK1.6),String類的public String substring(int beginIndex, int endIndex)的實現讓我很意外。
想重現這個場景很容易,請看代碼。 閱讀全文
想重現這個場景很容易,請看代碼。 閱讀全文
摘要: 現在我們要做一個簡單的界面。
包括一個進度條、一個輸入框、開始和停止按鈕。
需要實現的功能是:
當點擊開始按鈕,則更新進度條,并且在輸入框內把完成的百分比輸出(這里只做例子,沒有真正去做某個工作)。 閱讀全文
包括一個進度條、一個輸入框、開始和停止按鈕。
需要實現的功能是:
當點擊開始按鈕,則更新進度條,并且在輸入框內把完成的百分比輸出(這里只做例子,沒有真正去做某個工作)。 閱讀全文