package jms
- Alphabetic
- Public
- Protected
Type Members
- final class AcknowledgeMode extends AnyRef
- class DefaultKeyFormatStrategy extends JmsKeyFormatStrategy
- trait FlowHeaderConfigAware extends JmsDestinationResolver
- class JmsConnector extends AnyRef
- final case class JmsConsumerSettings(log: FlowEnvelopeLogger, logLevel: (FlowEnvelope) => LogLevel = _ => LogLevel.Info, headerCfg: FlowHeaderConfig, keyFormatStrategy: JmsKeyFormatStrategy = new DefaultKeyFormatStrategy(), connectionFactory: IdAwareConnectionFactory, connectionTimeout: FiniteDuration = 1.second, jmsDestination: Option[JmsDestination] = None, sessionCount: Int = 1, receiveTimeout: FiniteDuration = 0.seconds, pollInterval: FiniteDuration = 100.millis, acknowledgeMode: AcknowledgeMode = AcknowledgeMode.AutoAcknowledge, bufferSize: Int = 100, selector: Option[String] = None, ackTimeout: FiniteDuration, durableName: Option[String] = None) extends JmsSettings with Product with Serializable
- final class JmsConsumerStage extends GraphStage[SourceShape[FlowEnvelope]]
The JmsSource realizes an inbound Stream of FlowMessages consumed from a given JMS destination.
The JmsSource realizes an inbound Stream of FlowMessages consumed from a given JMS destination. The messages can be consumed using an arbitrary sink of FlowMessages. The sink must acknowledge or deny the message eventually. If the message is not acknowledged with a given time frame, the message will be denied and eventually redelivered.
A JMS session will only consume one message at a time, the next message will be consumed only after the previous message of that session has been denied or acknowledged. The messages that are waiting for acknowledgement are maintained within a map of (session-id / inflight messages).
Any exception while consuming a message within a session will cause that session to close, so that any inflight messages for that session will be redelivered. A new session will be created automatically for any sessions that have been closed with such an exception.
One of the use cases is a retry pattern. In that pattern the message must remain in the underlying destination for a minimum amount of time (i.e. 5 seconds). The message receive loop will check the JMSTimestamp against the System.currentTimeMillis to check whether a message can be passed downstream already.
- final class JmsDeliveryMode extends AnyRef
- trait JmsDestinationResolver extends AnyRef
- trait JmsEnvelopeHeader extends AnyRef
- trait JmsKeyFormatStrategy extends AnyRef
- final case class JmsProducerSettings(log: FlowEnvelopeLogger, logLevel: (FlowEnvelope) => LogLevel = _ => LogLevel.Info, headerCfg: FlowHeaderConfig, keyFormatStrategy: JmsKeyFormatStrategy = new DefaultKeyFormatStrategy(), connectionFactory: IdAwareConnectionFactory, connectionTimeout: FiniteDuration = 1.second, jmsDestination: Option[JmsDestination] = None, sessionCount: Int = 1, destinationResolver: (JmsProducerSettings) => JmsDestinationResolver = s => new SettingsDestinationResolver(s), priority: Int = 4, deliveryMode: JmsDeliveryMode = JmsDeliveryMode.NonPersistent, timeToLive: Option[FiniteDuration] = None, correlationId: () => Option[String] = () => None, clearPreviousException: Boolean = false) extends JmsSettings with Product with Serializable
- final class JmsProducerStage extends GraphStage[FlowShape[FlowEnvelope, FlowEnvelope]]
- case class JmsRetryConfig(cf: IdAwareConnectionFactory, headerCfg: FlowHeaderConfig, retryDestName: String, failedDestName: String, eventDestName: String, retryInterval: FiniteDuration, maxRetries: Long = -1, retryTimeout: FiniteDuration = 1.day) extends Product with Serializable
- class JmsRetryException extends Exception
- class JmsRetryProcessor extends JmsStreamSupport
- class JmsRetryRouter extends AnyRef
- final case class JmsSendParameter(message: Message, destination: JmsDestination, deliveryMode: JmsDeliveryMode = JmsDeliveryMode.Persistent, priority: Int, ttl: Option[FiniteDuration]) extends Product with Serializable
- class JmsSessionManager extends AnyRef
Manage JMS sessions on behalf of a JMS streams source or sink.
- sealed trait JmsSettings extends AnyRef
- trait JmsStreamSupport extends AnyRef
- class MessageDestinationResolver extends FlowHeaderConfigAware with JmsEnvelopeHeader
- class MissingRetryDestinationException extends JmsRetryException
- class MissingRetryHeaderException extends JmsRetryException
- class PassThroughKeyFormatStrategy extends JmsKeyFormatStrategy
- class RetryCountExceededException extends JmsRetryException
- class RetryTimeoutException extends JmsRetryException
- class SettingsDestinationResolver extends JmsDestinationResolver with JmsEnvelopeHeader
Value Members
- object AcknowledgeMode
- object DefaultKeyFormatStrategy
- object JmsConsumerSettings extends Serializable
- object JmsDeliveryMode
- object JmsFlowSupport extends JmsEnvelopeHeader
- object JmsProducerSettings extends Serializable
- object JmsRetryConfig extends Serializable
- object JmsSendParameter extends Serializable
- object JmsSettings