我想開發一個應用程序,在quit之前必須運行一個新的守護進程來執行主要方法一類。JDK 6:有沒有辦法運行一個新的java進程,執行指定類的主要方法
我要求在主應用程序退出後,守護進程仍然必須執行。
這是一個在Oracle數據庫上運行的Java存儲過程,因此我無法使用Runtime.exec,因爲我無法從操作系統Shell找到java類,因爲它是在數據庫結構而不是文件系統文件中定義的。
特別地,期望的行爲應該是一個遠程數據庫會話期間我應該能夠
呼叫運行守護進程和退出離開該守護進程在執行狀態下的第一Java方法
和然後(具有守護進程向上和會話控制,因爲在最後一次調用終止)必然
呼叫與該守護進程進行通信的方法(即退出最後在通信結束時)
這可能嗎?
感謝
更新
我的確切需要的是創造和加載(達到最好的表演),一個大的文本文件導入數據庫假設主機不從具有文件傳輸服務Java JDK6客戶端應用程序使用JDBC-11G oci驅動程序連接到Oracle 11gR1數據庫。
我已經開發了一個工作解決方案,通過調用一個存儲在文件中的LOB(大型數據庫對象)作爲輸入的過程,但是這種方法使用了太多我想避免的中間結構。
所以我想在第一次調用時在DB上創建一個ServerSocket,然後連接到它並通過直接和快速的通信建立數據傳輸。
我遇到的問題出來了,因爲創建ServerSocket的java程序不能退出,並讓一個正在執行的線程/進程監聽該Socket和客戶端,以確保ServerSocket已經創建,不能運行一個單獨的線程來處理剩餘的工作。
希望得到澄清
nice guitar +1;) – OlimilOops 2010-06-19 09:18:15
我有疑問這是可能的,但我也試圖尋找不同的解決方案。 我沒有評估使用事件編程,但這會稍微複雜一點,因爲這樣做我想我應該: 連接到數據庫以建立第一個會話,然後在終止之前等待QUIT事件。 再次連接到另一個線程中的數據庫,並建立第二個會話,其行爲像守護進程並生成QUIT事件。 一旦第一個會話終止,其線程可以執行與剩餘會話的通信。 你認爲它可以工作嗎? – 2010-06-19 09:28:48
@Oops - 是的,它是Takamine LTD 99,只希望我能更好地演奏它! – djna 2010-06-19 09:43:27