1
我遵循Spring文檔並設置了Spring JMS偵聽器。然而,即使我向隊列中添加消息,我的代碼也沒有檢測到這一點。我的Spring配置如下:JMS無法使用使用spring/jms的Oracle隊列中的消息
<bean id="dataSourceListener" class="oracle.jdbc.pool.OracleDataSource">
<property name="URL" value="xxx"/>
<property name="user" value="xxx"/>
<property name="password" value="xxx"/>
</bean>
<bean id="jmsConnectionFactory" class="OracleAqFactoryBean">
<property name="dataSource" ref="dataSourceListener" />
</bean>
<jms:listener-container connection-factory="jmsConnectionFactory" acknowledge="transacted" concurrency="1-5">
<jms:listener destination="queuename" ref="myMessageListener"/>
</jms:listener-container>
<bean id="myMessageListener" class="Listener"/>
我的Java如下:
我定製的監聽器:
class Listener implements MessageListener {
@Override
void onMessage(Message message) {
// code to handle message is here
}
}
而且我OracleAqFactoryBean:
public class OracleAqFactoryBean implements FactoryBean {
private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
@Override
public Object getObject() throws Exception {
return AQjmsFactory.getConnectionFactory(dataSource);
}
@Override
public Class<?> getObjectType() {
return ConnectionFactory.class;
}
@Override
public boolean isSingleton() {
return true;
}
}
[編輯:以上設置現在正在工作]
您好,感謝您的回覆。我改變了我的配置,上面的設置正在工作。 雖然我試圖將它移植到Grails應用程序中,但它不會消耗隊列中的任何消息。我不認爲任何人曾經嘗試過,並有任何想法? – user1740752 2013-03-12 17:08:01