2011-12-17

[Zafira] 10000km 達成

開了10個月, 10000km 達成 在 三高轉一高 彰化系統交流道

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 需要的欄位
  • 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 會填入最後的時間
2. SQL-Provider 設定
  • 下面是 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型流感

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 中啟動失敗, 所以要把所有的設定值, 搬到新的環境重新產生.

2011-09-11

[Zafira] 第11次油耗

日期累計里程單次里程實際油量行車資訊油品
油量平均油耗平均速度油量平均油耗
112011/09/117500669.644.7314.9705943.815.4台塑98


這一次, 電腦油量比跳槍油量少1公升. 第一格跑高速公路可以跑100km 上下, 應該算是有把油箱真正加滿吧.

累計平均油耗 14.694km/l