Class UnicastReceivingChannelAdapter
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.ip.AbstractInternetProtocolReceivingChannelAdapter
org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter
- All Implemented Interfaces:
Runnable,Aware,BeanFactoryAware,BeanNameAware,DisposableBean,InitializingBean,SmartInitializingSingleton,ApplicationContextAware,ApplicationEventPublisherAware,Lifecycle,Phased,SmartLifecycle,ComponentSourceAware,ExpressionCapable,MessageProducer,IntegrationPattern,CommonSocketOptions,NamedComponent,IntegrationInboundManagement,IntegrationManagement,ManageableLifecycle,ManageableSmartLifecycle,TrackableComponent,SchedulingAwareRunnable
- Direct Known Subclasses:
MulticastReceivingChannelAdapter
A channel adapter to receive incoming UDP packets. Packets can optionally be preceded by a
4 byte length field, used to validate that all data was received. Packets may also contain
information indicating an acknowledgment needs to be sent.
- Since:
- 2.0
- Author:
- Gary Russell, Artem Bilan, Christian Tzolov
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
FieldsFields inherited from class org.springframework.integration.endpoint.AbstractEndpoint
lifecycleCondition, lifecycleLockFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE -
Constructor Summary
ConstructorsConstructorDescriptionUnicastReceivingChannelAdapter(int port) Constructs a UnicastReceivingChannelAdapter that listens on the specified port.UnicastReceivingChannelAdapter(int port, boolean lengthCheck) Constructs a UnicastReceivingChannelAdapter that listens for packets on the specified port. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanasyncSendMessage(DatagramPacket packet) protected voiddoSend(DatagramPacket packet) protected voiddoStop()Take no action by default.Subclasses may implement this method to provide component type information.intgetPort()protected DatagramSocketbooleanprotected voidonInit()Subclasses may implement this for initialization logic.protected DatagramPacketreceive()voidrun()protected voidvoidsetLengthCheck(boolean lengthCheck) voidsetLookupHost(boolean lookupHost) voidsetSocket(DatagramSocket socket) protected voidsetSocketAttributes(DatagramSocket socket) Sets timeout and receive buffer size; calls the socket customizer.voidsetSocketCustomizer(SocketCustomizer socketCustomizer) Set a customizer to further configure the socket after creation.voidsetSoSendBufferSize(int soSendBufferSize) Methods inherited from class org.springframework.integration.ip.AbstractInternetProtocolReceivingChannelAdapter
checkTaskExecutor, doStart, getApplicationEventPublisher, getLocalAddress, getReceiveBufferSize, getSoReceiveBufferSize, getSoTimeout, getTaskExecutor, isListening, setApplicationEventPublisher, setListening, setLocalAddress, setPoolSize, setReceiveBufferSize, setSoReceiveBufferSize, setSoTimeout, setTaskExecutorMethods inherited from class org.springframework.integration.endpoint.MessageProducerSupport
afterSingletonsInstantiated, buildErrorMessage, getErrorChannel, getErrorMessageAttributes, getErrorMessageStrategy, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, isObserved, registerObservationRegistry, sendErrorMessageIfNecessary, sendMessage, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setObservationConvention, setOutputChannel, setOutputChannelName, setSendTimeout, setShouldTrack, subscribeToPublisherMethods inherited from class org.springframework.integration.endpoint.AbstractEndpoint
destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
destroy, getManagedName, getManagedType, getOverrides, getThisAs, isLoggingEnabled, registerMetricsCaptor, setLoggingEnabled, setManagedName, setManagedTypeMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentNameMethods inherited from interface org.springframework.scheduling.SchedulingAwareRunnable
getQualifier
-
Field Details
-
lock
-
-
Constructor Details
-
UnicastReceivingChannelAdapter
public UnicastReceivingChannelAdapter(int port) Constructs a UnicastReceivingChannelAdapter that listens on the specified port.- Parameters:
port- The port.
-
UnicastReceivingChannelAdapter
public UnicastReceivingChannelAdapter(int port, boolean lengthCheck) Constructs a UnicastReceivingChannelAdapter that listens for packets on the specified port. Enables setting the lengthCheck option, which expects a length to precede the incoming packets.- Parameters:
port- The port.lengthCheck- If true, enables the lengthCheck Option.
-
-
Method Details
-
setLengthCheck
public void setLengthCheck(boolean lengthCheck) - Parameters:
lengthCheck- if true, the incoming packet is expected to have a four byte binary length header.- Since:
- 5.0
-
setSocketCustomizer
Set a customizer to further configure the socket after creation.- Parameters:
socketCustomizer- the customizer.- Since:
- 5.3.3
-
isLongLived
public boolean isLongLived() -
getPort
public int getPort()- Overrides:
getPortin classAbstractInternetProtocolReceivingChannelAdapter- Returns:
- The port on which this receiver is listening.
-
onInit
protected void onInit()Description copied from class:IntegrationObjectSupportSubclasses may implement this for initialization logic.- Overrides:
onInitin classMessageProducerSupport
-
run
public void run() -
sendAck
-
asyncSendMessage
-
doSend
-
receive
- Throws:
IOException
-
setSocket
- Parameters:
socket- the socket to set
-
getTheSocket
-
getSocket
-
setSocketAttributes
Sets timeout and receive buffer size; calls the socket customizer.- Parameters:
socket- The socket.- Throws:
SocketException- Any socket exception.
-
doStop
protected void doStop()Description copied from class:MessageProducerSupportTake no action by default. Subclasses may override this if they need lifecycle-managed behavior.- Overrides:
doStopin classAbstractInternetProtocolReceivingChannelAdapter
-
setSoSendBufferSize
public void setSoSendBufferSize(int soSendBufferSize) - Parameters:
soSendBufferSize- The send buffer size.- See Also:
-
setLookupHost
public void setLookupHost(boolean lookupHost) -
getComponentType
Description copied from class:IntegrationObjectSupportSubclasses may implement this method to provide component type information.- Specified by:
getComponentTypein interfaceNamedComponent- Overrides:
getComponentTypein classIntegrationObjectSupport
-