Websphere v8, spring 3 message driven pojo using backout queue
Hi
I have created a MDP that is hosted on a websphere 8 application server listening on MQ v7 queue bound to the server the application server is hosted on.
This all works fine and consumes the messages.
The issue has now arisen when I attempt to make use of the BOTHRESH and BOQNAME MQ configuration items I can't seem to make the application put messages onto the queue specified in the BOQNAME element after the threshold has been breached, and sometimes it doesn't realise the threshold has been breached.
Has anybody had this working?
Thanks
Rob
Below is my app context to give some flavour:
Code:
<bean id="messageDelegate" class="appl.delegate.OffBalanceMessageDelegate">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="messageListener" class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
<property name="delegate" ref="messageDelegate"/>
<!-- over ride the default method name to denote what it is actually doing -->
<property name="defaultListenerMethod" value="receive"/>
</bean>
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="messageListener" ref="messageListener"/>
<property name="destination" ref="inputQueue"/>
<property name="taskExecutor" ref="taskExecutor"/>
<!-- No cache -->
<property name="cacheLevel" value="0"/>
<property name="sessionTransacted" value="true"/>
</bean>
<bean id="taskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
<property name="workManagerName" value="wm/workManager"/>
</bean>
<bean id="inputQueue" class="org.springframework.jndi.JndiObjectFactoryBean" depends-on="connectionFactory">
<property name="jndiName" value="jms/inputQueue"/>
</bean>
<bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jms/connectionFactory"/>
</bean>
<!-- database definitions -->
<jee:jndi-lookup
id="dataSource"
jndi-name="jdbc/dbName"
resource-ref="true"
cache="true"
lookup-on-startup="false"
proxy-interface="javax.sql.DataSource"/>