我正在使用weblogic 10.3。 我試圖配置一個持久的消息,由jdbc存儲支持(在Oracle數據庫中)的持久訂閱。我有一個MDB正在傾聽的主題是持久訂閱者。 在情景-1下:如果我發送消息,它會擊中MDB。JMS持久訂閱者持久性消息不會持久存在數據庫中
在情景-2下:我暫停了MDB,希望郵件發送到主題時只要它們不被MDB(這是唯一註冊的持久訂閱者)所使用,就會停留在周圍。但是當我將消息發送給主題時,它會在那裏簡要顯示,然後消失(我使用HermesJMS來看它)。
我的印象是,由於MDB沒有使用這些消息,因此在這種情況下會記錄到JDBC存儲中,但是oracle db中的WLSTORE表並沒有得到任何消息。
我後來發現消息顯示在主題>持久訂閱者>在管理控制檯中顯示消息。
因此,顯然發生了什麼事情是主題不保留消息,而是在其下面註冊的持久訂閱保留它,直到消息消耗完。
問題-1)但是消息不會去基於Oracle的jdbc存儲的事實仍然沒有意義?我在這裏做錯了什麼?
問題-2)即使當我恢復MDB開始偵聽郵件時,該主題仍然顯示持久訂閱者(管理控制檯)下的所有郵件仍然完好無損 - 我希望他們會從那裏移除因爲他們被唯一註冊的耐用用戶處理。