Endpoints
JmsEndpointBuilder checks
The documentation of JmsEndpointBuilder
points out a few criteria that need to be met in order for it to be configured properly:
12.3.1 JMS topic subscriber:
The auto-start option is only valid in combination with pub-sub-domain enabled. Other combinations may be ignored or lead to configuration failure at start-up.

12.4 JMS topic durable subscription:
The auto-start setting is required to be enabled for this reason when using durable subscriptions.

Not mentioned in the docs, but according to the Citrus implementation, the durable subscriber name is used only when durable subscription is enabled.

KafkaEndpointBuilder checks
The documentation and underlying Citrus implementation of KafkaEndpointBuilder
points out a few criteria that needs to be met, in order for it to be configured properly:
The offset reset value must be one of earliest, latest and none:

The partition value must be non-negative:

Code completion of Endpoint and other Spring beans
To make the discovery of various Endpoint
and types of beans easier in test code, methods in Citrus that accept endpoint URI strings
or other Spring beans names/ids, are extended with code completion of beans of their respective types (and its subtypes).
Code completion is currently supported at the following locations:
Code completed bean type | Locations |
---|---|
Endpoint | SendMessageAction.Builder.send() ReceiveMessageAction.Builder.receive() MessageActionBuilder.endpoint() – used in send and receive actionsReceiveTimeoutAction.Builder : expectTimeout() , receiveTimeout() CamelEndpointBuilder.endpointUri() |
HttpClient | HttpActionBuilder.client() |
HttpServer | HttpActionBuilder.server() |
WebServiceClient | SoapActionBuilder.client() AssertSoapFault.Builder.endpoint() |
WebServiceServer | SoapActionBuilder.client() |
SoapFaultValidator | AssertSoapFault.Builder.validator() |
SoapAttachmentValidator | ReceiveSoapMessageAction.SoapMessageBuilderSupport.attachmentValidatorName() |
org.apache.camel.CameContext | @CamelEndpointConfig#camelContext @CamelSyncEndpointConfig#camelContext |
MessageConverter | @CamelEndpointConfig#messageConverter @CamelSyncEndpointConfig#messageConverter |
The type text on the right hand side of each completion item shows the Spring configuration class the bean is defined in.
Also, while the completion list is displayed, one can also navigate to the bean definition via Ctrl+B and similar shortcuts.

Code completion of Kafka offset reset strategies
This code completion provides Kafka offset reset strategies in KafkaEndpointBuilder.offsetReset()
calls.
The item earliest
is also extended with the text default value since that is the default offset reset value in Citrus.

Endpoint config annotation checks
The Citrus Framework provides many @*EndpointConfig
, @*ClientConfig
and @*ServerConfig
annotations for their respective endpoint types, so that in case field injections, the injected endpoints’ properties can be overridden by these annotations.
A handful of these annotations specify some rules on how their attributes must be configured. This inspection implements and reports those rules for:
@JmsEndpointConfig
@JmsSyncEndpointConfig
@KafkaEndpointConfig
@HttpClientConfig
@HttpServerConfig
@WebServiceClientConfig
@JmsSyncEndpointConfig


@JmsEndpointConfig
The checks for this annotation includes the ones for @JmsSyncEndpointConfig
and the following ones:


@KafkaEndpointConfig

@HttpClientConfig


@HttpServerConfig

@WebServiceClientConfig

