![]() |
2011-12-17
2011-12-08
[Jboss] ESB SQL Provider
公司的異質系統傳輸資料幾乎都是採用 DB 交換. EDI 與 ERP 之間的資料交換, 除了文件內容的Table 外. 另外多建立了一個 Document_Change Table , 裡頭存有 Document Type, Document Name 等等. 每一個系統各自去建立相關的 Schedule , 去檢查該Table 是否有自己需要的 Document. 這樣的整合也沒有說不好, 再沒有整合工具的前提下, 是一個可以接受的方案.
Jboss ESB 有提供 SQL-Provider 的工具. 應該是JBoss ESB 在遇到很多公司都有同樣的需求時, 所發展出來的 Provider. 可以讓 SOA 採用漸進的方式替換掉原有系統整合.
SQL-Provider 有其使用前提, JBoss ESB 並沒有清楚的解釋. 只能從 相關的sample code 去看出一些端倪. 下面就先介紹 前置作業.
1. Table Column 需要的欄位
Jboss ESB 有提供 SQL-Provider 的工具. 應該是JBoss ESB 在遇到很多公司都有同樣的需求時, 所發展出來的 Provider. 可以讓 SOA 採用漸進的方式替換掉原有系統整合.
SQL-Provider 有其使用前提, JBoss ESB 並沒有清楚的解釋. 只能從 相關的sample code 去看出一些端倪. 下面就先介紹 前置作業.
1. Table Column 需要的欄位
- message-id-column : 也就是 Table primary Key , 不能是 combo Key
- message-column : ESB 只會抓取單一欄位的內容
- status-column : ESB 會填入相關的 Status.
org.jboss.soa.esb.listeners.gateway.SqlTableGatewayListener 針對欄位所做的解釋
A field that will be used to mark a row as 'P' (pending), 'W' (in process), 'D' (done) or 'E' (error). When adding a pending row, make sure that the status_col value if an upper-cased 'P', as upper-cased characters are used as a convention.
所以簡單的說, 如果要 ESB 把該資料抓去處理, 一定要放 'P'. ESB 處理中 會被改成'W', 最後的解過就是 'D' or 'E'.
- insert-timestamp-column : ESB 會填入最後的時間
- 下面是 ESB sample code
<sql-provider name="SQLprovider" url="jdbc:hsqldb:hsql://localhost:1704" driver="org.hsqldb.jdbcDriver" username="sa" password=""> <sql-bus busid="helloSQLChannel" > <sql-message-filter tablename="GATEWAY_TABLE" status-column="STATUS_COL" order-by="DATA_COLUMN" where-condition="DATA_COLUMN like 'data%'" message-column="message" message-id-column="UNIQUE_ID" insert-timestamp-column="TIMESTAMP_COL" /> </sql-bus> </sql-provider> - 這是我自己改用Datasource 的方式
2011-11-07
[生病] 肚子悶悶, 四肢酸痛
2011/11/03 一起床就覺得頭很重, 前一天已經覺得有一點累提早睡覺. 早餐吃白饅頭也是吃不太下, 頂在肚子那邊. 一到公司以後, 就發現手腳關節開始酸痛, 肚子也開始有一點絞痛. 到中午前, 呈現感冒症狀, 手腳很怕碰到水. 下午五點請假直接看醫生去. 晚上吃完白粥, 睡到九點多起床洗澡, 繼續睡覺到隔天.
11/04-11/05 肚子不定期會痛, 不過症狀已經減緩.
11/06 所有症狀已經解除.
病因可能是 莊舒安傳染, 但是沒有嘔吐, 又不像是同一種.
11/07 莊舒安 又發燒 醫生說明 如果 小腿肌肉酸痛, 有可能會是 B型流感
11/04-11/05 肚子不定期會痛, 不過症狀已經減緩.
11/06 所有症狀已經解除.
病因可能是 莊舒安傳染, 但是沒有嘔吐, 又不像是同一種.
11/07 莊舒安 又發燒 醫生說明 如果 小腿肌肉酸痛, 有可能會是 B型流感
2011-09-21
[Jboss] Jboss AS 6 Final upgrade from 6.0.0 to 6.1.0
最近發現 jboss as 6 已經release 6.1.0.
看了一下 release note , 有講到 JMS Queue redeliver 的問題. 這個問題, 我之前升級到 6.0.0 final 後 , 就發現有一些問題. 目前工作環境中, 有些工作事先丟到 Queue 裡面, 在利用 MDB 來作 接收工作的入口. 但有時網路或是DB 並不是很穩定, 所以 Task 需要retry . 就利用 Queue redeliver 的功能來作 task rework.
但是在 6.0.0 M6 這樣的模式是很正常的, 但是在 6.0.0. final 中, queue redeliver 有時會有問題, 會讓message 一直停留在Queue 中, 不會自動redeliver . 自己還特地寫了一個測試的mdb 去作 redeliver testing. 但是, 測試結果就是時靈時不靈, 看不出一個結果.
升級到 6.1.0 final 以後, 這個bug 有解掉, 就不用一直需要去monitor queue 有沒有task 了.
如果要升級到 6.1.0, 不能直接使用已經在 6.0.0 產生的檔案. 因為會在6.1.0 中啟動失敗, 所以要把所有的設定值, 搬到新的環境重新產生.
看了一下 release note , 有講到 JMS Queue redeliver 的問題. 這個問題, 我之前升級到 6.0.0 final 後 , 就發現有一些問題. 目前工作環境中, 有些工作事先丟到 Queue 裡面, 在利用 MDB 來作 接收工作的入口. 但有時網路或是DB 並不是很穩定, 所以 Task 需要retry . 就利用 Queue redeliver 的功能來作 task rework.
但是在 6.0.0 M6 這樣的模式是很正常的, 但是在 6.0.0. final 中, queue redeliver 有時會有問題, 會讓message 一直停留在Queue 中, 不會自動redeliver . 自己還特地寫了一個測試的mdb 去作 redeliver testing. 但是, 測試結果就是時靈時不靈, 看不出一個結果.
升級到 6.1.0 final 以後, 這個bug 有解掉, 就不用一直需要去monitor queue 有沒有task 了.
如果要升級到 6.1.0, 不能直接使用已經在 6.0.0 產生的檔案. 因為會在6.1.0 中啟動失敗, 所以要把所有的設定值, 搬到新的環境重新產生.
2011-09-11
[Zafira] 第11次油耗
| 日期 | 累計里程 | 單次里程 | 實際油量 | 行車資訊 | 油品 | ||||
| 油量 | 平均油耗 | 平均速度 | 油量 | 平均油耗 | |||||
| 11 | 2011/09/11 | 7500 | 669.6 | 44.73 | 14.970 | 59 | 43.8 | 15.4 | 台塑98 |
這一次, 電腦油量比跳槍油量少1公升. 第一格跑高速公路可以跑100km 上下, 應該算是有把油箱真正加滿吧.
累計平均油耗 14.694km/l
訂閱:
文章 (Atom)
