Я хочу создать 'jdbc: исходящий канал-адаптер'. это мой XML-файл:Как создать объявление для 'jdbc: outbound-channel-adapter'?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:integration="http://www.springframework.org/schema/integration"
xmlns:jdbc="http://www.springframework.org/schema/integration/jdbc"
xsi:schemaLocation="http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration.xsd
http://www.springframework.org/schema/integration/jdbc
http://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- store delayed notifications -->
<integration:channel id="delayedNotificationChannel">
<integration:interceptors>
<integration:wire-tap channel="logDelayedNotificationChannel"/>
</integration:interceptors>
</integration:channel>
<integration:transformer input-channel="delayedNotificationChannel"
ref="unicodeEncoderServiceImpl"
method="encode"
output-channel="delayedNotificationOutChannel"/>
<integration:channel id="delayedNotificationOutChannel"/>
<jdbc:outbound-channel-adapter channel="delayedNotificationOutChannel" data-source="dataSource">
<jdbc:query>
insert into Notification.......................
</jdbc:query>
</jdbc:outbound-channel-adapter>
<!-- log -->
<integration:channel id="logDelayedNotificationChannel"/>
<integration:logging-channel-adapter channel="logDelayedNotificationChannel"
level="INFO"
expression="'Delaying IVR, EventTypeName:' + headers['eventTypeName'] + ', Recipient:' + headers['recipient'] + ', ContactType:' + headers['contactType'] + ', ContactCode:' + headers['contactCode']+ ', Until: ' + new java.util.Date(headers['delayUntil'])"/>
</beans>
, но он не работает, выход:
Исключение в потоке "основной" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Строка 26 в XML документ из ресурса пути класса [META-INF/spring/integration/ivr-send-delay-context.xml] недействителен; Вложенное исключение - org.xml.sax.SAXParseException; lineNumber: 26; columnNumber: 101; cvc-complex-type.2.4.c: Соответствующий шаблон является строгим, но для элемента 'jdbc: outbound-channel-adapter' не найдено объявления. в org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions (XmlBeanDefinitionReader.java:399) на org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions (XmlBeanDefinitionReader.java:336) в org.springframework. beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions (XmlBeanDefinitionReader.java:304) на org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions (AbstractBeanDefinitionReader.java:181) на org.springframework.beans.factory.support. AbstractBeanDefinitionReader.loadBeanDefinitions (AbstractBeanDefinitionReader.java:217) ...................
Можете ли вы попробовать перейти на «int-jdbc: исходящий канал-адаптер» вместо «jdbc: исходящий канал-адаптер»? То же самое применимо и для 'jdbc: query'. Просто измените его на 'int-jdbc: query' и попробуйте один раз. –
Нет; его пространство имен настроено как 'jdbc' -' xmlns: jdbc = "...' not 'int-jdbc'. –
@GaryRussell, Yep .. Вы правы. –