/* * Copyright 2014-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.integration.dsl; import java.io.File; import org.springframework.amqp.core.Queue; import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer; import org.springframework.expression.Expression; import org.springframework.integration.dsl.amqp.Amqp; import org.springframework.integration.dsl.amqp.AmqpBaseInboundChannelAdapterSpec; import org.springframework.integration.dsl.amqp.AmqpInboundChannelAdapterSpec; import org.springframework.integration.dsl.file.Files; import org.springframework.integration.dsl.file.TailAdapterSpec; import org.springframework.integration.dsl.http.Http; import org.springframework.integration.dsl.http.HttpControllerEndpointSpec; import org.springframework.integration.dsl.http.HttpRequestHandlerEndpointSpec; import org.springframework.integration.dsl.jms.Jms; import org.springframework.integration.dsl.jms.JmsListenerContainerSpec; import org.springframework.integration.dsl.jms.JmsMessageDrivenChannelAdapterSpec; import org.springframework.integration.dsl.mail.ImapIdleChannelAdapterSpec; import org.springframework.integration.dsl.mail.Mail; import org.springframework.jms.listener.AbstractMessageListenerContainer; /** * @author Artem Bilan */ public class MessageProducers { public AmqpInboundChannelAdapterSpec amqp( org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory, String... queueNames) { return Amqp.inboundAdapter(connectionFactory, queueNames); } public AmqpInboundChannelAdapterSpec amqp( org.springframework.amqp.rabbit.connection.ConnectionFactory connectionFactory, Queue... queues) { return Amqp.inboundAdapter(connectionFactory, queues); } /** * @deprecated {@code since 1.1.1} in favor of {@link #amqp(SimpleMessageListenerContainer)} * as factory method with an inconvenient name. * @param listenerContainer the {@link SimpleMessageListenerContainer} to use. * @return the {@link AmqpBaseInboundChannelAdapterSpec} instance. */ @Deprecated public AmqpBaseInboundChannelAdapterSpec<?> inboundAdapter(SimpleMessageListenerContainer listenerContainer) { return amqp(listenerContainer); } public AmqpBaseInboundChannelAdapterSpec<?> amqp(SimpleMessageListenerContainer listenerContainer) { return Amqp.inboundAdapter(listenerContainer); } public TailAdapterSpec tail(File file) { return Files.tailAdapter(file); } public ImapIdleChannelAdapterSpec imap(String url) { return Mail.imapIdleAdapter(url); } public JmsMessageDrivenChannelAdapterSpec<? extends JmsMessageDrivenChannelAdapterSpec<?>> jms( AbstractMessageListenerContainer listenerContainer) { return Jms.messageDrivenChannelAdapter(listenerContainer); } public JmsMessageDrivenChannelAdapterSpec<? extends JmsMessageDrivenChannelAdapterSpec<?>> jms( javax.jms.ConnectionFactory connectionFactory) { return Jms.messageDrivenChannelAdapter(connectionFactory); } public <S extends JmsListenerContainerSpec<S, C>, C extends AbstractMessageListenerContainer> JmsMessageDrivenChannelAdapterSpec<? extends JmsMessageDrivenChannelAdapterSpec<?>> jms( javax.jms.ConnectionFactory connectionFactory, Class<C> containerClass) { return Jms.<S, C>messageDrivenChannelAdapter(connectionFactory, containerClass); } public HttpControllerEndpointSpec http(String viewName, String... path) { return Http.inboundControllerAdapter(viewName, path); } public HttpControllerEndpointSpec http(Expression viewExpression, String... path) { return Http.inboundControllerAdapter(viewExpression, path); } public HttpRequestHandlerEndpointSpec httpChannelAdapter(String... path) { return Http.inboundChannelAdapter(path); } MessageProducers() { } }