Я следил за весенней документацией и настраивал прослушиватель Spring JMS. Тем не менее, даже если я добавляю сообщение в очередь, мой код не обнаруживает этого. Моя весна конфигурации выглядит следующим образом:JMS Невозможно использовать сообщения из очереди Oracle, используя spring/jms
<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"/>
My 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;
}
}
[EDIT: ВЫШЕ УСТАНОВКА СЕЙЧАС РАБОТАЕТ УСПЕШНО]
Привет, спасибо за ваш ответ. Я изменил свой конфиг, и приведенная выше настройка теперь работает. Я попытался перенести это в приложение Grails, хотя он не потребляет никаких сообщений из очереди. Я не думаю, что кто-то пробовал это раньше и имеет какие-то идеи? – user1740752