很久很久沒有寫博客了,發現再不寫博客我都快忘了我有這個博客了!好了,不說廢話了。
java
最近項目使用kettle的地方比較多,鑑於項目優化的思考決定使用jndi來爲kettle腳本設置數據源。這樣不只能夠控制鏈接數,並且能夠減小大量的數據庫配置,那麼咱們怎麼樣才能實如今Web項目中調度配置了jndi的kettle腳本呢?先留下一個伏筆,咱們來說一下kettle支持的jndi。web
對了忘了提一句,從筆記七開始kettle的版本升級爲5.x。5.x提供不少新的類和組件功能。很好的支持了項目。若是在圖形界面上配置kettle腳本並執行的話,那麼咱們只須要在pdi-ce-5.1.0.0-752/data-integration/simple-jndi/jdbc.properties中配置咱們的數據庫鏈接。可能和我說的路徑有些出入,不過我相信聰明的網友能夠明白個人意思併成功找到該文件。如圖:數據庫
修改好以後,咱們須要重啓一下,咱們的kettle編輯器。app
重啓以後,就能夠成功經過jndi來配置DB鏈接來。如圖:編輯器
這樣就可使用jndi配置簡單的數據庫鏈接池來配置kettle腳本了。鏈接成功以後,還須要配置咱們的鏈接池,在上圖能夠很容易的找到鏈接池配置項,在裏面進行簡單的配置就能夠了。ide
可能有人要問了爲何要經過jndi配置DB鏈接?理由其實很是簡單,就是能夠統一配置,節約咱們配置的腳本的時間(要知道配置一個腳本很是容易,直接使用jdbc配置就能夠了,一旦腳本幾百上千數量級,那麼只要修改一次數據庫鏈接,那但是很是要命的)。優化
好了,說了簡單的配置編輯器使用的jndi配置,那麼接下來講一下若是web項目調度kettle腳本而且使用jndi來配置kettle的jndi數據庫鏈接。
3d
廢話很少說,直接上圖:blog
這樣項目這樣配置就能夠了,可是須要注意的是simple-jndi須要配置一個系統屬性,就是接下來這段代碼。get
System.setProperty("org.osjava.sj.root", application.getRealPath("/META-INF/simple-jndi"));
這裏的路徑是指向上圖中的simple-jndi文件夾。因此只要能夠肯定到simple-jndi就能夠了。直接執行就能夠了。