我在獨立環境中使用Spring3.1。如何設置MDB編程和動態
我把話題JMS模板是這樣的:
<bean id="mm1sessionsTopicSendingTemplate" class="org.springframework.jndi.JndiObjectFactoryBean"
depends-on="jmsServerManagerImpl">
<property name="jndiName">
<value>/topic/mm1sessionsTopic</value>
</property>
</bean>
對於這個話題我這樣設置MDB與使用DefaultMessageListenerContainer:
<bean id="mm1sessionDispatcherListener"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="pubSubDomain" value="true" />
<property name="concurrentConsumers" value="1" />
<property name="destination" ref="mm1sessionsTopicSendingTemplate" />
<property name="messageListener" ref="mm1SessionMDB" />
<property name="sessionAcknowledgeModeName" value="AUTO_ACKNOWLEDGE" />
</bean>
這樣,我必須在先進的通過XML設置mm1SessionMDB:
<bean id="mm1SessionMDB" class="com.mdb.SessionMDB">
<property name="feedPropertiesDTO" ref="feedListenerMarketMaker1Properties" />
</bean>
但我需要我的應用程序來創建MDB實例編程式。
我的意思是我想通過代碼來創建MDB的,因爲每個MDB都會有不同的驗證值,它將從主題檢索(通過feedPropertiesDTO)消息
基本上我將MDB與池相同的邏輯,但每一個都會有不同的屬性。 MDB'S的創建時間必須在運行時。
是可能的嗎?
謝謝, 射線。
你能告訴我一個你的意思的例子嗎?使用工廠方法 – rayman 2012-07-12 09:09:21
我添加了我曾經提出的方法。 – dimas 2012-07-12 10:08:52
是的。但我讀到,使用這種技術只有在測試時纔是好的,不應該在生產方式中使用,因爲它可能導致內存泄漏等。 – rayman 2012-07-12 10:22:41