2013-08-05 46 views
0

我需要編寫一個將在JBoss中運行的文件夾觀察器。這個想法是,只要文件出現在文件夾中,我們就應該處理該文件並將其移動到某個位置。 我寫了一個簡單的Java類,它將使用Java 7 NIO並觀察文件夾。一旦文件出現在文件夾中,我將它移動到另一個文件夾並進行處理。目前我所做的只要文件出現,我就移動它並創建一個新線程來處理它。 既然這個假設在JBoss中運行,我現在明白在JBoss中創建線程不是這樣做的,我應該使用消息隊列。 因此,我即將更改類並調用隊列並將它傳遞給文件位置的對象,並期望JBoss處理它。 我的問題基本上是我做對了嗎?這是在JBoss中做到這一點的正確方法嗎?我希望以多任務方式完成的任何過程都應該使用消息隊列來完成?jboss中的文件夾觀察者

由於提前,

沙龍

回答

0

你不應該在一個容器創建非託管的線程。 JBoss AS 7/EAP 6有能力讓您定義自己的線程池並允許應用程序容器管理這些線程。如果你想使用線程來做到這一點,你應該使用容器管理的線程池。否則,基於消息傳遞的實現將起作用。

0

我不完全確定爲什麼這個應用程序需要在容器/ JBoss中運行。除此之外,一種選擇是利用使用JMS隊列/主題的面向消息的模型,而不是處理文件。

另一個選項是創建一個JEE6 timer service,它將執行您的代碼以一定的時間間隔移動文件。所以在這種情況下,JBoss將使用ejb線程池來管理你的線程。