2011-07-04 31 views
1

請告訴我的是它可以調用Java方法,或當一個記錄被插入MySQL數據庫 實際工作中我的問題是一個Struts Action類我有2個數據庫(兩者都是MySQL數據庫DB1即和db2)在兩個不同的運行locations.I需要極大,誰的記錄被在同一時間的一些數據必須在Y臺被插入在DB2中的數據取決於向上插在X表中DB1之間的通信在db2中插入一些數據必須插入到db1的Z表中。如何調用Java方法時記錄在MySQL數據庫中插入

實際工作中我的項目是一組病人一個看護人病人護理項目 有
爲每一位患者一個嵌入式按鈕是存在的。 患者細節和嵌入式按鈕和相應的照顧接受者之間的映射是有在DB2數據庫 當患者按下嵌入式按鈕嵌入式信息被插入在DB1 和序發送移動消息照顧接受者我haveto得到從DB2數據插在DB1中嵌入式信息取決於起來作爲病人和看護者映射是在DB2

的businesslogic與DB1在VC與DB2中的java iswritten

所以

的businesslogic通信iswritten通信我需要db1和之間的通信DB2

技術使用

Java中,支柱1.2

數據庫:MySQL的

+0

Struts 1或Struts 2? –

+0

簡短的回答是肯定的。只要你有相應的業務邏輯結構。插入命令來自哪裏? – GordyD

+1

你是說如果記錄直接插入你的應用以外的分貝?那麼我認爲唯一的方法就是定期查詢數據庫。 –

回答

2

我不認爲這有可能從數據庫中插入有效地觸發Java代碼。我們做的是相反的:當插入時,我們寫的ROWID到專用表

  • 我們有一個定期運行的Java工作,並檢查表爲新的條目

你不應該在網絡環境中做任何這樣的事情,所以在這種情況下忘記struts吧!

0

你可以有一個Java進程定期查詢表檢查新紀錄。一個更好的解決辦法是有一個數據庫觸發器執行你需要(雖然你不能直接調用Struts動作)的業務邏輯。如果您可以在插入行後提供您需要執行的業務邏輯的更多詳細信息,則可以提供更清晰的設計。

0

即使它可以使用其他Struts動作(因爲它是一個可以被實例化像SomeAction action = new SomeAction()一個簡單的POJO類),我不會建議它幾個原因:

  • 你將不得不通過各種Struts配置爲了行動起作用。
  • 拉手的ActionForward響應。

我的建議是將您的業務邏輯放在一個服務中,您可以將相同的數據傳遞給2個數據庫,或者有能夠理解數據需要記錄到2個數據庫的策略。

0

Here's an extension for MySQL(UDF)允許從MySQL執行其他程序。

它應該是相對簡單的如何使用它。我不知道你的應用程序的來龍去脈,但你可以創建一個觸發器來調用一個程序並傳遞你需要的某些參數來建立你的數據庫通信。

相關問題