You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2019/06/12 20:37:10 UTC
[camel] 02/02: Use a different approach to keep a single method and
split advanced options in separate interfaces
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch endpoint-dsl
in repository https://gitbox.apache.org/repos/asf/camel.git
commit c19d2fee312045fa066ee18f3511f8f98921260f
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Wed Jun 12 22:36:35 2019 +0200
Use a different approach to keep a single method and split advanced options in separate interfaces
---
.../apache/camel/builder/EndpointRouteBuilder.java | 4 +-
.../camel/model/AbstractEndpointBuilder.java | 3 +
.../camel/model/EndpointConsumerBuilder.java | 2 +
.../camel/model/EndpointProducerBuilder.java | 2 +
.../camel/model/endpoint/AMQPEndpointBuilder.java | 2329 ----------
.../model/endpoint/AMQPEndpointBuilderFactory.java | 4637 ++++++++++++++++++
.../camel/model/endpoint/AS2EndpointBuilder.java | 668 ---
.../model/endpoint/AS2EndpointBuilderFactory.java | 1700 +++++++
.../model/endpoint/ActiveMQEndpointBuilder.java | 2347 ----------
.../endpoint/ActiveMQEndpointBuilderFactory.java | 4649 +++++++++++++++++++
...Builder.java => AhcEndpointBuilderFactory.java} | 307 +-
.../camel/model/endpoint/ApnsEndpointBuilder.java | 565 ---
...uilder.java => ApnsEndpointBuilderFactory.java} | 802 ++--
.../model/endpoint/AsteriskEndpointBuilder.java | 272 --
.../endpoint/AsteriskEndpointBuilderFactory.java | 464 ++
.../camel/model/endpoint/AtmosEndpointBuilder.java | 323 --
.../endpoint/AtmosEndpointBuilderFactory.java | 681 +++
.../AtmosphereWebsocketEndpointBuilder.java | 662 ---
.../AtmosphereWebsocketEndpointBuilderFactory.java | 1358 ++++++
.../camel/model/endpoint/AtomEndpointBuilder.java | 674 ---
.../model/endpoint/AtomEndpointBuilderFactory.java | 260 ++
.../model/endpoint/AtomixMapEndpointBuilder.java | 489 --
.../endpoint/AtomixMapEndpointBuilderFactory.java | 1192 +++++
.../endpoint/AtomixMessagingEndpointBuilder.java | 500 --
.../AtomixMessagingEndpointBuilderFactory.java | 1223 +++++
.../endpoint/AtomixMultiMapEndpointBuilder.java | 471 --
.../AtomixMultiMapEndpointBuilderFactory.java | 413 ++
.../model/endpoint/AtomixQueueEndpointBuilder.java | 452 --
.../AtomixQueueEndpointBuilderFactory.java | 1082 +++++
.../model/endpoint/AtomixSetEndpointBuilder.java | 469 --
.../endpoint/AtomixSetEndpointBuilderFactory.java | 1132 +++++
.../model/endpoint/AtomixValueEndpointBuilder.java | 470 --
.../AtomixValueEndpointBuilderFactory.java | 1136 +++++
.../camel/model/endpoint/AvroEndpointBuilder.java | 354 --
.../model/endpoint/AvroEndpointBuilderFactory.java | 789 ++++
...uilder.java => BeanEndpointBuilderFactory.java} | 112 +-
...va => BeanValidatorEndpointBuilderFactory.java} | 145 +-
.../model/endpoint/BeanstalkEndpointBuilder.java | 721 ---
.../endpoint/BeanstalkEndpointBuilderFactory.java | 1068 +++++
.../model/endpoint/BlobServiceEndpointBuilder.java | 508 --
.../BlobServiceEndpointBuilderFactory.java | 1024 ++++
.../model/endpoint/BonitaEndpointBuilder.java | 259 --
.../endpoint/BonitaEndpointBuilderFactory.java | 185 +
.../camel/model/endpoint/BoxEndpointBuilder.java | 451 --
.../model/endpoint/BoxEndpointBuilderFactory.java | 1075 +++++
.../model/endpoint/BraintreeEndpointBuilder.java | 367 --
.../endpoint/BraintreeEndpointBuilderFactory.java | 822 ++++
.../model/endpoint/BrowseEndpointBuilder.java | 216 -
.../endpoint/BrowseEndpointBuilderFactory.java | 354 ++
...tBuilder.java => CMEndpointBuilderFactory.java} | 119 +-
.../camel/model/endpoint/CMISEndpointBuilder.java | 353 --
.../model/endpoint/CMISEndpointBuilderFactory.java | 721 +++
.../endpoint/CaffeineCacheEndpointBuilder.java | 519 ---
.../CaffeineCacheEndpointBuilderFactory.java | 804 ++++
.../endpoint/CaffeineLoadCacheEndpointBuilder.java | 524 ---
.../CaffeineLoadCacheEndpointBuilderFactory.java | 813 ++++
.../model/endpoint/CassandraEndpointBuilder.java | 753 ---
.../endpoint/CassandraEndpointBuilderFactory.java | 1289 ++++++
....java => ChatScriptEndpointBuilderFactory.java} | 156 +-
...ilder.java => ChunkEndpointBuilderFactory.java} | 123 +-
...lder.java => CinderEndpointBuilderFactory.java} | 137 +-
...ilder.java => ClassEndpointBuilderFactory.java} | 112 +-
.../model/endpoint/ClientEndpointBuilder.java | 534 ---
.../endpoint/ClientEndpointBuilderFactory.java | 1306 ++++++
.../camel/model/endpoint/CoAPEndpointBuilder.java | 380 --
.../model/endpoint/CoAPEndpointBuilderFactory.java | 846 ++++
.../model/endpoint/CometdEndpointBuilder.java | 461 --
.../endpoint/CometdEndpointBuilderFactory.java | 1024 ++++
.../model/endpoint/ConsulEndpointBuilder.java | 219 -
.../endpoint/ConsulEndpointBuilderFactory.java | 357 ++
....java => ControlBusEndpointBuilderFactory.java} | 146 +-
.../camel/model/endpoint/CordaEndpointBuilder.java | 225 -
.../endpoint/CordaEndpointBuilderFactory.java | 395 ++
.../model/endpoint/CouchDbEndpointBuilder.java | 361 --
.../endpoint/CouchDbEndpointBuilderFactory.java | 650 +++
.../model/endpoint/CouchbaseEndpointBuilder.java | 1007 ----
.../endpoint/CouchbaseEndpointBuilderFactory.java | 1646 +++++++
...r.java => CryptoCmsEndpointBuilderFactory.java} | 310 +-
...tBuilder.java => CwEndpointBuilderFactory.java} | 188 +-
.../camel/model/endpoint/CxfEndpointBuilder.java | 776 ----
.../model/endpoint/CxfEndpointBuilderFactory.java | 1905 ++++++++
.../camel/model/endpoint/CxfRsEndpointBuilder.java | 804 ----
.../endpoint/CxfRsEndpointBuilderFactory.java | 1725 +++++++
....java => DataFormatEndpointBuilderFactory.java} | 87 +-
...der.java => DataSetEndpointBuilderFactory.java} | 545 ++-
.../model/endpoint/DataSetTestEndpointBuilder.java | 453 --
.../DataSetTestEndpointBuilderFactory.java | 195 +
...Builder.java => DdbEndpointBuilderFactory.java} | 216 +-
.../model/endpoint/DdbStreamEndpointBuilder.java | 702 ---
.../endpoint/DdbStreamEndpointBuilderFactory.java | 175 +
...ava => DigitalOceanEndpointBuilderFactory.java} | 252 +-
...=> DigitalSignatureEndpointBuilderFactory.java} | 309 +-
.../model/endpoint/DirectEndpointBuilder.java | 276 --
.../endpoint/DirectEndpointBuilderFactory.java | 416 ++
.../model/endpoint/DirectVmEndpointBuilder.java | 325 --
.../endpoint/DirectVmEndpointBuilderFactory.java | 509 ++
.../model/endpoint/DisruptorEndpointBuilder.java | 441 --
.../endpoint/DisruptorEndpointBuilderFactory.java | 639 +++
.../model/endpoint/DisruptorVmEndpointBuilder.java | 442 --
.../DisruptorVmEndpointBuilderFactory.java | 639 +++
...Builder.java => DnsEndpointBuilderFactory.java} | 86 +-
.../model/endpoint/DockerEndpointBuilder.java | 462 --
.../endpoint/DockerEndpointBuilderFactory.java | 1125 +++++
...ilder.java => DozerEndpointBuilderFactory.java} | 127 +-
...ilder.java => DrillEndpointBuilderFactory.java} | 118 +-
.../model/endpoint/DropboxEndpointBuilder.java | 352 --
.../endpoint/DropboxEndpointBuilderFactory.java | 743 +++
.../camel/model/endpoint/EC2EndpointBuilder.java | 221 -
...Builder.java => EC2EndpointBuilderFactory.java} | 96 +-
.../camel/model/endpoint/ECSEndpointBuilder.java | 215 -
...Builder.java => ECSEndpointBuilderFactory.java} | 96 +-
.../camel/model/endpoint/EKSEndpointBuilder.java | 215 -
...Builder.java => EKSEndpointBuilderFactory.java} | 96 +-
.../model/endpoint/EhcacheEndpointBuilder.java | 480 --
.../endpoint/EhcacheEndpointBuilderFactory.java | 971 ++++
...Builder.java => EjbEndpointBuilderFactory.java} | 111 +-
...va => ElasticsearchEndpointBuilderFactory.java} | 223 +-
.../camel/model/endpoint/ElsqlEndpointBuilder.java | 1141 -----
.../endpoint/ElsqlEndpointBuilderFactory.java | 2006 ++++++++
.../camel/model/endpoint/EndpointBuilder.java | 317 --
.../model/endpoint/EndpointBuilderFactory.java | 317 ++
.../camel/model/endpoint/EtcdEndpointBuilder.java | 735 ---
.../model/endpoint/EtcdEndpointBuilderFactory.java | 1123 +++++
.../model/endpoint/EventAdminEndpointBuilder.java | 237 -
.../endpoint/EventAdminEndpointBuilderFactory.java | 416 ++
.../camel/model/endpoint/EventEndpointBuilder.java | 214 -
.../endpoint/EventEndpointBuilderFactory.java | 353 ++
...uilder.java => ExecEndpointBuilderFactory.java} | 151 +-
.../model/endpoint/FacebookEndpointBuilder.java | 1541 ------
.../endpoint/FacebookEndpointBuilderFactory.java | 4534 ++++++++++++++++++
.../camel/model/endpoint/FhirEndpointBuilder.java | 605 ---
.../model/endpoint/FhirEndpointBuilderFactory.java | 1516 ++++++
...uilder.java => FileEndpointBuilderFactory.java} | 2845 +++++++-----
.../model/endpoint/FlatpackEndpointBuilder.java | 708 ---
.../endpoint/FlatpackEndpointBuilderFactory.java | 1162 +++++
...ilder.java => FlinkEndpointBuilderFactory.java} | 154 +-
...Builder.java => FopEndpointBuilderFactory.java} | 106 +-
....java => FreemarkerEndpointBuilderFactory.java} | 129 +-
.../camel/model/endpoint/FtpEndpointBuilder.java | 2759 -----------
.../model/endpoint/FtpEndpointBuilderFactory.java | 4298 +++++++++++++++++
.../camel/model/endpoint/FtpsEndpointBuilder.java | 3030 ------------
.../model/endpoint/FtpsEndpointBuilderFactory.java | 4897 ++++++++++++++++++++
...der.java => GangliaEndpointBuilderFactory.java} | 210 +-
...er.java => GeoCoderEndpointBuilderFactory.java} | 218 +-
.../camel/model/endpoint/GitEndpointBuilder.java | 320 --
.../model/endpoint/GitEndpointBuilderFactory.java | 568 +++
.../model/endpoint/GitHubEndpointBuilder.java | 313 --
.../endpoint/GitHubEndpointBuilderFactory.java | 567 +++
...lder.java => GlanceEndpointBuilderFactory.java} | 131 +-
...a => GoogleBigQueryEndpointBuilderFactory.java} | 114 +-
...> GoogleBigQuerySQLEndpointBuilderFactory.java} | 106 +-
.../endpoint/GoogleCalendarEndpointBuilder.java | 342 --
.../GoogleCalendarEndpointBuilderFactory.java | 751 +++
...GoogleCalendarStreamEndpointBuilderFactory.java | 283 ++
.../model/endpoint/GoogleDriveEndpointBuilder.java | 350 --
.../GoogleDriveEndpointBuilderFactory.java | 761 +++
.../model/endpoint/GoogleMailEndpointBuilder.java | 299 --
.../endpoint/GoogleMailEndpointBuilderFactory.java | 609 +++
.../endpoint/GoogleMailStreamEndpointBuilder.java | 652 ---
.../GoogleMailStreamEndpointBuilderFactory.java | 229 +
.../endpoint/GooglePubsubEndpointBuilder.java | 325 --
.../GooglePubsubEndpointBuilderFactory.java | 695 +++
.../endpoint/GoogleSheetsEndpointBuilder.java | 301 --
.../GoogleSheetsEndpointBuilderFactory.java | 615 +++
.../GoogleSheetsStreamEndpointBuilderFactory.java | 286 ++
.../camel/model/endpoint/GoraEndpointBuilder.java | 499 --
.../model/endpoint/GoraEndpointBuilderFactory.java | 747 +++
...ilder.java => GrapeEndpointBuilderFactory.java} | 84 +-
.../model/endpoint/GridFsEndpointBuilder.java | 431 --
.../endpoint/GridFsEndpointBuilderFactory.java | 786 ++++
.../camel/model/endpoint/GrpcEndpointBuilder.java | 609 ---
.../model/endpoint/GrpcEndpointBuilderFactory.java | 1200 +++++
.../endpoint/GuavaEventBusEndpointBuilder.java | 276 --
.../GuavaEventBusEndpointBuilderFactory.java | 542 +++
.../camel/model/endpoint/HBaseEndpointBuilder.java | 449 --
.../endpoint/HBaseEndpointBuilderFactory.java | 898 ++++
...zelcastAtomicnumberEndpointBuilderFactory.java} | 245 +-
.../endpoint/HazelcastInstanceEndpointBuilder.java | 454 --
...> HazelcastInstanceEndpointBuilderFactory.java} | 272 +-
.../endpoint/HazelcastListEndpointBuilder.java | 471 --
.../HazelcastListEndpointBuilderFactory.java | 1018 ++++
.../endpoint/HazelcastMapEndpointBuilder.java | 471 --
.../HazelcastMapEndpointBuilderFactory.java | 1014 ++++
.../endpoint/HazelcastMultimapEndpointBuilder.java | 476 --
.../HazelcastMultimapEndpointBuilderFactory.java | 1026 ++++
.../endpoint/HazelcastQueueEndpointBuilder.java | 472 --
.../HazelcastQueueEndpointBuilderFactory.java | 1021 ++++
.../HazelcastReplicatedmapEndpointBuilder.java | 478 --
...zelcastReplicatedmapEndpointBuilderFactory.java | 1029 ++++
...HazelcastRingbufferEndpointBuilderFactory.java} | 245 +-
.../endpoint/HazelcastSedaEndpointBuilder.java | 471 --
.../HazelcastSedaEndpointBuilderFactory.java | 1017 ++++
.../endpoint/HazelcastSetEndpointBuilder.java | 469 --
.../HazelcastSetEndpointBuilderFactory.java | 1014 ++++
.../endpoint/HazelcastTopicEndpointBuilder.java | 472 --
.../HazelcastTopicEndpointBuilderFactory.java | 1021 ++++
.../camel/model/endpoint/HdfsEndpointBuilder.java | 969 ----
.../model/endpoint/HdfsEndpointBuilderFactory.java | 1834 ++++++++
.../model/endpoint/HipchatEndpointBuilder.java | 631 ---
.../endpoint/HipchatEndpointBuilderFactory.java | 923 ++++
.../camel/model/endpoint/HttpEndpointBuilder.java | 1053 -----
.../model/endpoint/HttpEndpointBuilderFactory.java | 599 +++
.../camel/model/endpoint/IAMEndpointBuilder.java | 215 -
...Builder.java => IAMEndpointBuilderFactory.java} | 96 +-
.../camel/model/endpoint/IOTAEndpointBuilder.java | 301 --
.../model/endpoint/IOTAEndpointBuilderFactory.java | 632 +++
...uilder.java => IPFSEndpointBuilderFactory.java} | 95 +-
.../model/endpoint/IgniteCacheEndpointBuilder.java | 486 --
.../IgniteCacheEndpointBuilderFactory.java | 721 +++
.../endpoint/IgniteComputeEndpointBuilder.java | 261 --
.../IgniteComputeEndpointBuilderFactory.java | 177 +
.../endpoint/IgniteEventsEndpointBuilder.java | 289 --
.../IgniteEventsEndpointBuilderFactory.java | 166 +
.../model/endpoint/IgniteIdGenEndpointBuilder.java | 232 -
.../IgniteIdGenEndpointBuilderFactory.java | 175 +
.../endpoint/IgniteMessagingEndpointBuilder.java | 334 --
.../IgniteMessagingEndpointBuilderFactory.java | 562 +++
.../model/endpoint/IgniteQueueEndpointBuilder.java | 256 -
.../IgniteQueueEndpointBuilderFactory.java | 174 +
.../model/endpoint/IgniteSetEndpointBuilder.java | 221 -
.../endpoint/IgniteSetEndpointBuilderFactory.java | 174 +
.../model/endpoint/InfinispanEndpointBuilder.java | 536 ---
.../endpoint/InfinispanEndpointBuilderFactory.java | 1077 +++++
...er.java => InfluxDbEndpointBuilderFactory.java} | 121 +-
.../camel/model/endpoint/IrcEndpointBuilder.java | 586 ---
.../model/endpoint/IrcEndpointBuilderFactory.java | 1494 ++++++
.../model/endpoint/IronMQEndpointBuilder.java | 754 ---
.../endpoint/IronMQEndpointBuilderFactory.java | 1060 +++++
.../camel/model/endpoint/JBPMEndpointBuilder.java | 640 ---
.../model/endpoint/JBPMEndpointBuilderFactory.java | 1652 +++++++
.../model/endpoint/JCacheEndpointBuilder.java | 549 ---
.../endpoint/JCacheEndpointBuilderFactory.java | 1218 +++++
.../model/endpoint/JGroupsEndpointBuilder.java | 250 -
.../endpoint/JGroupsEndpointBuilderFactory.java | 413 ++
.../model/endpoint/JGroupsRaftEndpointBuilder.java | 241 -
.../JGroupsRaftEndpointBuilderFactory.java | 380 ++
.../camel/model/endpoint/JMXEndpointBuilder.java | 657 ---
.../model/endpoint/JMXEndpointBuilderFactory.java | 538 +++
.../endpoint/JSR356WebSocketEndpointBuilder.java | 246 -
.../JSR356WebSocketEndpointBuilderFactory.java | 455 ++
.../model/endpoint/JcloudsEndpointBuilder.java | 346 --
.../endpoint/JcloudsEndpointBuilderFactory.java | 551 +++
.../camel/model/endpoint/JcrEndpointBuilder.java | 380 --
.../model/endpoint/JcrEndpointBuilderFactory.java | 861 ++++
...uilder.java => JdbcEndpointBuilderFactory.java} | 234 +-
.../camel/model/endpoint/JettyHttpEndpoint9.java | 637 ---
.../model/endpoint/JettyHttpEndpointBuilder9.java | 1334 ------
.../endpoint/JettyHttpEndpointBuilder9Factory.java | 2056 ++++++++
...uilder.java => JingEndpointBuilderFactory.java} | 94 +-
.../camel/model/endpoint/JiraEndpointBuilder.java | 354 --
.../model/endpoint/JiraEndpointBuilderFactory.java | 708 +++
.../camel/model/endpoint/JmsEndpointBuilder.java | 2329 ----------
.../model/endpoint/JmsEndpointBuilderFactory.java | 4634 ++++++++++++++++++
...uilder.java => JoltEndpointBuilderFactory.java} | 132 +-
.../camel/model/endpoint/JooqEndpointBuilder.java | 624 ---
...uilder.java => JooqEndpointBuilderFactory.java} | 944 ++--
.../camel/model/endpoint/JpaEndpointBuilder.java | 1043 -----
.../model/endpoint/JpaEndpointBuilderFactory.java | 1632 +++++++
...va => JsonValidatorEndpointBuilderFactory.java} | 160 +-
.../camel/model/endpoint/Jt400EndpointBuilder.java | 825 ----
.../endpoint/Jt400EndpointBuilderFactory.java | 1436 ++++++
.../camel/model/endpoint/KMSEndpointBuilder.java | 214 -
...Builder.java => KMSEndpointBuilderFactory.java} | 96 +-
.../camel/model/endpoint/KafkaEndpointBuilder.java | 2001 --------
.../endpoint/KafkaEndpointBuilderFactory.java | 2985 ++++++++++++
...er.java => KeystoneEndpointBuilderFactory.java} | 131 +-
.../model/endpoint/KinesisEndpointBuilder.java | 746 ---
.../endpoint/KinesisEndpointBuilderFactory.java | 1057 +++++
... => KinesisFirehoseEndpointBuilderFactory.java} | 159 +-
...ubernetesConfigMapsEndpointBuilderFactory.java} | 306 +-
.../KubernetesDeploymentsEndpointBuilder.java | 479 --
...ubernetesDeploymentsEndpointBuilderFactory.java | 1078 +++++
.../endpoint/KubernetesHPAEndpointBuilder.java | 476 --
.../KubernetesHPAEndpointBuilderFactory.java | 1065 +++++
.../endpoint/KubernetesJobEndpointBuilder.java | 476 --
.../KubernetesJobEndpointBuilderFactory.java | 1065 +++++
.../KubernetesNamespacesEndpointBuilder.java | 481 --
...KubernetesNamespacesEndpointBuilderFactory.java | 1079 +++++
.../endpoint/KubernetesNodesEndpointBuilder.java | 477 --
.../KubernetesNodesEndpointBuilderFactory.java | 1072 +++++
...istentVolumesClaimsEndpointBuilderFactory.java} | 307 +-
...esPersistentVolumesEndpointBuilderFactory.java} | 305 +-
.../endpoint/KubernetesPodsEndpointBuilder.java | 476 --
.../KubernetesPodsEndpointBuilderFactory.java | 1072 +++++
...netesReplicationControllersEndpointBuilder.java | 490 --
...plicationControllersEndpointBuilderFactory.java | 1083 +++++
...netesResourcesQuotaEndpointBuilderFactory.java} | 307 +-
...> KubernetesSecretsEndpointBuilderFactory.java} | 303 +-
...etesServiceAccountsEndpointBuilderFactory.java} | 307 +-
.../KubernetesServicesEndpointBuilder.java | 481 --
.../KubernetesServicesEndpointBuilderFactory.java | 1078 +++++
...lder.java => LambdaEndpointBuilderFactory.java} | 209 +-
...er.java => LanguageEndpointBuilderFactory.java} | 141 +-
...uilder.java => LdapEndpointBuilderFactory.java} | 114 +-
...uilder.java => LdifEndpointBuilderFactory.java} | 82 +-
.../model/endpoint/LinkedInEndpointBuilder.java | 455 --
.../endpoint/LinkedInEndpointBuilderFactory.java | 1064 +++++
...Builder.java => LogEndpointBuilderFactory.java} | 418 +-
...lder.java => LuceneEndpointBuilderFactory.java} | 141 +-
.../model/endpoint/LumberjackEndpointBuilder.java | 234 -
.../endpoint/LumberjackEndpointBuilderFactory.java | 161 +
.../camel/model/endpoint/MQEndpointBuilder.java | 216 -
...tBuilder.java => MQEndpointBuilderFactory.java} | 95 +-
.../camel/model/endpoint/MQTTEndpointBuilder.java | 843 ----
.../model/endpoint/MQTTEndpointBuilderFactory.java | 2286 +++++++++
.../camel/model/endpoint/MSKEndpointBuilder.java | 215 -
...Builder.java => MSKEndpointBuilderFactory.java} | 96 +-
.../camel/model/endpoint/MailEndpointBuilder.java | 1426 ------
.../model/endpoint/MailEndpointBuilderFactory.java | 2356 ++++++++++
.../model/endpoint/MasterEndpointBuilder.java | 204 -
...lder.java => MasterEndpointBuilderFactory.java} | 101 +-
...der.java => MetricsEndpointBuilderFactory.java} | 168 +-
....java => MicrometerEndpointBuilderFactory.java} | 131 +-
.../model/endpoint/MiloClientEndpointBuilder.java | 545 ---
.../endpoint/MiloClientEndpointBuilderFactory.java | 1422 ++++++
.../model/endpoint/MiloServerEndpointBuilder.java | 214 -
.../endpoint/MiloServerEndpointBuilderFactory.java | 352 ++
.../camel/model/endpoint/Mina2EndpointBuilder.java | 730 ---
.../endpoint/Mina2EndpointBuilderFactory.java | 1733 +++++++
.../camel/model/endpoint/MllpEndpointBuilder.java | 718 ---
.../model/endpoint/MllpEndpointBuilderFactory.java | 1479 ++++++
.../camel/model/endpoint/MockEndpointBuilder.java | 376 --
...uilder.java => MockEndpointBuilderFactory.java} | 90 +-
.../model/endpoint/MongoDbEndpointBuilder.java | 492 --
.../endpoint/MongoDbEndpointBuilderFactory.java | 1216 +++++
...Builder.java => MsvEndpointBuilderFactory.java} | 189 +-
...er.java => MustacheEndpointBuilderFactory.java} | 112 +-
...uilder.java => MvelEndpointBuilderFactory.java} | 99 +-
.../model/endpoint/MyBatisBeanEndpointBuilder.java | 184 -
.../MyBatisBeanEndpointBuilderFactory.java | 138 +
...der.java => MyBatisEndpointBuilderFactory.java} | 781 ++--
...lder.java => NagiosEndpointBuilderFactory.java} | 205 +-
.../camel/model/endpoint/NatsEndpointBuilder.java | 570 ---
.../model/endpoint/NatsEndpointBuilderFactory.java | 1387 ++++++
...r.java => NetWeaverEndpointBuilderFactory.java} | 131 +-
.../camel/model/endpoint/NettyEndpointBuilder.java | 1692 -------
.../endpoint/NettyEndpointBuilderFactory.java | 3648 +++++++++++++++
.../model/endpoint/NettyHttpEndpointBuilder.java | 1917 --------
.../endpoint/NettyHttpEndpointBuilderFactory.java | 4014 ++++++++++++++++
...der.java => NeutronEndpointBuilderFactory.java} | 137 +-
...uilder.java => NovaEndpointBuilderFactory.java} | 137 +-
.../camel/model/endpoint/NsqEndpointBuilder.java | 406 --
.../model/endpoint/NsqEndpointBuilderFactory.java | 674 +++
.../model/endpoint/Olingo2EndpointBuilder.java | 448 --
.../endpoint/Olingo2EndpointBuilderFactory.java | 1083 +++++
.../model/endpoint/Olingo4EndpointBuilder.java | 448 --
.../endpoint/Olingo4EndpointBuilderFactory.java | 1083 +++++
...enshiftBuildConfigsEndpointBuilderFactory.java} | 306 +-
... => OpenshiftBuildsEndpointBuilderFactory.java} | 301 +-
.../model/endpoint/OptaPlannerEndpointBuilder.java | 261 --
.../OptaPlannerEndpointBuilderFactory.java | 421 ++
.../camel/model/endpoint/PahoEndpointBuilder.java | 383 --
.../model/endpoint/PahoEndpointBuilderFactory.java | 867 ++++
.../model/endpoint/PaxLoggingEndpointBuilder.java | 197 -
....java => PaxLoggingEndpointBuilderFactory.java} | 99 +-
...Builder.java => PdfEndpointBuilderFactory.java} | 185 +-
.../model/endpoint/PgEventEndpointBuilder.java | 292 --
.../endpoint/PgEventEndpointBuilderFactory.java | 588 +++
...der.java => PrinterEndpointBuilderFactory.java} | 179 +-
.../model/endpoint/PropertiesEndpointBuilder.java | 262 --
.../endpoint/PropertiesEndpointBuilderFactory.java | 498 ++
.../model/endpoint/PubNubEndpointBuilder.java | 350 --
.../endpoint/PubNubEndpointBuilderFactory.java | 689 +++
.../model/endpoint/PulsarEndpointBuilder.java | 318 --
.../endpoint/PulsarEndpointBuilderFactory.java | 447 ++
...lder.java => QuartzEndpointBuilderFactory.java} | 468 +-
.../endpoint/QueueServiceEndpointBuilder.java | 338 --
.../QueueServiceEndpointBuilderFactory.java | 574 +++
.../model/endpoint/QuickfixjEndpointBuilder.java | 268 --
.../endpoint/QuickfixjEndpointBuilderFactory.java | 523 +++
.../model/endpoint/RabbitMQEndpointBuilder.java | 1202 -----
.../endpoint/RabbitMQEndpointBuilderFactory.java | 2704 +++++++++++
.../endpoint/ReactiveStreamsEndpointBuilder.java | 371 --
.../ReactiveStreamsEndpointBuilderFactory.java | 511 ++
.../camel/model/endpoint/RedisEndpointBuilder.java | 357 --
.../endpoint/RedisEndpointBuilderFactory.java | 734 +++
.../camel/model/endpoint/RefEndpointBuilder.java | 214 -
.../model/endpoint/RefEndpointBuilderFactory.java | 352 ++
.../model/endpoint/RestApiEndpointBuilder.java | 229 -
.../endpoint/RestApiEndpointBuilderFactory.java | 157 +
.../camel/model/endpoint/RestEndpointBuilder.java | 367 --
.../model/endpoint/RestEndpointBuilderFactory.java | 673 +++
.../model/endpoint/RestSwaggerEndpointBuilder.java | 222 -
...java => RestSwaggerEndpointBuilderFactory.java} | 87 +-
.../model/endpoint/RestletEndpointBuilder.java | 571 ---
.../endpoint/RestletEndpointBuilderFactory.java | 1039 +++++
.../camel/model/endpoint/RssEndpointBuilder.java | 673 ---
.../model/endpoint/RssEndpointBuilderFactory.java | 258 ++
.../camel/model/endpoint/S3EndpointBuilder.java | 1124 -----
.../model/endpoint/S3EndpointBuilderFactory.java | 1905 ++++++++
.../camel/model/endpoint/SWFEndpointBuilder.java | 588 ---
.../model/endpoint/SWFEndpointBuilderFactory.java | 1094 +++++
...uilder.java => SagaEndpointBuilderFactory.java} | 89 +-
.../model/endpoint/SalesforceEndpointBuilder.java | 915 ----
.../endpoint/SalesforceEndpointBuilderFactory.java | 2399 ++++++++++
.../model/endpoint/SchedulerEndpointBuilder.java | 562 ---
.../endpoint/SchedulerEndpointBuilderFactory.java | 143 +
....java => SchematronEndpointBuilderFactory.java} | 119 +-
...Builder.java => ScpEndpointBuilderFactory.java} | 465 +-
...Builder.java => SdbEndpointBuilderFactory.java} | 168 +-
.../camel/model/endpoint/SedaEndpointBuilder.java | 528 ---
.../model/endpoint/SedaEndpointBuilderFactory.java | 773 +++
.../model/endpoint/ServerEndpointBuilder.java | 552 ---
.../endpoint/ServerEndpointBuilderFactory.java | 1366 ++++++
.../model/endpoint/ServiceEndpointBuilder.java | 195 -
...der.java => ServiceEndpointBuilderFactory.java} | 93 +-
....java => ServiceNowEndpointBuilderFactory.java} | 694 +--
.../model/endpoint/ServletEndpointBuilder.java | 596 ---
.../endpoint/ServletEndpointBuilderFactory.java | 339 ++
...Builder.java => SesEndpointBuilderFactory.java} | 193 +-
.../camel/model/endpoint/SftpEndpointBuilder.java | 2879 ------------
.../model/endpoint/SftpEndpointBuilderFactory.java | 4584 ++++++++++++++++++
.../camel/model/endpoint/SipEndpointBuilder.java | 906 ----
.../model/endpoint/SipEndpointBuilderFactory.java | 2464 ++++++++++
.../camel/model/endpoint/Sjms2EndpointBuilder.java | 907 ----
.../endpoint/Sjms2EndpointBuilderFactory.java | 1846 ++++++++
...r.java => SjmsBatchEndpointBuilderFactory.java} | 424 +-
.../camel/model/endpoint/SjmsEndpointBuilder.java | 861 ----
.../model/endpoint/SjmsEndpointBuilderFactory.java | 1798 +++++++
.../camel/model/endpoint/SlackEndpointBuilder.java | 623 ---
...ilder.java => SlackEndpointBuilderFactory.java} | 841 ++--
.../camel/model/endpoint/SmppEndpointBuilder.java | 912 ----
.../model/endpoint/SmppEndpointBuilderFactory.java | 1846 ++++++++
.../camel/model/endpoint/SnmpEndpointBuilder.java | 812 ----
.../model/endpoint/SnmpEndpointBuilderFactory.java | 386 ++
...Builder.java => SnsEndpointBuilderFactory.java} | 254 +-
...uilder.java => SolrEndpointBuilderFactory.java} | 246 +-
.../model/endpoint/SoroushBotEndpointBuilder.java | 592 ---
.../endpoint/SoroushBotEndpointBuilderFactory.java | 1420 ++++++
...ilder.java => SparkEndpointBuilderFactory.java} | 257 +-
.../model/endpoint/SplunkEndpointBuilder.java | 853 ----
.../endpoint/SplunkEndpointBuilderFactory.java | 1288 +++++
...java => SpringBatchEndpointBuilderFactory.java} | 121 +-
.../endpoint/SpringIntegrationEndpointBuilder.java | 263 --
.../SpringIntegrationEndpointBuilderFactory.java | 459 ++
....java => SpringLdapEndpointBuilderFactory.java} | 103 +-
...=> SpringWebserviceEndpointBuilderFactory.java} | 704 ++-
.../camel/model/endpoint/SqlEndpointBuilder.java | 1066 -----
.../model/endpoint/SqlEndpointBuilderFactory.java | 1793 +++++++
...r.java => SqlStoredEndpointBuilderFactory.java} | 151 +-
.../camel/model/endpoint/SqsEndpointBuilder.java | 1175 -----
.../model/endpoint/SqsEndpointBuilderFactory.java | 1889 ++++++++
.../camel/model/endpoint/SshEndpointBuilder.java | 739 ---
.../model/endpoint/SshEndpointBuilderFactory.java | 1255 +++++
...uilder.java => StAXEndpointBuilderFactory.java} | 84 +-
.../camel/model/endpoint/StompEndpointBuilder.java | 294 --
.../endpoint/StompEndpointBuilderFactory.java | 603 +++
.../model/endpoint/StreamEndpointBuilder.java | 565 ---
.../endpoint/StreamEndpointBuilderFactory.java | 951 ++++
...a => StringTemplateEndpointBuilderFactory.java} | 124 +-
.../camel/model/endpoint/StubEndpointBuilder.java | 528 ---
.../model/endpoint/StubEndpointBuilderFactory.java | 773 +++
...ilder.java => SwiftEndpointBuilderFactory.java} | 137 +-
...er.java => TelegramEndpointBuilderFactory.java} | 801 ++--
.../model/endpoint/ThriftEndpointBuilder.java | 422 --
.../endpoint/ThriftEndpointBuilderFactory.java | 817 ++++
...uilder.java => TikaEndpointBuilderFactory.java} | 127 +-
...ilder.java => TimerEndpointBuilderFactory.java} | 252 +-
.../model/endpoint/TwilioEndpointBuilder.java | 256 -
.../endpoint/TwilioEndpointBuilderFactory.java | 460 ++
.../TwitterDirectMessageEndpointBuilder.java | 944 ----
...TwitterDirectMessageEndpointBuilderFactory.java | 1320 ++++++
.../endpoint/TwitterSearchEndpointBuilder.java | 925 ----
.../TwitterSearchEndpointBuilderFactory.java | 1304 ++++++
.../endpoint/TwitterStreamingEndpointBuilder.java | 947 ----
.../TwitterStreamingEndpointBuilderFactory.java | 252 +
.../endpoint/TwitterTimelineEndpointBuilder.java | 963 ----
.../TwitterTimelineEndpointBuilderFactory.java | 1389 ++++++
.../model/endpoint/UndertowEndpointBuilder.java | 603 ---
.../endpoint/UndertowEndpointBuilderFactory.java | 928 ++++
...r.java => ValidatorEndpointBuilderFactory.java} | 193 +-
...er.java => VelocityEndpointBuilderFactory.java} | 118 +-
.../camel/model/endpoint/VertxEndpointBuilder.java | 236 -
.../endpoint/VertxEndpointBuilderFactory.java | 416 ++
.../camel/model/endpoint/VmEndpointBuilder.java | 526 ---
.../model/endpoint/VmEndpointBuilderFactory.java | 770 +++
.../model/endpoint/WeatherEndpointBuilder.java | 946 ----
.../endpoint/WeatherEndpointBuilderFactory.java | 1839 ++++++++
.../camel/model/endpoint/Web3jEndpointBuilder.java | 716 ---
.../endpoint/Web3jEndpointBuilderFactory.java | 1275 +++++
.../model/endpoint/WebhookEndpointBuilder.java | 257 -
.../endpoint/WebhookEndpointBuilderFactory.java | 188 +
.../model/endpoint/WebsocketEndpointBuilder.java | 508 --
.../endpoint/WebsocketEndpointBuilderFactory.java | 1136 +++++
.../model/endpoint/WordpressEndpointBuilder.java | 342 --
.../endpoint/WordpressEndpointBuilderFactory.java | 753 +++
.../camel/model/endpoint/WsEndpointBuilder.java | 467 --
.../model/endpoint/WsEndpointBuilderFactory.java | 1155 +++++
...der.java => XChangeEndpointBuilderFactory.java} | 129 +-
.../endpoint/XQueryEndpointBuilderFactory.java | 1462 ++++++
...ava => XmlSignatureEndpointBuilderFactory.java} | 549 ++-
.../camel/model/endpoint/XmppEndpointBuilder.java | 483 --
.../model/endpoint/XmppEndpointBuilderFactory.java | 1103 +++++
...uilder.java => XsltEndpointBuilderFactory.java} | 274 +-
.../model/endpoint/YammerEndpointBuilder.java | 723 ---
.../endpoint/YammerEndpointBuilderFactory.java | 1001 ++++
.../model/endpoint/ZendeskEndpointBuilder.java | 269 --
.../endpoint/ZendeskEndpointBuilderFactory.java | 518 +++
.../model/endpoint/ZooKeeperEndpointBuilder.java | 366 --
.../endpoint/ZooKeeperEndpointBuilderFactory.java | 649 +++
.../endpoint/ZooKeeperMasterEndpointBuilder.java | 207 -
.../ZooKeeperMasterEndpointBuilderFactory.java | 131 +
.../component/file/FileAbsolutePathIssueTest.java | 4 +-
.../file/FileBatchConsumerMemoryLeakTest.java | 4 +-
.../component/file/FileConsumeCharsetTest.java | 5 +-
.../camel/maven/packaging/EndpointDslMojo.java | 252 +-
506 files changed, 221608 insertions(+), 131948 deletions(-)
diff --git a/core/camel-core/src/main/java/org/apache/camel/builder/EndpointRouteBuilder.java b/core/camel-core/src/main/java/org/apache/camel/builder/EndpointRouteBuilder.java
index 8bad83f..e436004 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/EndpointRouteBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/EndpointRouteBuilder.java
@@ -16,11 +16,11 @@
*/
package org.apache.camel.builder;
-import org.apache.camel.model.endpoint.EndpointBuilder;
+import org.apache.camel.model.endpoint.EndpointBuilderFactory;
/**
* A route builder which gives access to the endpoint DSL
*/
-public abstract class EndpointRouteBuilder extends RouteBuilder implements EndpointBuilder {
+public abstract class EndpointRouteBuilder extends RouteBuilder implements EndpointBuilderFactory {
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/AbstractEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/AbstractEndpointBuilder.java
index 05b1601..ea3e810 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/AbstractEndpointBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/AbstractEndpointBuilder.java
@@ -49,4 +49,7 @@ public class AbstractEndpointBuilder<T extends AbstractEndpointBuilder> {
return getUri();
}
+ public void setProperty(String key, Object value) {
+ this.properties.put(key, value);
+ }
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/EndpointConsumerBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/EndpointConsumerBuilder.java
index 42e7c7f..955da34 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/EndpointConsumerBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/EndpointConsumerBuilder.java
@@ -26,4 +26,6 @@ public interface EndpointConsumerBuilder {
String getUri();
+ void setProperty(String name, Object value);
+
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/EndpointProducerBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/EndpointProducerBuilder.java
index b304ea2..0ff07de 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/EndpointProducerBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/EndpointProducerBuilder.java
@@ -26,4 +26,6 @@ public interface EndpointProducerBuilder {
String getUri();
+ void setProperty(String name, Object value);
+
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilder.java
deleted file mode 100644
index f5889a8..0000000
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilder.java
+++ /dev/null
@@ -1,2329 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.camel.model.endpoint;
-
-import javax.annotation.Generated;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.LoggingLevel;
-import org.apache.camel.model.AbstractEndpointBuilder;
-import org.apache.camel.model.EndpointConsumerBuilder;
-import org.apache.camel.model.EndpointProducerBuilder;
-import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.spi.HeaderFilterStrategy;
-
-/**
- * Messaging with AMQP protocol using Apache QPid Client.
- *
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface AMQPEndpointBuilder {
-
-
- /**
- * Base class for the AMQP component builders.
- */
- public static class AMQPCommonBuilder<T extends AbstractEndpointBuilder>
- extends
- AbstractEndpointBuilder<T> {
- AMQPCommonBuilder(String path) {
- super("amqp", path);
- }
- /**
- * The kind of destination to use.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T destinationType(String destinationType) {
- this.properties.put("destinationType", destinationType);
- return (T) this;
- }
- /**
- * Name of the queue or topic to use as destination.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T destinationName(String destinationName) {
- this.properties.put("destinationName", destinationName);
- return (T) this;
- }
- /**
- * Sets the JMS client ID to use. Note that this value, if specified,
- * must be unique and can only be used by a single JMS connection
- * instance. It is typically only required for durable topic
- * subscriptions. If using Apache ActiveMQ you may prefer to use Virtual
- * Topics instead.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T clientId(String clientId) {
- this.properties.put("clientId", clientId);
- return (T) this;
- }
- /**
- * Sets the default connection factory to be used if a connection
- * factory is not specified for either
- * setTemplateConnectionFactory(ConnectionFactory) or
- * setListenerConnectionFactory(ConnectionFactory).
- * The option is a <code>javax.jms.ConnectionFactory</code> type.
- * @group common
- */
- public T connectionFactory(Object connectionFactory) {
- this.properties.put("connectionFactory", connectionFactory);
- return (T) this;
- }
- /**
- * Sets the default connection factory to be used if a connection
- * factory is not specified for either
- * setTemplateConnectionFactory(ConnectionFactory) or
- * setListenerConnectionFactory(ConnectionFactory).
- * The option will be converted to a
- * <code>javax.jms.ConnectionFactory</code> type.
- * @group common
- */
- public T connectionFactory(String connectionFactory) {
- this.properties.put("connectionFactory", connectionFactory);
- return (T) this;
- }
- /**
- * Specifies whether Camel ignores the JMSReplyTo header in messages. If
- * true, Camel does not send a reply back to the destination specified
- * in the JMSReplyTo header. You can use this option if you want Camel
- * to consume from a route and you do not want Camel to automatically
- * send back a reply message because another component in your code
- * handles the reply message. You can also use this option if you want
- * to use Camel as a proxy between different message brokers and you
- * want to route message from one system to another.
- * The option is a <code>boolean</code> type.
- * @group common
- */
- public T disableReplyTo(boolean disableReplyTo) {
- this.properties.put("disableReplyTo", disableReplyTo);
- return (T) this;
- }
- /**
- * Specifies whether Camel ignores the JMSReplyTo header in messages. If
- * true, Camel does not send a reply back to the destination specified
- * in the JMSReplyTo header. You can use this option if you want Camel
- * to consume from a route and you do not want Camel to automatically
- * send back a reply message because another component in your code
- * handles the reply message. You can also use this option if you want
- * to use Camel as a proxy between different message brokers and you
- * want to route message from one system to another.
- * The option will be converted to a <code>boolean</code> type.
- * @group common
- */
- public T disableReplyTo(String disableReplyTo) {
- this.properties.put("disableReplyTo", disableReplyTo);
- return (T) this;
- }
- /**
- * The durable subscriber name for specifying durable topic
- * subscriptions. The clientId option must be configured as well.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T durableSubscriptionName(String durableSubscriptionName) {
- this.properties.put("durableSubscriptionName", durableSubscriptionName);
- return (T) this;
- }
- /**
- * Allows you to force the use of a specific javax.jms.Message
- * implementation for sending JMS messages. Possible values are: Bytes,
- * Map, Object, Stream, Text. By default, Camel would determine which
- * JMS message type to use from the In body type. This option allows you
- * to specify it.
- * The option is a
- * <code>org.apache.camel.component.jms.JmsMessageType</code> type.
- * @group common
- */
- public T jmsMessageType(JmsMessageType jmsMessageType) {
- this.properties.put("jmsMessageType", jmsMessageType);
- return (T) this;
- }
- /**
- * Allows you to force the use of a specific javax.jms.Message
- * implementation for sending JMS messages. Possible values are: Bytes,
- * Map, Object, Stream, Text. By default, Camel would determine which
- * JMS message type to use from the In body type. This option allows you
- * to specify it.
- * The option will be converted to a
- * <code>org.apache.camel.component.jms.JmsMessageType</code> type.
- * @group common
- */
- public T jmsMessageType(String jmsMessageType) {
- this.properties.put("jmsMessageType", jmsMessageType);
- return (T) this;
- }
- /**
- * Specifies whether to test the connection on startup. This ensures
- * that when Camel starts that all the JMS consumers have a valid
- * connection to the JMS broker. If a connection cannot be granted then
- * Camel throws an exception on startup. This ensures that Camel is not
- * started with failed connections. The JMS producers is tested as well.
- * The option is a <code>boolean</code> type.
- * @group common
- */
- public T testConnectionOnStartup(boolean testConnectionOnStartup) {
- this.properties.put("testConnectionOnStartup", testConnectionOnStartup);
- return (T) this;
- }
- /**
- * Specifies whether to test the connection on startup. This ensures
- * that when Camel starts that all the JMS consumers have a valid
- * connection to the JMS broker. If a connection cannot be granted then
- * Camel throws an exception on startup. This ensures that Camel is not
- * started with failed connections. The JMS producers is tested as well.
- * The option will be converted to a <code>boolean</code> type.
- * @group common
- */
- public T testConnectionOnStartup(String testConnectionOnStartup) {
- this.properties.put("testConnectionOnStartup", testConnectionOnStartup);
- return (T) this;
- }
- /**
- * Controls whether or not to include serialized headers. Applies only
- * when isTransferExchange() is true. This requires that the objects are
- * serializable. Camel will exclude any non-serializable objects and log
- * it at WARN level.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T allowSerializedHeaders(boolean allowSerializedHeaders) {
- this.properties.put("allowSerializedHeaders", allowSerializedHeaders);
- return (T) this;
- }
- /**
- * Controls whether or not to include serialized headers. Applies only
- * when isTransferExchange() is true. This requires that the objects are
- * serializable. Camel will exclude any non-serializable objects and log
- * it at WARN level.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T allowSerializedHeaders(String allowSerializedHeaders) {
- this.properties.put("allowSerializedHeaders", allowSerializedHeaders);
- return (T) this;
- }
- /**
- * Whether to startup the JmsConsumer message listener asynchronously,
- * when starting a route. For example if a JmsConsumer cannot get a
- * connection to a remote JMS broker, then it may block while retrying
- * and/or failover. This will cause Camel to block while starting
- * routes. By setting this option to true, you will let routes startup,
- * while the JmsConsumer connects to the JMS broker using a dedicated
- * thread in asynchronous mode. If this option is used, then beware that
- * if the connection could not be established, then an exception is
- * logged at WARN level, and the consumer will not be able to receive
- * messages; You can then restart the route to retry.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T asyncStartListener(boolean asyncStartListener) {
- this.properties.put("asyncStartListener", asyncStartListener);
- return (T) this;
- }
- /**
- * Whether to startup the JmsConsumer message listener asynchronously,
- * when starting a route. For example if a JmsConsumer cannot get a
- * connection to a remote JMS broker, then it may block while retrying
- * and/or failover. This will cause Camel to block while starting
- * routes. By setting this option to true, you will let routes startup,
- * while the JmsConsumer connects to the JMS broker using a dedicated
- * thread in asynchronous mode. If this option is used, then beware that
- * if the connection could not be established, then an exception is
- * logged at WARN level, and the consumer will not be able to receive
- * messages; You can then restart the route to retry.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T asyncStartListener(String asyncStartListener) {
- this.properties.put("asyncStartListener", asyncStartListener);
- return (T) this;
- }
- /**
- * Whether to stop the JmsConsumer message listener asynchronously, when
- * stopping a route.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T asyncStopListener(boolean asyncStopListener) {
- this.properties.put("asyncStopListener", asyncStopListener);
- return (T) this;
- }
- /**
- * Whether to stop the JmsConsumer message listener asynchronously, when
- * stopping a route.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T asyncStopListener(String asyncStopListener) {
- this.properties.put("asyncStopListener", asyncStopListener);
- return (T) this;
- }
- /**
- * Whether the endpoint should use basic property binding (Camel 2.x) or
- * the newer property binding with additional capabilities.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T basicPropertyBinding(boolean basicPropertyBinding) {
- this.properties.put("basicPropertyBinding", basicPropertyBinding);
- return (T) this;
- }
- /**
- * Whether the endpoint should use basic property binding (Camel 2.x) or
- * the newer property binding with additional capabilities.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T basicPropertyBinding(String basicPropertyBinding) {
- this.properties.put("basicPropertyBinding", basicPropertyBinding);
- return (T) this;
- }
- /**
- * A pluggable
- * org.springframework.jms.support.destination.DestinationResolver that
- * allows you to use your own resolver (for example, to lookup the real
- * destination in a JNDI registry).
- * The option is a
- * <code>org.springframework.jms.support.destination.DestinationResolver</code> type.
- * @group advanced
- */
- public T destinationResolver(Object destinationResolver) {
- this.properties.put("destinationResolver", destinationResolver);
- return (T) this;
- }
- /**
- * A pluggable
- * org.springframework.jms.support.destination.DestinationResolver that
- * allows you to use your own resolver (for example, to lookup the real
- * destination in a JNDI registry).
- * The option will be converted to a
- * <code>org.springframework.jms.support.destination.DestinationResolver</code> type.
- * @group advanced
- */
- public T destinationResolver(String destinationResolver) {
- this.properties.put("destinationResolver", destinationResolver);
- return (T) this;
- }
- /**
- * Specifies a org.springframework.util.ErrorHandler to be invoked in
- * case of any uncaught exceptions thrown while processing a Message. By
- * default these exceptions will be logged at the WARN level, if no
- * errorHandler has been configured. You can configure logging level and
- * whether stack traces should be logged using errorHandlerLoggingLevel
- * and errorHandlerLogStackTrace options. This makes it much easier to
- * configure, than having to code a custom errorHandler.
- * The option is a <code>org.springframework.util.ErrorHandler</code>
- * type.
- * @group advanced
- */
- public T errorHandler(Object errorHandler) {
- this.properties.put("errorHandler", errorHandler);
- return (T) this;
- }
- /**
- * Specifies a org.springframework.util.ErrorHandler to be invoked in
- * case of any uncaught exceptions thrown while processing a Message. By
- * default these exceptions will be logged at the WARN level, if no
- * errorHandler has been configured. You can configure logging level and
- * whether stack traces should be logged using errorHandlerLoggingLevel
- * and errorHandlerLogStackTrace options. This makes it much easier to
- * configure, than having to code a custom errorHandler.
- * The option will be converted to a
- * <code>org.springframework.util.ErrorHandler</code> type.
- * @group advanced
- */
- public T errorHandler(String errorHandler) {
- this.properties.put("errorHandler", errorHandler);
- return (T) this;
- }
- /**
- * Specifies the JMS Exception Listener that is to be notified of any
- * underlying JMS exceptions.
- * The option is a <code>javax.jms.ExceptionListener</code> type.
- * @group advanced
- */
- public T exceptionListener(Object exceptionListener) {
- this.properties.put("exceptionListener", exceptionListener);
- return (T) this;
- }
- /**
- * Specifies the JMS Exception Listener that is to be notified of any
- * underlying JMS exceptions.
- * The option will be converted to a
- * <code>javax.jms.ExceptionListener</code> type.
- * @group advanced
- */
- public T exceptionListener(String exceptionListener) {
- this.properties.put("exceptionListener", exceptionListener);
- return (T) this;
- }
- /**
- * To use a custom HeaderFilterStrategy to filter header to and from
- * Camel message.
- * The option is a
- * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
- * @group advanced
- */
- public T headerFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
- this.properties.put("headerFilterStrategy", headerFilterStrategy);
- return (T) this;
- }
- /**
- * To use a custom HeaderFilterStrategy to filter header to and from
- * Camel message.
- * The option will be converted to a
- * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
- * @group advanced
- */
- public T headerFilterStrategy(String headerFilterStrategy) {
- this.properties.put("headerFilterStrategy", headerFilterStrategy);
- return (T) this;
- }
- /**
- * Specify the limit for the number of consumers that are allowed to be
- * idle at any given time.
- * The option is a <code>int</code> type.
- * @group advanced
- */
- public T idleConsumerLimit(int idleConsumerLimit) {
- this.properties.put("idleConsumerLimit", idleConsumerLimit);
- return (T) this;
- }
- /**
- * Specify the limit for the number of consumers that are allowed to be
- * idle at any given time.
- * The option will be converted to a <code>int</code> type.
- * @group advanced
- */
- public T idleConsumerLimit(String idleConsumerLimit) {
- this.properties.put("idleConsumerLimit", idleConsumerLimit);
- return (T) this;
- }
- /**
- * Specifies the limit for idle executions of a receive task, not having
- * received any message within its execution. If this limit is reached,
- * the task will shut down and leave receiving to other executing tasks
- * (in the case of dynamic scheduling; see the maxConcurrentConsumers
- * setting). There is additional doc available from Spring.
- * The option is a <code>int</code> type.
- * @group advanced
- */
- public T idleTaskExecutionLimit(int idleTaskExecutionLimit) {
- this.properties.put("idleTaskExecutionLimit", idleTaskExecutionLimit);
- return (T) this;
- }
- /**
- * Specifies the limit for idle executions of a receive task, not having
- * received any message within its execution. If this limit is reached,
- * the task will shut down and leave receiving to other executing tasks
- * (in the case of dynamic scheduling; see the maxConcurrentConsumers
- * setting). There is additional doc available from Spring.
- * The option will be converted to a <code>int</code> type.
- * @group advanced
- */
- public T idleTaskExecutionLimit(String idleTaskExecutionLimit) {
- this.properties.put("idleTaskExecutionLimit", idleTaskExecutionLimit);
- return (T) this;
- }
- /**
- * Whether to include all JMSXxxx properties when mapping from JMS to
- * Camel Message. Setting this to true will include properties such as
- * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
- * headerFilterStrategy then this option does not apply.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T includeAllJMSXProperties(boolean includeAllJMSXProperties) {
- this.properties.put("includeAllJMSXProperties", includeAllJMSXProperties);
- return (T) this;
- }
- /**
- * Whether to include all JMSXxxx properties when mapping from JMS to
- * Camel Message. Setting this to true will include properties such as
- * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
- * headerFilterStrategy then this option does not apply.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T includeAllJMSXProperties(String includeAllJMSXProperties) {
- this.properties.put("includeAllJMSXProperties", includeAllJMSXProperties);
- return (T) this;
- }
- /**
- * Pluggable strategy for encoding and decoding JMS keys so they can be
- * compliant with the JMS specification. Camel provides two
- * implementations out of the box: default and passthrough. The default
- * strategy will safely marshal dots and hyphens (. and -). The
- * passthrough strategy leaves the key as is. Can be used for JMS
- * brokers which do not care whether JMS header keys contain illegal
- * characters. You can provide your own implementation of the
- * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
- * using the # notation.
- * The option is a
- * <code>org.apache.camel.component.jms.JmsKeyFormatStrategy</code>
- * type.
- * @group advanced
- */
- public T jmsKeyFormatStrategy(Object jmsKeyFormatStrategy) {
- this.properties.put("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
- return (T) this;
- }
- /**
- * Pluggable strategy for encoding and decoding JMS keys so they can be
- * compliant with the JMS specification. Camel provides two
- * implementations out of the box: default and passthrough. The default
- * strategy will safely marshal dots and hyphens (. and -). The
- * passthrough strategy leaves the key as is. Can be used for JMS
- * brokers which do not care whether JMS header keys contain illegal
- * characters. You can provide your own implementation of the
- * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
- * using the # notation.
- * The option will be converted to a
- * <code>org.apache.camel.component.jms.JmsKeyFormatStrategy</code>
- * type.
- * @group advanced
- */
- public T jmsKeyFormatStrategy(String jmsKeyFormatStrategy) {
- this.properties.put("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
- return (T) this;
- }
- /**
- * Specifies whether Camel should auto map the received JMS message to a
- * suited payload type, such as javax.jms.TextMessage to a String etc.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T mapJmsMessage(boolean mapJmsMessage) {
- this.properties.put("mapJmsMessage", mapJmsMessage);
- return (T) this;
- }
- /**
- * Specifies whether Camel should auto map the received JMS message to a
- * suited payload type, such as javax.jms.TextMessage to a String etc.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T mapJmsMessage(String mapJmsMessage) {
- this.properties.put("mapJmsMessage", mapJmsMessage);
- return (T) this;
- }
- /**
- * The number of messages per task. -1 is unlimited. If you use a range
- * for concurrent consumers (eg min max), then this option can be used
- * to set a value to eg 100 to control how fast the consumers will
- * shrink when less work is required.
- * The option is a <code>int</code> type.
- * @group advanced
- */
- public T maxMessagesPerTask(int maxMessagesPerTask) {
- this.properties.put("maxMessagesPerTask", maxMessagesPerTask);
- return (T) this;
- }
- /**
- * The number of messages per task. -1 is unlimited. If you use a range
- * for concurrent consumers (eg min max), then this option can be used
- * to set a value to eg 100 to control how fast the consumers will
- * shrink when less work is required.
- * The option will be converted to a <code>int</code> type.
- * @group advanced
- */
- public T maxMessagesPerTask(String maxMessagesPerTask) {
- this.properties.put("maxMessagesPerTask", maxMessagesPerTask);
- return (T) this;
- }
- /**
- * To use a custom Spring
- * org.springframework.jms.support.converter.MessageConverter so you can
- * be in control how to map to/from a javax.jms.Message.
- * The option is a
- * <code>org.springframework.jms.support.converter.MessageConverter</code> type.
- * @group advanced
- */
- public T messageConverter(Object messageConverter) {
- this.properties.put("messageConverter", messageConverter);
- return (T) this;
- }
- /**
- * To use a custom Spring
- * org.springframework.jms.support.converter.MessageConverter so you can
- * be in control how to map to/from a javax.jms.Message.
- * The option will be converted to a
- * <code>org.springframework.jms.support.converter.MessageConverter</code> type.
- * @group advanced
- */
- public T messageConverter(String messageConverter) {
- this.properties.put("messageConverter", messageConverter);
- return (T) this;
- }
- /**
- * To use the given MessageCreatedStrategy which are invoked when Camel
- * creates new instances of javax.jms.Message objects when Camel is
- * sending a JMS message.
- * The option is a
- * <code>org.apache.camel.component.jms.MessageCreatedStrategy</code>
- * type.
- * @group advanced
- */
- public T messageCreatedStrategy(Object messageCreatedStrategy) {
- this.properties.put("messageCreatedStrategy", messageCreatedStrategy);
- return (T) this;
- }
- /**
- * To use the given MessageCreatedStrategy which are invoked when Camel
- * creates new instances of javax.jms.Message objects when Camel is
- * sending a JMS message.
- * The option will be converted to a
- * <code>org.apache.camel.component.jms.MessageCreatedStrategy</code>
- * type.
- * @group advanced
- */
- public T messageCreatedStrategy(String messageCreatedStrategy) {
- this.properties.put("messageCreatedStrategy", messageCreatedStrategy);
- return (T) this;
- }
- /**
- * When sending, specifies whether message IDs should be added. This is
- * just an hint to the JMS Broker. If the JMS provider accepts this
- * hint, these messages must have the message ID set to null; if the
- * provider ignores the hint, the message ID must be set to its normal
- * unique value.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T messageIdEnabled(boolean messageIdEnabled) {
- this.properties.put("messageIdEnabled", messageIdEnabled);
- return (T) this;
- }
- /**
- * When sending, specifies whether message IDs should be added. This is
- * just an hint to the JMS Broker. If the JMS provider accepts this
- * hint, these messages must have the message ID set to null; if the
- * provider ignores the hint, the message ID must be set to its normal
- * unique value.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T messageIdEnabled(String messageIdEnabled) {
- this.properties.put("messageIdEnabled", messageIdEnabled);
- return (T) this;
- }
- /**
- * Registry ID of the MessageListenerContainerFactory used to determine
- * what
- * org.springframework.jms.listener.AbstractMessageListenerContainer to
- * use to consume messages. Setting this will automatically set
- * consumerType to Custom.
- * The option is a
- * <code>org.apache.camel.component.jms.MessageListenerContainerFactory</code> type.
- * @group advanced
- */
- public T messageListenerContainerFactory(
- Object messageListenerContainerFactory) {
- this.properties.put("messageListenerContainerFactory", messageListenerContainerFactory);
- return (T) this;
- }
- /**
- * Registry ID of the MessageListenerContainerFactory used to determine
- * what
- * org.springframework.jms.listener.AbstractMessageListenerContainer to
- * use to consume messages. Setting this will automatically set
- * consumerType to Custom.
- * The option will be converted to a
- * <code>org.apache.camel.component.jms.MessageListenerContainerFactory</code> type.
- * @group advanced
- */
- public T messageListenerContainerFactory(
- String messageListenerContainerFactory) {
- this.properties.put("messageListenerContainerFactory", messageListenerContainerFactory);
- return (T) this;
- }
- /**
- * Specifies whether timestamps should be enabled by default on sending
- * messages. This is just an hint to the JMS Broker. If the JMS provider
- * accepts this hint, these messages must have the timestamp set to
- * zero; if the provider ignores the hint, the timestamp must be set to
- * its normal value.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T messageTimestampEnabled(boolean messageTimestampEnabled) {
- this.properties.put("messageTimestampEnabled", messageTimestampEnabled);
- return (T) this;
- }
- /**
- * Specifies whether timestamps should be enabled by default on sending
- * messages. This is just an hint to the JMS Broker. If the JMS provider
- * accepts this hint, these messages must have the timestamp set to
- * zero; if the provider ignores the hint, the timestamp must be set to
- * its normal value.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T messageTimestampEnabled(String messageTimestampEnabled) {
- this.properties.put("messageTimestampEnabled", messageTimestampEnabled);
- return (T) this;
- }
- /**
- * Specifies whether to inhibit the delivery of messages published by
- * its own connection.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T pubSubNoLocal(boolean pubSubNoLocal) {
- this.properties.put("pubSubNoLocal", pubSubNoLocal);
- return (T) this;
- }
- /**
- * Specifies whether to inhibit the delivery of messages published by
- * its own connection.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T pubSubNoLocal(String pubSubNoLocal) {
- this.properties.put("pubSubNoLocal", pubSubNoLocal);
- return (T) this;
- }
- /**
- * The timeout for receiving messages (in milliseconds).
- * The option is a <code>long</code> type.
- * @group advanced
- */
- public T receiveTimeout(long receiveTimeout) {
- this.properties.put("receiveTimeout", receiveTimeout);
- return (T) this;
- }
- /**
- * The timeout for receiving messages (in milliseconds).
- * The option will be converted to a <code>long</code> type.
- * @group advanced
- */
- public T receiveTimeout(String receiveTimeout) {
- this.properties.put("receiveTimeout", receiveTimeout);
- return (T) this;
- }
- /**
- * Specifies the interval between recovery attempts, i.e. when a
- * connection is being refreshed, in milliseconds. The default is 5000
- * ms, that is, 5 seconds.
- * The option is a <code>long</code> type.
- * @group advanced
- */
- public T recoveryInterval(long recoveryInterval) {
- this.properties.put("recoveryInterval", recoveryInterval);
- return (T) this;
- }
- /**
- * Specifies the interval between recovery attempts, i.e. when a
- * connection is being refreshed, in milliseconds. The default is 5000
- * ms, that is, 5 seconds.
- * The option will be converted to a <code>long</code> type.
- * @group advanced
- */
- public T recoveryInterval(String recoveryInterval) {
- this.properties.put("recoveryInterval", recoveryInterval);
- return (T) this;
- }
- /**
- * Configures how often Camel should check for timed out Exchanges when
- * doing request/reply over JMS. By default Camel checks once per
- * second. But if you must react faster when a timeout occurs, then you
- * can lower this interval, to check more frequently. The timeout is
- * determined by the option requestTimeout.
- * The option is a <code>long</code> type.
- * @group advanced
- */
- public T requestTimeoutCheckerInterval(
- long requestTimeoutCheckerInterval) {
- this.properties.put("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
- return (T) this;
- }
- /**
- * Configures how often Camel should check for timed out Exchanges when
- * doing request/reply over JMS. By default Camel checks once per
- * second. But if you must react faster when a timeout occurs, then you
- * can lower this interval, to check more frequently. The timeout is
- * determined by the option requestTimeout.
- * The option will be converted to a <code>long</code> type.
- * @group advanced
- */
- public T requestTimeoutCheckerInterval(
- String requestTimeoutCheckerInterval) {
- this.properties.put("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
- return (T) this;
- }
- /**
- * Sets whether synchronous processing should be strictly used, or Camel
- * is allowed to use asynchronous processing (if supported).
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T synchronous(boolean synchronous) {
- this.properties.put("synchronous", synchronous);
- return (T) this;
- }
- /**
- * Sets whether synchronous processing should be strictly used, or Camel
- * is allowed to use asynchronous processing (if supported).
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T synchronous(String synchronous) {
- this.properties.put("synchronous", synchronous);
- return (T) this;
- }
- /**
- * If enabled and you are using Request Reply messaging (InOut) and an
- * Exchange failed on the consumer side, then the caused Exception will
- * be send back in response as a javax.jms.ObjectMessage. If the client
- * is Camel, the returned Exception is rethrown. This allows you to use
- * Camel JMS as a bridge in your routing - for example, using persistent
- * queues to enable robust routing. Notice that if you also have
- * transferExchange enabled, this option takes precedence. The caught
- * exception is required to be serializable. The original Exception on
- * the consumer side can be wrapped in an outer exception such as
- * org.apache.camel.RuntimeCamelException when returned to the producer.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T transferException(boolean transferException) {
- this.properties.put("transferException", transferException);
- return (T) this;
- }
- /**
- * If enabled and you are using Request Reply messaging (InOut) and an
- * Exchange failed on the consumer side, then the caused Exception will
- * be send back in response as a javax.jms.ObjectMessage. If the client
- * is Camel, the returned Exception is rethrown. This allows you to use
- * Camel JMS as a bridge in your routing - for example, using persistent
- * queues to enable robust routing. Notice that if you also have
- * transferExchange enabled, this option takes precedence. The caught
- * exception is required to be serializable. The original Exception on
- * the consumer side can be wrapped in an outer exception such as
- * org.apache.camel.RuntimeCamelException when returned to the producer.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T transferException(String transferException) {
- this.properties.put("transferException", transferException);
- return (T) this;
- }
- /**
- * You can transfer the exchange over the wire instead of just the body
- * and headers. The following fields are transferred: In body, Out body,
- * Fault body, In headers, Out headers, Fault headers, exchange
- * properties, exchange exception. This requires that the objects are
- * serializable. Camel will exclude any non-serializable objects and log
- * it at WARN level. You must enable this option on both the producer
- * and consumer side, so Camel knows the payloads is an Exchange and not
- * a regular payload.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T transferExchange(boolean transferExchange) {
- this.properties.put("transferExchange", transferExchange);
- return (T) this;
- }
- /**
- * You can transfer the exchange over the wire instead of just the body
- * and headers. The following fields are transferred: In body, Out body,
- * Fault body, In headers, Out headers, Fault headers, exchange
- * properties, exchange exception. This requires that the objects are
- * serializable. Camel will exclude any non-serializable objects and log
- * it at WARN level. You must enable this option on both the producer
- * and consumer side, so Camel knows the payloads is an Exchange and not
- * a regular payload.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T transferExchange(String transferExchange) {
- this.properties.put("transferExchange", transferExchange);
- return (T) this;
- }
- /**
- * If enabled and you are using Request Reply messaging (InOut) and an
- * Exchange failed with a SOAP fault (not exception) on the consumer
- * side, then the fault flag on org.apache.camel.Message#isFault() will
- * be send back in the response as a JMS header with the key
- * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
- * fault flag will be set on the
- * org.apache.camel.Message#setFault(boolean). You may want to enable
- * this when using Camel components that support faults such as SOAP
- * based such as cxf or spring-ws.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T transferFault(boolean transferFault) {
- this.properties.put("transferFault", transferFault);
- return (T) this;
- }
- /**
- * If enabled and you are using Request Reply messaging (InOut) and an
- * Exchange failed with a SOAP fault (not exception) on the consumer
- * side, then the fault flag on org.apache.camel.Message#isFault() will
- * be send back in the response as a JMS header with the key
- * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
- * fault flag will be set on the
- * org.apache.camel.Message#setFault(boolean). You may want to enable
- * this when using Camel components that support faults such as SOAP
- * based such as cxf or spring-ws.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T transferFault(String transferFault) {
- this.properties.put("transferFault", transferFault);
- return (T) this;
- }
- /**
- * Specifies whether JMSMessageID should always be used as
- * JMSCorrelationID for InOut messages.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T useMessageIDAsCorrelationID(boolean useMessageIDAsCorrelationID) {
- this.properties.put("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
- return (T) this;
- }
- /**
- * Specifies whether JMSMessageID should always be used as
- * JMSCorrelationID for InOut messages.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T useMessageIDAsCorrelationID(String useMessageIDAsCorrelationID) {
- this.properties.put("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
- return (T) this;
- }
- /**
- * Number of times to wait for provisional correlation id to be updated
- * to the actual correlation id when doing request/reply over JMS and
- * when the option useMessageIDAsCorrelationID is enabled.
- * The option is a <code>int</code> type.
- * @group advanced
- */
- public T waitForProvisionCorrelationToBeUpdatedCounter(
- int waitForProvisionCorrelationToBeUpdatedCounter) {
- this.properties.put("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
- return (T) this;
- }
- /**
- * Number of times to wait for provisional correlation id to be updated
- * to the actual correlation id when doing request/reply over JMS and
- * when the option useMessageIDAsCorrelationID is enabled.
- * The option will be converted to a <code>int</code> type.
- * @group advanced
- */
- public T waitForProvisionCorrelationToBeUpdatedCounter(
- String waitForProvisionCorrelationToBeUpdatedCounter) {
- this.properties.put("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
- return (T) this;
- }
- /**
- * Interval in millis to sleep each time while waiting for provisional
- * correlation id to be updated.
- * The option is a <code>long</code> type.
- * @group advanced
- */
- public T waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
- long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
- this.properties.put("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
- return (T) this;
- }
- /**
- * Interval in millis to sleep each time while waiting for provisional
- * correlation id to be updated.
- * The option will be converted to a <code>long</code> type.
- * @group advanced
- */
- public T waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
- String waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
- this.properties.put("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
- return (T) this;
- }
- /**
- * Password to use with the ConnectionFactory. You can also configure
- * username/password directly on the ConnectionFactory.
- * The option is a <code>java.lang.String</code> type.
- * @group security
- */
- public T password(String password) {
- this.properties.put("password", password);
- return (T) this;
- }
- /**
- * Username to use with the ConnectionFactory. You can also configure
- * username/password directly on the ConnectionFactory.
- * The option is a <code>java.lang.String</code> type.
- * @group security
- */
- public T username(String username) {
- this.properties.put("username", username);
- return (T) this;
- }
- /**
- * Specifies whether to use transacted mode.
- * The option is a <code>boolean</code> type.
- * @group transaction
- */
- public T transacted(boolean transacted) {
- this.properties.put("transacted", transacted);
- return (T) this;
- }
- /**
- * Specifies whether to use transacted mode.
- * The option will be converted to a <code>boolean</code> type.
- * @group transaction
- */
- public T transacted(String transacted) {
- this.properties.put("transacted", transacted);
- return (T) this;
- }
- /**
- * If true, Camel will create a JmsTransactionManager, if there is no
- * transactionManager injected when option transacted=true.
- * The option is a <code>boolean</code> type.
- * @group transaction (advanced)
- */
- public T lazyCreateTransactionManager(
- boolean lazyCreateTransactionManager) {
- this.properties.put("lazyCreateTransactionManager", lazyCreateTransactionManager);
- return (T) this;
- }
- /**
- * If true, Camel will create a JmsTransactionManager, if there is no
- * transactionManager injected when option transacted=true.
- * The option will be converted to a <code>boolean</code> type.
- * @group transaction (advanced)
- */
- public T lazyCreateTransactionManager(
- String lazyCreateTransactionManager) {
- this.properties.put("lazyCreateTransactionManager", lazyCreateTransactionManager);
- return (T) this;
- }
- /**
- * The Spring transaction manager to use.
- * The option is a
- * <code>org.springframework.transaction.PlatformTransactionManager</code> type.
- * @group transaction (advanced)
- */
- public T transactionManager(Object transactionManager) {
- this.properties.put("transactionManager", transactionManager);
- return (T) this;
- }
- /**
- * The Spring transaction manager to use.
- * The option will be converted to a
- * <code>org.springframework.transaction.PlatformTransactionManager</code> type.
- * @group transaction (advanced)
- */
- public T transactionManager(String transactionManager) {
- this.properties.put("transactionManager", transactionManager);
- return (T) this;
- }
- /**
- * The name of the transaction to use.
- * The option is a <code>java.lang.String</code> type.
- * @group transaction (advanced)
- */
- public T transactionName(String transactionName) {
- this.properties.put("transactionName", transactionName);
- return (T) this;
- }
- /**
- * The timeout value of the transaction (in seconds), if using
- * transacted mode.
- * The option is a <code>int</code> type.
- * @group transaction (advanced)
- */
- public T transactionTimeout(int transactionTimeout) {
- this.properties.put("transactionTimeout", transactionTimeout);
- return (T) this;
- }
- /**
- * The timeout value of the transaction (in seconds), if using
- * transacted mode.
- * The option will be converted to a <code>int</code> type.
- * @group transaction (advanced)
- */
- public T transactionTimeout(String transactionTimeout) {
- this.properties.put("transactionTimeout", transactionTimeout);
- return (T) this;
- }
- }
-
- /**
- * Builder for endpoint consumers for the AMQP component.
- */
- public static class AMQPConsumerBuilder
- extends
- AMQPCommonBuilder<AMQPConsumerBuilder>
- implements
- EndpointConsumerBuilder {
- public AMQPConsumerBuilder(String path) {
- super(path);
- }
- /**
- * The JMS acknowledgement name, which is one of: SESSION_TRANSACTED,
- * CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE.
- * The option is a <code>java.lang.String</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder acknowledgementModeName(
- String acknowledgementModeName) {
- this.properties.put("acknowledgementModeName", acknowledgementModeName);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Whether the JmsConsumer processes the Exchange asynchronously. If
- * enabled then the JmsConsumer may pickup the next message from the JMS
- * queue, while the previous message is being processed asynchronously
- * (by the Asynchronous Routing Engine). This means that messages may be
- * processed not 100% strictly in order. If disabled (as default) then
- * the Exchange is fully processed before the JmsConsumer will pickup
- * the next message from the JMS queue. Note if transacted has been
- * enabled, then asyncConsumer=true does not run asynchronously, as
- * transaction must be executed synchronously (Camel 3.0 may support
- * async transactions).
- * The option is a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder asyncConsumer(boolean asyncConsumer) {
- this.properties.put("asyncConsumer", asyncConsumer);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Whether the JmsConsumer processes the Exchange asynchronously. If
- * enabled then the JmsConsumer may pickup the next message from the JMS
- * queue, while the previous message is being processed asynchronously
- * (by the Asynchronous Routing Engine). This means that messages may be
- * processed not 100% strictly in order. If disabled (as default) then
- * the Exchange is fully processed before the JmsConsumer will pickup
- * the next message from the JMS queue. Note if transacted has been
- * enabled, then asyncConsumer=true does not run asynchronously, as
- * transaction must be executed synchronously (Camel 3.0 may support
- * async transactions).
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder asyncConsumer(String asyncConsumer) {
- this.properties.put("asyncConsumer", asyncConsumer);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies whether the consumer container should auto-startup.
- * The option is a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder autoStartup(boolean autoStartup) {
- this.properties.put("autoStartup", autoStartup);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies whether the consumer container should auto-startup.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder autoStartup(String autoStartup) {
- this.properties.put("autoStartup", autoStartup);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Allows for bridging the consumer to the Camel routing Error Handler,
- * which mean any exceptions occurred while the consumer is trying to
- * pickup incoming messages, or the likes, will now be processed as a
- * message and handled by the routing Error Handler. By default the
- * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
- * with exceptions, that will be logged at WARN or ERROR level and
- * ignored.
- * The option is a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder bridgeErrorHandler(boolean bridgeErrorHandler) {
- this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Allows for bridging the consumer to the Camel routing Error Handler,
- * which mean any exceptions occurred while the consumer is trying to
- * pickup incoming messages, or the likes, will now be processed as a
- * message and handled by the routing Error Handler. By default the
- * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
- * with exceptions, that will be logged at WARN or ERROR level and
- * ignored.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
- this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Sets the cache level by ID for the underlying JMS resources. See
- * cacheLevelName option for more details.
- * The option is a <code>int</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder cacheLevel(int cacheLevel) {
- this.properties.put("cacheLevel", cacheLevel);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Sets the cache level by ID for the underlying JMS resources. See
- * cacheLevelName option for more details.
- * The option will be converted to a <code>int</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder cacheLevel(String cacheLevel) {
- this.properties.put("cacheLevel", cacheLevel);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Sets the cache level by name for the underlying JMS resources.
- * Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER,
- * CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See
- * the Spring documentation and Transactions Cache Levels for more
- * information.
- * The option is a <code>java.lang.String</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder cacheLevelName(String cacheLevelName) {
- this.properties.put("cacheLevelName", cacheLevelName);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies the default number of concurrent consumers when consuming
- * from JMS (not for request/reply over JMS). See also the
- * maxMessagesPerTask option to control dynamic scaling up/down of
- * threads. When doing request/reply over JMS then the option
- * replyToConcurrentConsumers is used to control number of concurrent
- * consumers on the reply message listener.
- * The option is a <code>int</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder concurrentConsumers(int concurrentConsumers) {
- this.properties.put("concurrentConsumers", concurrentConsumers);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies the default number of concurrent consumers when consuming
- * from JMS (not for request/reply over JMS). See also the
- * maxMessagesPerTask option to control dynamic scaling up/down of
- * threads. When doing request/reply over JMS then the option
- * replyToConcurrentConsumers is used to control number of concurrent
- * consumers on the reply message listener.
- * The option will be converted to a <code>int</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder concurrentConsumers(
- String concurrentConsumers) {
- this.properties.put("concurrentConsumers", concurrentConsumers);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies the maximum number of concurrent consumers when consuming
- * from JMS (not for request/reply over JMS). See also the
- * maxMessagesPerTask option to control dynamic scaling up/down of
- * threads. When doing request/reply over JMS then the option
- * replyToMaxConcurrentConsumers is used to control number of concurrent
- * consumers on the reply message listener.
- * The option is a <code>int</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder maxConcurrentConsumers(
- int maxConcurrentConsumers) {
- this.properties.put("maxConcurrentConsumers", maxConcurrentConsumers);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies the maximum number of concurrent consumers when consuming
- * from JMS (not for request/reply over JMS). See also the
- * maxMessagesPerTask option to control dynamic scaling up/down of
- * threads. When doing request/reply over JMS then the option
- * replyToMaxConcurrentConsumers is used to control number of concurrent
- * consumers on the reply message listener.
- * The option will be converted to a <code>int</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder maxConcurrentConsumers(
- String maxConcurrentConsumers) {
- this.properties.put("maxConcurrentConsumers", maxConcurrentConsumers);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Provides an explicit ReplyTo destination, which overrides any
- * incoming value of Message.getJMSReplyTo().
- * The option is a <code>java.lang.String</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder replyTo(String replyTo) {
- this.properties.put("replyTo", replyTo);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies whether to use persistent delivery by default for replies.
- * The option is a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder replyToDeliveryPersistent(
- boolean replyToDeliveryPersistent) {
- this.properties.put("replyToDeliveryPersistent", replyToDeliveryPersistent);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies whether to use persistent delivery by default for replies.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder replyToDeliveryPersistent(
- String replyToDeliveryPersistent) {
- this.properties.put("replyToDeliveryPersistent", replyToDeliveryPersistent);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Sets the JMS selector to use.
- * The option is a <code>java.lang.String</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder selector(String selector) {
- this.properties.put("selector", selector);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Set whether to make the subscription durable. The durable
- * subscription name to be used can be specified through the
- * subscriptionName property. Default is false. Set this to true to
- * register a durable subscription, typically in combination with a
- * subscriptionName value (unless your message listener class name is
- * good enough as subscription name). Only makes sense when listening to
- * a topic (pub-sub domain), therefore this method switches the
- * pubSubDomain flag as well.
- * The option is a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder subscriptionDurable(
- boolean subscriptionDurable) {
- this.properties.put("subscriptionDurable", subscriptionDurable);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Set whether to make the subscription durable. The durable
- * subscription name to be used can be specified through the
- * subscriptionName property. Default is false. Set this to true to
- * register a durable subscription, typically in combination with a
- * subscriptionName value (unless your message listener class name is
- * good enough as subscription name). Only makes sense when listening to
- * a topic (pub-sub domain), therefore this method switches the
- * pubSubDomain flag as well.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder subscriptionDurable(
- String subscriptionDurable) {
- this.properties.put("subscriptionDurable", subscriptionDurable);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Set the name of a subscription to create. To be applied in case of a
- * topic (pub-sub domain) with a shared or durable subscription. The
- * subscription name needs to be unique within this client's JMS client
- * id. Default is the class name of the specified message listener.
- * Note: Only 1 concurrent consumer (which is the default of this
- * message listener container) is allowed for each subscription, except
- * for a shared subscription (which requires JMS 2.0).
- * The option is a <code>java.lang.String</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder subscriptionName(String subscriptionName) {
- this.properties.put("subscriptionName", subscriptionName);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Set whether to make the subscription shared. The shared subscription
- * name to be used can be specified through the subscriptionName
- * property. Default is false. Set this to true to register a shared
- * subscription, typically in combination with a subscriptionName value
- * (unless your message listener class name is good enough as
- * subscription name). Note that shared subscriptions may also be
- * durable, so this flag can (and often will) be combined with
- * subscriptionDurable as well. Only makes sense when listening to a
- * topic (pub-sub domain), therefore this method switches the
- * pubSubDomain flag as well. Requires a JMS 2.0 compatible message
- * broker.
- * The option is a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder subscriptionShared(boolean subscriptionShared) {
- this.properties.put("subscriptionShared", subscriptionShared);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Set whether to make the subscription shared. The shared subscription
- * name to be used can be specified through the subscriptionName
- * property. Default is false. Set this to true to register a shared
- * subscription, typically in combination with a subscriptionName value
- * (unless your message listener class name is good enough as
- * subscription name). Note that shared subscriptions may also be
- * durable, so this flag can (and often will) be combined with
- * subscriptionDurable as well. Only makes sense when listening to a
- * topic (pub-sub domain), therefore this method switches the
- * pubSubDomain flag as well. Requires a JMS 2.0 compatible message
- * broker.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer
- */
- public AMQPConsumerBuilder subscriptionShared(String subscriptionShared) {
- this.properties.put("subscriptionShared", subscriptionShared);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies whether the consumer accept messages while it is stopping.
- * You may consider enabling this option, if you start and stop JMS
- * routes at runtime, while there are still messages enqueued on the
- * queue. If this option is false, and you stop the JMS route, then
- * messages may be rejected, and the JMS broker would have to attempt
- * redeliveries, which yet again may be rejected, and eventually the
- * message may be moved at a dead letter queue on the JMS broker. To
- * avoid this its recommended to enable this option.
- * The option is a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder acceptMessagesWhileStopping(
- boolean acceptMessagesWhileStopping) {
- this.properties.put("acceptMessagesWhileStopping", acceptMessagesWhileStopping);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies whether the consumer accept messages while it is stopping.
- * You may consider enabling this option, if you start and stop JMS
- * routes at runtime, while there are still messages enqueued on the
- * queue. If this option is false, and you stop the JMS route, then
- * messages may be rejected, and the JMS broker would have to attempt
- * redeliveries, which yet again may be rejected, and eventually the
- * message may be moved at a dead letter queue on the JMS broker. To
- * avoid this its recommended to enable this option.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder acceptMessagesWhileStopping(
- String acceptMessagesWhileStopping) {
- this.properties.put("acceptMessagesWhileStopping", acceptMessagesWhileStopping);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Whether the DefaultMessageListenerContainer used in the reply
- * managers for request-reply messaging allow the
- * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
- * in case JmsConfiguration#isAcceptMessagesWhileStopping() is enabled,
- * and org.apache.camel.CamelContext is currently being stopped. This
- * quick stop ability is enabled by default in the regular JMS consumers
- * but to enable for reply managers you must enable this flag.
- * The option is a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder allowReplyManagerQuickStop(
- boolean allowReplyManagerQuickStop) {
- this.properties.put("allowReplyManagerQuickStop", allowReplyManagerQuickStop);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Whether the DefaultMessageListenerContainer used in the reply
- * managers for request-reply messaging allow the
- * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
- * in case JmsConfiguration#isAcceptMessagesWhileStopping() is enabled,
- * and org.apache.camel.CamelContext is currently being stopped. This
- * quick stop ability is enabled by default in the regular JMS consumers
- * but to enable for reply managers you must enable this flag.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder allowReplyManagerQuickStop(
- String allowReplyManagerQuickStop) {
- this.properties.put("allowReplyManagerQuickStop", allowReplyManagerQuickStop);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * The consumer type to use, which can be one of: Simple, Default, or
- * Custom. The consumer type determines which Spring JMS listener to
- * use. Default will use
- * org.springframework.jms.listener.DefaultMessageListenerContainer,
- * Simple will use
- * org.springframework.jms.listener.SimpleMessageListenerContainer. When
- * Custom is specified, the MessageListenerContainerFactory defined by
- * the messageListenerContainerFactory option will determine what
- * org.springframework.jms.listener.AbstractMessageListenerContainer to
- * use.
- * The option is a
- * <code>org.apache.camel.component.jms.ConsumerType</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder consumerType(ConsumerType consumerType) {
- this.properties.put("consumerType", consumerType);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * The consumer type to use, which can be one of: Simple, Default, or
- * Custom. The consumer type determines which Spring JMS listener to
- * use. Default will use
- * org.springframework.jms.listener.DefaultMessageListenerContainer,
- * Simple will use
- * org.springframework.jms.listener.SimpleMessageListenerContainer. When
- * Custom is specified, the MessageListenerContainerFactory defined by
- * the messageListenerContainerFactory option will determine what
- * org.springframework.jms.listener.AbstractMessageListenerContainer to
- * use.
- * The option will be converted to a
- * <code>org.apache.camel.component.jms.ConsumerType</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder consumerType(String consumerType) {
- this.properties.put("consumerType", consumerType);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies what default TaskExecutor type to use in the
- * DefaultMessageListenerContainer, for both consumer endpoints and the
- * ReplyTo consumer of producer endpoints. Possible values: SimpleAsync
- * (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's
- * ThreadPoolTaskExecutor with optimal values - cached threadpool-like).
- * If not set, it defaults to the previous behaviour, which uses a
- * cached thread pool for consumer endpoints and SimpleAsync for reply
- * consumers. The use of ThreadPool is recommended to reduce thread
- * trash in elastic configurations with dynamically increasing and
- * decreasing concurrent consumers.
- * The option is a
- * <code>org.apache.camel.component.jms.DefaultTaskExecutorType</code>
- * type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder defaultTaskExecutorType(
- DefaultTaskExecutorType defaultTaskExecutorType) {
- this.properties.put("defaultTaskExecutorType", defaultTaskExecutorType);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies what default TaskExecutor type to use in the
- * DefaultMessageListenerContainer, for both consumer endpoints and the
- * ReplyTo consumer of producer endpoints. Possible values: SimpleAsync
- * (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's
- * ThreadPoolTaskExecutor with optimal values - cached threadpool-like).
- * If not set, it defaults to the previous behaviour, which uses a
- * cached thread pool for consumer endpoints and SimpleAsync for reply
- * consumers. The use of ThreadPool is recommended to reduce thread
- * trash in elastic configurations with dynamically increasing and
- * decreasing concurrent consumers.
- * The option will be converted to a
- * <code>org.apache.camel.component.jms.DefaultTaskExecutorType</code>
- * type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder defaultTaskExecutorType(
- String defaultTaskExecutorType) {
- this.properties.put("defaultTaskExecutorType", defaultTaskExecutorType);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Enables eager loading of JMS properties and payload as soon as a
- * message is loaded which generally is inefficient as the JMS
- * properties may not be required but sometimes can catch early any
- * issues with the underlying JMS provider and the use of JMS
- * properties.
- * The option is a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder eagerLoadingOfProperties(
- boolean eagerLoadingOfProperties) {
- this.properties.put("eagerLoadingOfProperties", eagerLoadingOfProperties);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Enables eager loading of JMS properties and payload as soon as a
- * message is loaded which generally is inefficient as the JMS
- * properties may not be required but sometimes can catch early any
- * issues with the underlying JMS provider and the use of JMS
- * properties.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder eagerLoadingOfProperties(
- String eagerLoadingOfProperties) {
- this.properties.put("eagerLoadingOfProperties", eagerLoadingOfProperties);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * To let the consumer use a custom ExceptionHandler. Notice if the
- * option bridgeErrorHandler is enabled then this option is not in use.
- * By default the consumer will deal with exceptions, that will be
- * logged at WARN or ERROR level and ignored.
- * The option is a <code>org.apache.camel.spi.ExceptionHandler</code>
- * type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder exceptionHandler(
- ExceptionHandler exceptionHandler) {
- this.properties.put("exceptionHandler", exceptionHandler);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * To let the consumer use a custom ExceptionHandler. Notice if the
- * option bridgeErrorHandler is enabled then this option is not in use.
- * By default the consumer will deal with exceptions, that will be
- * logged at WARN or ERROR level and ignored.
- * The option will be converted to a
- * <code>org.apache.camel.spi.ExceptionHandler</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder exceptionHandler(String exceptionHandler) {
- this.properties.put("exceptionHandler", exceptionHandler);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Sets the exchange pattern when the consumer creates an exchange.
- * The option is a <code>org.apache.camel.ExchangePattern</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder exchangePattern(
- ExchangePattern exchangePattern) {
- this.properties.put("exchangePattern", exchangePattern);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Sets the exchange pattern when the consumer creates an exchange.
- * The option will be converted to a
- * <code>org.apache.camel.ExchangePattern</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder exchangePattern(String exchangePattern) {
- this.properties.put("exchangePattern", exchangePattern);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies whether the listener session should be exposed when
- * consuming messages.
- * The option is a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder exposeListenerSession(
- boolean exposeListenerSession) {
- this.properties.put("exposeListenerSession", exposeListenerSession);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Specifies whether the listener session should be exposed when
- * consuming messages.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder exposeListenerSession(
- String exposeListenerSession) {
- this.properties.put("exposeListenerSession", exposeListenerSession);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Whether a JMS consumer is allowed to send a reply message to the same
- * destination that the consumer is using to consume from. This prevents
- * an endless loop by consuming and sending back the same message to
- * itself.
- * The option is a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder replyToSameDestinationAllowed(
- boolean replyToSameDestinationAllowed) {
- this.properties.put("replyToSameDestinationAllowed", replyToSameDestinationAllowed);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Whether a JMS consumer is allowed to send a reply message to the same
- * destination that the consumer is using to consume from. This prevents
- * an endless loop by consuming and sending back the same message to
- * itself.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder replyToSameDestinationAllowed(
- String replyToSameDestinationAllowed) {
- this.properties.put("replyToSameDestinationAllowed", replyToSameDestinationAllowed);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Allows you to specify a custom task executor for consuming messages.
- * The option is a
- * <code>org.springframework.core.task.TaskExecutor</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder taskExecutor(Object taskExecutor) {
- this.properties.put("taskExecutor", taskExecutor);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Allows you to specify a custom task executor for consuming messages.
- * The option will be converted to a
- * <code>org.springframework.core.task.TaskExecutor</code> type.
- * @group consumer (advanced)
- */
- public AMQPConsumerBuilder taskExecutor(String taskExecutor) {
- this.properties.put("taskExecutor", taskExecutor);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Allows to configure the default errorHandler logging level for
- * logging uncaught exceptions.
- * The option is a <code>org.apache.camel.LoggingLevel</code> type.
- * @group logging
- */
- public AMQPConsumerBuilder errorHandlerLoggingLevel(
- LoggingLevel errorHandlerLoggingLevel) {
- this.properties.put("errorHandlerLoggingLevel", errorHandlerLoggingLevel);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Allows to configure the default errorHandler logging level for
- * logging uncaught exceptions.
- * The option will be converted to a
- * <code>org.apache.camel.LoggingLevel</code> type.
- * @group logging
- */
- public AMQPConsumerBuilder errorHandlerLoggingLevel(
- String errorHandlerLoggingLevel) {
- this.properties.put("errorHandlerLoggingLevel", errorHandlerLoggingLevel);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Allows to control whether stacktraces should be logged or not, by the
- * default errorHandler.
- * The option is a <code>boolean</code> type.
- * @group logging
- */
- public AMQPConsumerBuilder errorHandlerLogStackTrace(
- boolean errorHandlerLogStackTrace) {
- this.properties.put("errorHandlerLogStackTrace", errorHandlerLogStackTrace);
- return (AMQPConsumerBuilder) this;
- }
- /**
- * Allows to control whether stacktraces should be logged or not, by the
- * default errorHandler.
- * The option will be converted to a <code>boolean</code> type.
- * @group logging
- */
- public AMQPConsumerBuilder errorHandlerLogStackTrace(
- String errorHandlerLogStackTrace) {
- this.properties.put("errorHandlerLogStackTrace", errorHandlerLogStackTrace);
- return (AMQPConsumerBuilder) this;
- }
- }
-
- /**
- * Builder for endpoint producers for the AMQP component.
- */
- public static class AMQPProducerBuilder
- extends
- AMQPCommonBuilder<AMQPProducerBuilder>
- implements
- EndpointProducerBuilder {
- public AMQPProducerBuilder(String path) {
- super(path);
- }
- /**
- * Specifies the delivery mode to be used. Possibles values are those
- * defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT
- * = 2.
- * The option is a <code>java.lang.Integer</code> type.
- * @group producer
- */
- public AMQPProducerBuilder deliveryMode(Integer deliveryMode) {
- this.properties.put("deliveryMode", deliveryMode);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Specifies the delivery mode to be used. Possibles values are those
- * defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT
- * = 2.
- * The option will be converted to a <code>java.lang.Integer</code>
- * type.
- * @group producer
- */
- public AMQPProducerBuilder deliveryMode(String deliveryMode) {
- this.properties.put("deliveryMode", deliveryMode);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Specifies whether persistent delivery is used by default.
- * The option is a <code>boolean</code> type.
- * @group producer
- */
- public AMQPProducerBuilder deliveryPersistent(boolean deliveryPersistent) {
- this.properties.put("deliveryPersistent", deliveryPersistent);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Specifies whether persistent delivery is used by default.
- * The option will be converted to a <code>boolean</code> type.
- * @group producer
- */
- public AMQPProducerBuilder deliveryPersistent(String deliveryPersistent) {
- this.properties.put("deliveryPersistent", deliveryPersistent);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Set if the deliveryMode, priority or timeToLive qualities of service
- * should be used when sending messages. This option is based on
- * Spring's JmsTemplate. The deliveryMode, priority and timeToLive
- * options are applied to the current endpoint. This contrasts with the
- * preserveMessageQos option, which operates at message granularity,
- * reading QoS properties exclusively from the Camel In message headers.
- * The option is a <code>java.lang.Boolean</code> type.
- * @group producer
- */
- public AMQPProducerBuilder explicitQosEnabled(Boolean explicitQosEnabled) {
- this.properties.put("explicitQosEnabled", explicitQosEnabled);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Set if the deliveryMode, priority or timeToLive qualities of service
- * should be used when sending messages. This option is based on
- * Spring's JmsTemplate. The deliveryMode, priority and timeToLive
- * options are applied to the current endpoint. This contrasts with the
- * preserveMessageQos option, which operates at message granularity,
- * reading QoS properties exclusively from the Camel In message headers.
- * The option will be converted to a <code>java.lang.Boolean</code>
- * type.
- * @group producer
- */
- public AMQPProducerBuilder explicitQosEnabled(String explicitQosEnabled) {
- this.properties.put("explicitQosEnabled", explicitQosEnabled);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Sets whether date headers should be formatted according to the ISO
- * 8601 standard.
- * The option is a <code>boolean</code> type.
- * @group producer
- */
- public AMQPProducerBuilder formatDateHeadersToIso8601(
- boolean formatDateHeadersToIso8601) {
- this.properties.put("formatDateHeadersToIso8601", formatDateHeadersToIso8601);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Sets whether date headers should be formatted according to the ISO
- * 8601 standard.
- * The option will be converted to a <code>boolean</code> type.
- * @group producer
- */
- public AMQPProducerBuilder formatDateHeadersToIso8601(
- String formatDateHeadersToIso8601) {
- this.properties.put("formatDateHeadersToIso8601", formatDateHeadersToIso8601);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Set to true, if you want to send message using the QoS settings
- * specified on the message, instead of the QoS settings on the JMS
- * endpoint. The following three headers are considered JMSPriority,
- * JMSDeliveryMode, and JMSExpiration. You can provide all or only some
- * of them. If not provided, Camel will fall back to use the values from
- * the endpoint instead. So, when using this option, the headers
- * override the values from the endpoint. The explicitQosEnabled option,
- * by contrast, will only use options set on the endpoint, and not
- * values from the message header.
- * The option is a <code>boolean</code> type.
- * @group producer
- */
- public AMQPProducerBuilder preserveMessageQos(boolean preserveMessageQos) {
- this.properties.put("preserveMessageQos", preserveMessageQos);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Set to true, if you want to send message using the QoS settings
- * specified on the message, instead of the QoS settings on the JMS
- * endpoint. The following three headers are considered JMSPriority,
- * JMSDeliveryMode, and JMSExpiration. You can provide all or only some
- * of them. If not provided, Camel will fall back to use the values from
- * the endpoint instead. So, when using this option, the headers
- * override the values from the endpoint. The explicitQosEnabled option,
- * by contrast, will only use options set on the endpoint, and not
- * values from the message header.
- * The option will be converted to a <code>boolean</code> type.
- * @group producer
- */
- public AMQPProducerBuilder preserveMessageQos(String preserveMessageQos) {
- this.properties.put("preserveMessageQos", preserveMessageQos);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Values greater than 1 specify the message priority when sending
- * (where 0 is the lowest priority and 9 is the highest). The
- * explicitQosEnabled option must also be enabled in order for this
- * option to have any effect.
- * The option is a <code>int</code> type.
- * @group producer
- */
- public AMQPProducerBuilder priority(int priority) {
- this.properties.put("priority", priority);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Values greater than 1 specify the message priority when sending
- * (where 0 is the lowest priority and 9 is the highest). The
- * explicitQosEnabled option must also be enabled in order for this
- * option to have any effect.
- * The option will be converted to a <code>int</code> type.
- * @group producer
- */
- public AMQPProducerBuilder priority(String priority) {
- this.properties.put("priority", priority);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Specifies the default number of concurrent consumers when doing
- * request/reply over JMS. See also the maxMessagesPerTask option to
- * control dynamic scaling up/down of threads.
- * The option is a <code>int</code> type.
- * @group producer
- */
- public AMQPProducerBuilder replyToConcurrentConsumers(
- int replyToConcurrentConsumers) {
- this.properties.put("replyToConcurrentConsumers", replyToConcurrentConsumers);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Specifies the default number of concurrent consumers when doing
- * request/reply over JMS. See also the maxMessagesPerTask option to
- * control dynamic scaling up/down of threads.
- * The option will be converted to a <code>int</code> type.
- * @group producer
- */
- public AMQPProducerBuilder replyToConcurrentConsumers(
- String replyToConcurrentConsumers) {
- this.properties.put("replyToConcurrentConsumers", replyToConcurrentConsumers);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Specifies the maximum number of concurrent consumers when using
- * request/reply over JMS. See also the maxMessagesPerTask option to
- * control dynamic scaling up/down of threads.
- * The option is a <code>int</code> type.
- * @group producer
- */
- public AMQPProducerBuilder replyToMaxConcurrentConsumers(
- int replyToMaxConcurrentConsumers) {
- this.properties.put("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Specifies the maximum number of concurrent consumers when using
- * request/reply over JMS. See also the maxMessagesPerTask option to
- * control dynamic scaling up/down of threads.
- * The option will be converted to a <code>int</code> type.
- * @group producer
- */
- public AMQPProducerBuilder replyToMaxConcurrentConsumers(
- String replyToMaxConcurrentConsumers) {
- this.properties.put("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Specifies the maximum number of concurrent consumers for continue
- * routing when timeout occurred when using request/reply over JMS.
- * The option is a <code>int</code> type.
- * @group producer
- */
- public AMQPProducerBuilder replyToOnTimeoutMaxConcurrentConsumers(
- int replyToOnTimeoutMaxConcurrentConsumers) {
- this.properties.put("replyToOnTimeoutMaxConcurrentConsumers", replyToOnTimeoutMaxConcurrentConsumers);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Specifies the maximum number of concurrent consumers for continue
- * routing when timeout occurred when using request/reply over JMS.
- * The option will be converted to a <code>int</code> type.
- * @group producer
- */
- public AMQPProducerBuilder replyToOnTimeoutMaxConcurrentConsumers(
- String replyToOnTimeoutMaxConcurrentConsumers) {
- this.properties.put("replyToOnTimeoutMaxConcurrentConsumers", replyToOnTimeoutMaxConcurrentConsumers);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Provides an explicit ReplyTo destination in the JMS message, which
- * overrides the setting of replyTo. It is useful if you want to forward
- * the message to a remote Queue and receive the reply message from the
- * ReplyTo destination.
- * The option is a <code>java.lang.String</code> type.
- * @group producer
- */
- public AMQPProducerBuilder replyToOverride(String replyToOverride) {
- this.properties.put("replyToOverride", replyToOverride);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Allows for explicitly specifying which kind of strategy to use for
- * replyTo queues when doing request/reply over JMS. Possible values
- * are: Temporary, Shared, or Exclusive. By default Camel will use
- * temporary queues. However if replyTo has been configured, then Shared
- * is used by default. This option allows you to use exclusive queues
- * instead of shared ones. See Camel JMS documentation for more details,
- * and especially the notes about the implications if running in a
- * clustered environment, and the fact that Shared reply queues has
- * lower performance than its alternatives Temporary and Exclusive.
- * The option is a
- * <code>org.apache.camel.component.jms.ReplyToType</code> type.
- * @group producer
- */
- public AMQPProducerBuilder replyToType(ReplyToType replyToType) {
- this.properties.put("replyToType", replyToType);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Allows for explicitly specifying which kind of strategy to use for
- * replyTo queues when doing request/reply over JMS. Possible values
- * are: Temporary, Shared, or Exclusive. By default Camel will use
- * temporary queues. However if replyTo has been configured, then Shared
- * is used by default. This option allows you to use exclusive queues
- * instead of shared ones. See Camel JMS documentation for more details,
- * and especially the notes about the implications if running in a
- * clustered environment, and the fact that Shared reply queues has
- * lower performance than its alternatives Temporary and Exclusive.
- * The option will be converted to a
- * <code>org.apache.camel.component.jms.ReplyToType</code> type.
- * @group producer
- */
- public AMQPProducerBuilder replyToType(String replyToType) {
- this.properties.put("replyToType", replyToType);
- return (AMQPProducerBuilder) this;
- }
- /**
- * The timeout for waiting for a reply when using the InOut Exchange
- * Pattern (in milliseconds). The default is 20 seconds. You can include
- * the header CamelJmsRequestTimeout to override this endpoint
- * configured timeout value, and thus have per message individual
- * timeout values. See also the requestTimeoutCheckerInterval option.
- * The option is a <code>long</code> type.
- * @group producer
- */
- public AMQPProducerBuilder requestTimeout(long requestTimeout) {
- this.properties.put("requestTimeout", requestTimeout);
- return (AMQPProducerBuilder) this;
- }
- /**
- * The timeout for waiting for a reply when using the InOut Exchange
- * Pattern (in milliseconds). The default is 20 seconds. You can include
- * the header CamelJmsRequestTimeout to override this endpoint
- * configured timeout value, and thus have per message individual
- * timeout values. See also the requestTimeoutCheckerInterval option.
- * The option will be converted to a <code>long</code> type.
- * @group producer
- */
- public AMQPProducerBuilder requestTimeout(String requestTimeout) {
- this.properties.put("requestTimeout", requestTimeout);
- return (AMQPProducerBuilder) this;
- }
- /**
- * When sending messages, specifies the time-to-live of the message (in
- * milliseconds).
- * The option is a <code>long</code> type.
- * @group producer
- */
- public AMQPProducerBuilder timeToLive(long timeToLive) {
- this.properties.put("timeToLive", timeToLive);
- return (AMQPProducerBuilder) this;
- }
- /**
- * When sending messages, specifies the time-to-live of the message (in
- * milliseconds).
- * The option will be converted to a <code>long</code> type.
- * @group producer
- */
- public AMQPProducerBuilder timeToLive(String timeToLive) {
- this.properties.put("timeToLive", timeToLive);
- return (AMQPProducerBuilder) this;
- }
- /**
- * This option is used to allow additional headers which may have values
- * that are invalid according to JMS specification. For example some
- * message systems such as WMQ do this with header names using prefix
- * JMS_IBM_MQMD_ containing values with byte array or other invalid
- * types. You can specify multiple header names separated by comma, and
- * use as suffix for wildcard matching.
- * The option is a <code>java.lang.String</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder allowAdditionalHeaders(
- String allowAdditionalHeaders) {
- this.properties.put("allowAdditionalHeaders", allowAdditionalHeaders);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Whether to allow sending messages with no body. If this option is
- * false and the message body is null, then an JMSException is thrown.
- * The option is a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder allowNullBody(boolean allowNullBody) {
- this.properties.put("allowNullBody", allowNullBody);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Whether to allow sending messages with no body. If this option is
- * false and the message body is null, then an JMSException is thrown.
- * The option will be converted to a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder allowNullBody(String allowNullBody) {
- this.properties.put("allowNullBody", allowNullBody);
- return (AMQPProducerBuilder) this;
- }
- /**
- * If true, Camel will always make a JMS message copy of the message
- * when it is passed to the producer for sending. Copying the message is
- * needed in some situations, such as when a
- * replyToDestinationSelectorName is set (incidentally, Camel will set
- * the alwaysCopyMessage option to true, if a
- * replyToDestinationSelectorName is set).
- * The option is a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder alwaysCopyMessage(boolean alwaysCopyMessage) {
- this.properties.put("alwaysCopyMessage", alwaysCopyMessage);
- return (AMQPProducerBuilder) this;
- }
- /**
- * If true, Camel will always make a JMS message copy of the message
- * when it is passed to the producer for sending. Copying the message is
- * needed in some situations, such as when a
- * replyToDestinationSelectorName is set (incidentally, Camel will set
- * the alwaysCopyMessage option to true, if a
- * replyToDestinationSelectorName is set).
- * The option will be converted to a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder alwaysCopyMessage(String alwaysCopyMessage) {
- this.properties.put("alwaysCopyMessage", alwaysCopyMessage);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Use this JMS property to correlate messages in InOut exchange pattern
- * (request-reply) instead of JMSCorrelationID property. This allows you
- * to exchange messages with systems that do not correlate messages
- * using JMSCorrelationID JMS property. If used JMSCorrelationID will
- * not be used or set by Camel. The value of here named property will be
- * generated if not supplied in the header of the message under the same
- * name.
- * The option is a <code>java.lang.String</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder correlationProperty(
- String correlationProperty) {
- this.properties.put("correlationProperty", correlationProperty);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Use this option to force disabling time to live. For example when you
- * do request/reply over JMS, then Camel will by default use the
- * requestTimeout value as time to live on the message being sent. The
- * problem is that the sender and receiver systems have to have their
- * clocks synchronized, so they are in sync. This is not always so easy
- * to archive. So you can use disableTimeToLive=true to not set a time
- * to live value on the sent message. Then the message will not expire
- * on the receiver system. See below in section About time to live for
- * more details.
- * The option is a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder disableTimeToLive(boolean disableTimeToLive) {
- this.properties.put("disableTimeToLive", disableTimeToLive);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Use this option to force disabling time to live. For example when you
- * do request/reply over JMS, then Camel will by default use the
- * requestTimeout value as time to live on the message being sent. The
- * problem is that the sender and receiver systems have to have their
- * clocks synchronized, so they are in sync. This is not always so easy
- * to archive. So you can use disableTimeToLive=true to not set a time
- * to live value on the sent message. Then the message will not expire
- * on the receiver system. See below in section About time to live for
- * more details.
- * The option will be converted to a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder disableTimeToLive(String disableTimeToLive) {
- this.properties.put("disableTimeToLive", disableTimeToLive);
- return (AMQPProducerBuilder) this;
- }
- /**
- * When using mapJmsMessage=false Camel will create a new JMS message to
- * send to a new JMS destination if you touch the headers (get or set)
- * during the route. Set this option to true to force Camel to send the
- * original JMS message that was received.
- * The option is a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder forceSendOriginalMessage(
- boolean forceSendOriginalMessage) {
- this.properties.put("forceSendOriginalMessage", forceSendOriginalMessage);
- return (AMQPProducerBuilder) this;
- }
- /**
- * When using mapJmsMessage=false Camel will create a new JMS message to
- * send to a new JMS destination if you touch the headers (get or set)
- * during the route. Set this option to true to force Camel to send the
- * original JMS message that was received.
- * The option will be converted to a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder forceSendOriginalMessage(
- String forceSendOriginalMessage) {
- this.properties.put("forceSendOriginalMessage", forceSendOriginalMessage);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Only applicable when sending to JMS destination using InOnly (eg fire
- * and forget). Enabling this option will enrich the Camel Exchange with
- * the actual JMSMessageID that was used by the JMS client when the
- * message was sent to the JMS destination.
- * The option is a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder includeSentJMSMessageID(
- boolean includeSentJMSMessageID) {
- this.properties.put("includeSentJMSMessageID", includeSentJMSMessageID);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Only applicable when sending to JMS destination using InOnly (eg fire
- * and forget). Enabling this option will enrich the Camel Exchange with
- * the actual JMSMessageID that was used by the JMS client when the
- * message was sent to the JMS destination.
- * The option will be converted to a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder includeSentJMSMessageID(
- String includeSentJMSMessageID) {
- this.properties.put("includeSentJMSMessageID", includeSentJMSMessageID);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Sets the cache level by name for the reply consumer when doing
- * request/reply over JMS. This option only applies when using fixed
- * reply queues (not temporary). Camel will by default use:
- * CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And
- * CACHE_SESSION for shared without replyToSelectorName. Some JMS
- * brokers such as IBM WebSphere may require to set the
- * replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary
- * queues then CACHE_NONE is not allowed, and you must use a higher
- * value such as CACHE_CONSUMER or CACHE_SESSION.
- * The option is a <code>java.lang.String</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder replyToCacheLevelName(
- String replyToCacheLevelName) {
- this.properties.put("replyToCacheLevelName", replyToCacheLevelName);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Sets the JMS Selector using the fixed name to be used so you can
- * filter out your own replies from the others when using a shared queue
- * (that is, if you are not using a temporary reply queue).
- * The option is a <code>java.lang.String</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder replyToDestinationSelectorName(
- String replyToDestinationSelectorName) {
- this.properties.put("replyToDestinationSelectorName", replyToDestinationSelectorName);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Sets whether StreamMessage type is enabled or not. Message payloads
- * of streaming kind such as files, InputStream, etc will either by sent
- * as BytesMessage or StreamMessage. This option controls which kind
- * will be used. By default BytesMessage is used which enforces the
- * entire message payload to be read into memory. By enabling this
- * option the message payload is read into memory in chunks and each
- * chunk is then written to the StreamMessage until no more data.
- * The option is a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder streamMessageTypeEnabled(
- boolean streamMessageTypeEnabled) {
- this.properties.put("streamMessageTypeEnabled", streamMessageTypeEnabled);
- return (AMQPProducerBuilder) this;
- }
- /**
- * Sets whether StreamMessage type is enabled or not. Message payloads
- * of streaming kind such as files, InputStream, etc will either by sent
- * as BytesMessage or StreamMessage. This option controls which kind
- * will be used. By default BytesMessage is used which enforces the
- * entire message payload to be read into memory. By enabling this
- * option the message payload is read into memory in chunks and each
- * chunk is then written to the StreamMessage until no more data.
- * The option will be converted to a <code>boolean</code> type.
- * @group producer (advanced)
- */
- public AMQPProducerBuilder streamMessageTypeEnabled(
- String streamMessageTypeEnabled) {
- this.properties.put("streamMessageTypeEnabled", streamMessageTypeEnabled);
- return (AMQPProducerBuilder) this;
- }
- }
-
- /**
- * Proxy enum for <code>org.apache.camel.component.jms.JmsMessageType</code>
- * enum.
- */
- public static enum JmsMessageType {
- Bytes, Map, Object, Stream, Text, Blob;
- }
-
- /**
- * Proxy enum for <code>org.apache.camel.component.jms.ConsumerType</code>
- * enum.
- */
- public static enum ConsumerType {
- Simple, Default, Custom;
- }
-
- /**
- * Proxy enum for
- * <code>org.apache.camel.component.jms.DefaultTaskExecutorType</code> enum.
- */
- public static enum DefaultTaskExecutorType {
- ThreadPool, SimpleAsync;
- }
-
- /**
- * Proxy enum for <code>org.apache.camel.component.jms.ReplyToType</code>
- * enum.
- */
- public static enum ReplyToType {
- Temporary, Shared, Exclusive;
- }
- /**
- * Messaging with AMQP protocol using Apache QPid Client. Creates a builder
- * to build a consumer endpoint for the AMQP component.
- */
- public default AMQPConsumerBuilder fromAMQP(String path) {
- return new AMQPConsumerBuilder(path);
- }
- /**
- * Messaging with AMQP protocol using Apache QPid Client. Creates a builder
- * to build a producer endpoint for the AMQP component.
- */
- public default AMQPProducerBuilder toAMQP(String path) {
- return new AMQPProducerBuilder(path);
- }
-}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilderFactory.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilderFactory.java
new file mode 100644
index 0000000..621fb3b
--- /dev/null
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AMQPEndpointBuilderFactory.java
@@ -0,0 +1,4637 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.camel.model.endpoint;
+
+import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.LoggingLevel;
+import org.apache.camel.model.AbstractEndpointBuilder;
+import org.apache.camel.model.EndpointConsumerBuilder;
+import org.apache.camel.model.EndpointProducerBuilder;
+import org.apache.camel.spi.ExceptionHandler;
+import org.apache.camel.spi.HeaderFilterStrategy;
+
+/**
+ * Messaging with AMQP protocol using Apache QPid Client.
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface AMQPEndpointBuilderFactory {
+
+
+ /**
+ * Builder for endpoint consumers for the AMQP component.
+ */
+ public interface AMQPEndpointConsumerBuilder
+ extends
+ EndpointConsumerBuilder {
+ public default AdvancedAMQPEndpointConsumerBuilder advanced() {
+ return (AdvancedAMQPEndpointConsumerBuilder) this;
+ }
+ /**
+ * The kind of destination to use.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder destinationType(
+ String destinationType) {
+ setProperty("destinationType", destinationType);
+ return this;
+ }
+ /**
+ * Name of the queue or topic to use as destination.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder destinationName(
+ String destinationName) {
+ setProperty("destinationName", destinationName);
+ return this;
+ }
+ /**
+ * Sets the JMS client ID to use. Note that this value, if specified,
+ * must be unique and can only be used by a single JMS connection
+ * instance. It is typically only required for durable topic
+ * subscriptions. If using Apache ActiveMQ you may prefer to use Virtual
+ * Topics instead.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder clientId(String clientId) {
+ setProperty("clientId", clientId);
+ return this;
+ }
+ /**
+ * Sets the default connection factory to be used if a connection
+ * factory is not specified for either
+ * setTemplateConnectionFactory(ConnectionFactory) or
+ * setListenerConnectionFactory(ConnectionFactory).
+ * The option is a <code>javax.jms.ConnectionFactory</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder connectionFactory(
+ Object connectionFactory) {
+ setProperty("connectionFactory", connectionFactory);
+ return this;
+ }
+ /**
+ * Sets the default connection factory to be used if a connection
+ * factory is not specified for either
+ * setTemplateConnectionFactory(ConnectionFactory) or
+ * setListenerConnectionFactory(ConnectionFactory).
+ * The option will be converted to a
+ * <code>javax.jms.ConnectionFactory</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder connectionFactory(
+ String connectionFactory) {
+ setProperty("connectionFactory", connectionFactory);
+ return this;
+ }
+ /**
+ * Specifies whether Camel ignores the JMSReplyTo header in messages. If
+ * true, Camel does not send a reply back to the destination specified
+ * in the JMSReplyTo header. You can use this option if you want Camel
+ * to consume from a route and you do not want Camel to automatically
+ * send back a reply message because another component in your code
+ * handles the reply message. You can also use this option if you want
+ * to use Camel as a proxy between different message brokers and you
+ * want to route message from one system to another.
+ * The option is a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder disableReplyTo(
+ boolean disableReplyTo) {
+ setProperty("disableReplyTo", disableReplyTo);
+ return this;
+ }
+ /**
+ * Specifies whether Camel ignores the JMSReplyTo header in messages. If
+ * true, Camel does not send a reply back to the destination specified
+ * in the JMSReplyTo header. You can use this option if you want Camel
+ * to consume from a route and you do not want Camel to automatically
+ * send back a reply message because another component in your code
+ * handles the reply message. You can also use this option if you want
+ * to use Camel as a proxy between different message brokers and you
+ * want to route message from one system to another.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder disableReplyTo(
+ String disableReplyTo) {
+ setProperty("disableReplyTo", disableReplyTo);
+ return this;
+ }
+ /**
+ * The durable subscriber name for specifying durable topic
+ * subscriptions. The clientId option must be configured as well.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder durableSubscriptionName(
+ String durableSubscriptionName) {
+ setProperty("durableSubscriptionName", durableSubscriptionName);
+ return this;
+ }
+ /**
+ * Allows you to force the use of a specific javax.jms.Message
+ * implementation for sending JMS messages. Possible values are: Bytes,
+ * Map, Object, Stream, Text. By default, Camel would determine which
+ * JMS message type to use from the In body type. This option allows you
+ * to specify it.
+ * The option is a
+ * <code>org.apache.camel.component.jms.JmsMessageType</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder jmsMessageType(
+ JmsMessageType jmsMessageType) {
+ setProperty("jmsMessageType", jmsMessageType);
+ return this;
+ }
+ /**
+ * Allows you to force the use of a specific javax.jms.Message
+ * implementation for sending JMS messages. Possible values are: Bytes,
+ * Map, Object, Stream, Text. By default, Camel would determine which
+ * JMS message type to use from the In body type. This option allows you
+ * to specify it.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.JmsMessageType</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder jmsMessageType(
+ String jmsMessageType) {
+ setProperty("jmsMessageType", jmsMessageType);
+ return this;
+ }
+ /**
+ * Specifies whether to test the connection on startup. This ensures
+ * that when Camel starts that all the JMS consumers have a valid
+ * connection to the JMS broker. If a connection cannot be granted then
+ * Camel throws an exception on startup. This ensures that Camel is not
+ * started with failed connections. The JMS producers is tested as well.
+ * The option is a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder testConnectionOnStartup(
+ boolean testConnectionOnStartup) {
+ setProperty("testConnectionOnStartup", testConnectionOnStartup);
+ return this;
+ }
+ /**
+ * Specifies whether to test the connection on startup. This ensures
+ * that when Camel starts that all the JMS consumers have a valid
+ * connection to the JMS broker. If a connection cannot be granted then
+ * Camel throws an exception on startup. This ensures that Camel is not
+ * started with failed connections. The JMS producers is tested as well.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointConsumerBuilder testConnectionOnStartup(
+ String testConnectionOnStartup) {
+ setProperty("testConnectionOnStartup", testConnectionOnStartup);
+ return this;
+ }
+ /**
+ * The JMS acknowledgement name, which is one of: SESSION_TRANSACTED,
+ * CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE.
+ * The option is a <code>java.lang.String</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder acknowledgementModeName(
+ String acknowledgementModeName) {
+ setProperty("acknowledgementModeName", acknowledgementModeName);
+ return this;
+ }
+ /**
+ * Whether the JmsConsumer processes the Exchange asynchronously. If
+ * enabled then the JmsConsumer may pickup the next message from the JMS
+ * queue, while the previous message is being processed asynchronously
+ * (by the Asynchronous Routing Engine). This means that messages may be
+ * processed not 100% strictly in order. If disabled (as default) then
+ * the Exchange is fully processed before the JmsConsumer will pickup
+ * the next message from the JMS queue. Note if transacted has been
+ * enabled, then asyncConsumer=true does not run asynchronously, as
+ * transaction must be executed synchronously (Camel 3.0 may support
+ * async transactions).
+ * The option is a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder asyncConsumer(
+ boolean asyncConsumer) {
+ setProperty("asyncConsumer", asyncConsumer);
+ return this;
+ }
+ /**
+ * Whether the JmsConsumer processes the Exchange asynchronously. If
+ * enabled then the JmsConsumer may pickup the next message from the JMS
+ * queue, while the previous message is being processed asynchronously
+ * (by the Asynchronous Routing Engine). This means that messages may be
+ * processed not 100% strictly in order. If disabled (as default) then
+ * the Exchange is fully processed before the JmsConsumer will pickup
+ * the next message from the JMS queue. Note if transacted has been
+ * enabled, then asyncConsumer=true does not run asynchronously, as
+ * transaction must be executed synchronously (Camel 3.0 may support
+ * async transactions).
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder asyncConsumer(
+ String asyncConsumer) {
+ setProperty("asyncConsumer", asyncConsumer);
+ return this;
+ }
+ /**
+ * Specifies whether the consumer container should auto-startup.
+ * The option is a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder autoStartup(
+ boolean autoStartup) {
+ setProperty("autoStartup", autoStartup);
+ return this;
+ }
+ /**
+ * Specifies whether the consumer container should auto-startup.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder autoStartup(
+ String autoStartup) {
+ setProperty("autoStartup", autoStartup);
+ return this;
+ }
+ /**
+ * Allows for bridging the consumer to the Camel routing Error Handler,
+ * which mean any exceptions occurred while the consumer is trying to
+ * pickup incoming messages, or the likes, will now be processed as a
+ * message and handled by the routing Error Handler. By default the
+ * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+ * with exceptions, that will be logged at WARN or ERROR level and
+ * ignored.
+ * The option is a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder bridgeErrorHandler(
+ boolean bridgeErrorHandler) {
+ setProperty("bridgeErrorHandler", bridgeErrorHandler);
+ return this;
+ }
+ /**
+ * Allows for bridging the consumer to the Camel routing Error Handler,
+ * which mean any exceptions occurred while the consumer is trying to
+ * pickup incoming messages, or the likes, will now be processed as a
+ * message and handled by the routing Error Handler. By default the
+ * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+ * with exceptions, that will be logged at WARN or ERROR level and
+ * ignored.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder bridgeErrorHandler(
+ String bridgeErrorHandler) {
+ setProperty("bridgeErrorHandler", bridgeErrorHandler);
+ return this;
+ }
+ /**
+ * Sets the cache level by ID for the underlying JMS resources. See
+ * cacheLevelName option for more details.
+ * The option is a <code>int</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder cacheLevel(int cacheLevel) {
+ setProperty("cacheLevel", cacheLevel);
+ return this;
+ }
+ /**
+ * Sets the cache level by ID for the underlying JMS resources. See
+ * cacheLevelName option for more details.
+ * The option will be converted to a <code>int</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder cacheLevel(String cacheLevel) {
+ setProperty("cacheLevel", cacheLevel);
+ return this;
+ }
+ /**
+ * Sets the cache level by name for the underlying JMS resources.
+ * Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER,
+ * CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See
+ * the Spring documentation and Transactions Cache Levels for more
+ * information.
+ * The option is a <code>java.lang.String</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder cacheLevelName(
+ String cacheLevelName) {
+ setProperty("cacheLevelName", cacheLevelName);
+ return this;
+ }
+ /**
+ * Specifies the default number of concurrent consumers when consuming
+ * from JMS (not for request/reply over JMS). See also the
+ * maxMessagesPerTask option to control dynamic scaling up/down of
+ * threads. When doing request/reply over JMS then the option
+ * replyToConcurrentConsumers is used to control number of concurrent
+ * consumers on the reply message listener.
+ * The option is a <code>int</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder concurrentConsumers(
+ int concurrentConsumers) {
+ setProperty("concurrentConsumers", concurrentConsumers);
+ return this;
+ }
+ /**
+ * Specifies the default number of concurrent consumers when consuming
+ * from JMS (not for request/reply over JMS). See also the
+ * maxMessagesPerTask option to control dynamic scaling up/down of
+ * threads. When doing request/reply over JMS then the option
+ * replyToConcurrentConsumers is used to control number of concurrent
+ * consumers on the reply message listener.
+ * The option will be converted to a <code>int</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder concurrentConsumers(
+ String concurrentConsumers) {
+ setProperty("concurrentConsumers", concurrentConsumers);
+ return this;
+ }
+ /**
+ * Specifies the maximum number of concurrent consumers when consuming
+ * from JMS (not for request/reply over JMS). See also the
+ * maxMessagesPerTask option to control dynamic scaling up/down of
+ * threads. When doing request/reply over JMS then the option
+ * replyToMaxConcurrentConsumers is used to control number of concurrent
+ * consumers on the reply message listener.
+ * The option is a <code>int</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder maxConcurrentConsumers(
+ int maxConcurrentConsumers) {
+ setProperty("maxConcurrentConsumers", maxConcurrentConsumers);
+ return this;
+ }
+ /**
+ * Specifies the maximum number of concurrent consumers when consuming
+ * from JMS (not for request/reply over JMS). See also the
+ * maxMessagesPerTask option to control dynamic scaling up/down of
+ * threads. When doing request/reply over JMS then the option
+ * replyToMaxConcurrentConsumers is used to control number of concurrent
+ * consumers on the reply message listener.
+ * The option will be converted to a <code>int</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder maxConcurrentConsumers(
+ String maxConcurrentConsumers) {
+ setProperty("maxConcurrentConsumers", maxConcurrentConsumers);
+ return this;
+ }
+ /**
+ * Provides an explicit ReplyTo destination, which overrides any
+ * incoming value of Message.getJMSReplyTo().
+ * The option is a <code>java.lang.String</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder replyTo(String replyTo) {
+ setProperty("replyTo", replyTo);
+ return this;
+ }
+ /**
+ * Specifies whether to use persistent delivery by default for replies.
+ * The option is a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder replyToDeliveryPersistent(
+ boolean replyToDeliveryPersistent) {
+ setProperty("replyToDeliveryPersistent", replyToDeliveryPersistent);
+ return this;
+ }
+ /**
+ * Specifies whether to use persistent delivery by default for replies.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder replyToDeliveryPersistent(
+ String replyToDeliveryPersistent) {
+ setProperty("replyToDeliveryPersistent", replyToDeliveryPersistent);
+ return this;
+ }
+ /**
+ * Sets the JMS selector to use.
+ * The option is a <code>java.lang.String</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder selector(String selector) {
+ setProperty("selector", selector);
+ return this;
+ }
+ /**
+ * Set whether to make the subscription durable. The durable
+ * subscription name to be used can be specified through the
+ * subscriptionName property. Default is false. Set this to true to
+ * register a durable subscription, typically in combination with a
+ * subscriptionName value (unless your message listener class name is
+ * good enough as subscription name). Only makes sense when listening to
+ * a topic (pub-sub domain), therefore this method switches the
+ * pubSubDomain flag as well.
+ * The option is a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder subscriptionDurable(
+ boolean subscriptionDurable) {
+ setProperty("subscriptionDurable", subscriptionDurable);
+ return this;
+ }
+ /**
+ * Set whether to make the subscription durable. The durable
+ * subscription name to be used can be specified through the
+ * subscriptionName property. Default is false. Set this to true to
+ * register a durable subscription, typically in combination with a
+ * subscriptionName value (unless your message listener class name is
+ * good enough as subscription name). Only makes sense when listening to
+ * a topic (pub-sub domain), therefore this method switches the
+ * pubSubDomain flag as well.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder subscriptionDurable(
+ String subscriptionDurable) {
+ setProperty("subscriptionDurable", subscriptionDurable);
+ return this;
+ }
+ /**
+ * Set the name of a subscription to create. To be applied in case of a
+ * topic (pub-sub domain) with a shared or durable subscription. The
+ * subscription name needs to be unique within this client's JMS client
+ * id. Default is the class name of the specified message listener.
+ * Note: Only 1 concurrent consumer (which is the default of this
+ * message listener container) is allowed for each subscription, except
+ * for a shared subscription (which requires JMS 2.0).
+ * The option is a <code>java.lang.String</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder subscriptionName(
+ String subscriptionName) {
+ setProperty("subscriptionName", subscriptionName);
+ return this;
+ }
+ /**
+ * Set whether to make the subscription shared. The shared subscription
+ * name to be used can be specified through the subscriptionName
+ * property. Default is false. Set this to true to register a shared
+ * subscription, typically in combination with a subscriptionName value
+ * (unless your message listener class name is good enough as
+ * subscription name). Note that shared subscriptions may also be
+ * durable, so this flag can (and often will) be combined with
+ * subscriptionDurable as well. Only makes sense when listening to a
+ * topic (pub-sub domain), therefore this method switches the
+ * pubSubDomain flag as well. Requires a JMS 2.0 compatible message
+ * broker.
+ * The option is a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder subscriptionShared(
+ boolean subscriptionShared) {
+ setProperty("subscriptionShared", subscriptionShared);
+ return this;
+ }
+ /**
+ * Set whether to make the subscription shared. The shared subscription
+ * name to be used can be specified through the subscriptionName
+ * property. Default is false. Set this to true to register a shared
+ * subscription, typically in combination with a subscriptionName value
+ * (unless your message listener class name is good enough as
+ * subscription name). Note that shared subscriptions may also be
+ * durable, so this flag can (and often will) be combined with
+ * subscriptionDurable as well. Only makes sense when listening to a
+ * topic (pub-sub domain), therefore this method switches the
+ * pubSubDomain flag as well. Requires a JMS 2.0 compatible message
+ * broker.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AMQPEndpointConsumerBuilder subscriptionShared(
+ String subscriptionShared) {
+ setProperty("subscriptionShared", subscriptionShared);
+ return this;
+ }
+ /**
+ * Allows to configure the default errorHandler logging level for
+ * logging uncaught exceptions.
+ * The option is a <code>org.apache.camel.LoggingLevel</code> type.
+ * @group logging
+ */
+ public default AMQPEndpointConsumerBuilder errorHandlerLoggingLevel(
+ LoggingLevel errorHandlerLoggingLevel) {
+ setProperty("errorHandlerLoggingLevel", errorHandlerLoggingLevel);
+ return this;
+ }
+ /**
+ * Allows to configure the default errorHandler logging level for
+ * logging uncaught exceptions.
+ * The option will be converted to a
+ * <code>org.apache.camel.LoggingLevel</code> type.
+ * @group logging
+ */
+ public default AMQPEndpointConsumerBuilder errorHandlerLoggingLevel(
+ String errorHandlerLoggingLevel) {
+ setProperty("errorHandlerLoggingLevel", errorHandlerLoggingLevel);
+ return this;
+ }
+ /**
+ * Allows to control whether stacktraces should be logged or not, by the
+ * default errorHandler.
+ * The option is a <code>boolean</code> type.
+ * @group logging
+ */
+ public default AMQPEndpointConsumerBuilder errorHandlerLogStackTrace(
+ boolean errorHandlerLogStackTrace) {
+ setProperty("errorHandlerLogStackTrace", errorHandlerLogStackTrace);
+ return this;
+ }
+ /**
+ * Allows to control whether stacktraces should be logged or not, by the
+ * default errorHandler.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group logging
+ */
+ public default AMQPEndpointConsumerBuilder errorHandlerLogStackTrace(
+ String errorHandlerLogStackTrace) {
+ setProperty("errorHandlerLogStackTrace", errorHandlerLogStackTrace);
+ return this;
+ }
+ /**
+ * Password to use with the ConnectionFactory. You can also configure
+ * username/password directly on the ConnectionFactory.
+ * The option is a <code>java.lang.String</code> type.
+ * @group security
+ */
+ public default AMQPEndpointConsumerBuilder password(String password) {
+ setProperty("password", password);
+ return this;
+ }
+ /**
+ * Username to use with the ConnectionFactory. You can also configure
+ * username/password directly on the ConnectionFactory.
+ * The option is a <code>java.lang.String</code> type.
+ * @group security
+ */
+ public default AMQPEndpointConsumerBuilder username(String username) {
+ setProperty("username", username);
+ return this;
+ }
+ /**
+ * Specifies whether to use transacted mode.
+ * The option is a <code>boolean</code> type.
+ * @group transaction
+ */
+ public default AMQPEndpointConsumerBuilder transacted(boolean transacted) {
+ setProperty("transacted", transacted);
+ return this;
+ }
+ /**
+ * Specifies whether to use transacted mode.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group transaction
+ */
+ public default AMQPEndpointConsumerBuilder transacted(String transacted) {
+ setProperty("transacted", transacted);
+ return this;
+ }
+ }
+
+ /**
+ * Advanced builder for endpoint consumers for the AMQP component.
+ */
+ public interface AdvancedAMQPEndpointConsumerBuilder
+ extends
+ EndpointConsumerBuilder {
+ public default AMQPEndpointConsumerBuilder basic() {
+ return (AMQPEndpointConsumerBuilder) this;
+ }
+ /**
+ * Specifies whether the consumer accept messages while it is stopping.
+ * You may consider enabling this option, if you start and stop JMS
+ * routes at runtime, while there are still messages enqueued on the
+ * queue. If this option is false, and you stop the JMS route, then
+ * messages may be rejected, and the JMS broker would have to attempt
+ * redeliveries, which yet again may be rejected, and eventually the
+ * message may be moved at a dead letter queue on the JMS broker. To
+ * avoid this its recommended to enable this option.
+ * The option is a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder acceptMessagesWhileStopping(
+ boolean acceptMessagesWhileStopping) {
+ setProperty("acceptMessagesWhileStopping", acceptMessagesWhileStopping);
+ return this;
+ }
+ /**
+ * Specifies whether the consumer accept messages while it is stopping.
+ * You may consider enabling this option, if you start and stop JMS
+ * routes at runtime, while there are still messages enqueued on the
+ * queue. If this option is false, and you stop the JMS route, then
+ * messages may be rejected, and the JMS broker would have to attempt
+ * redeliveries, which yet again may be rejected, and eventually the
+ * message may be moved at a dead letter queue on the JMS broker. To
+ * avoid this its recommended to enable this option.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder acceptMessagesWhileStopping(
+ String acceptMessagesWhileStopping) {
+ setProperty("acceptMessagesWhileStopping", acceptMessagesWhileStopping);
+ return this;
+ }
+ /**
+ * Whether the DefaultMessageListenerContainer used in the reply
+ * managers for request-reply messaging allow the
+ * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
+ * in case JmsConfiguration#isAcceptMessagesWhileStopping() is enabled,
+ * and org.apache.camel.CamelContext is currently being stopped. This
+ * quick stop ability is enabled by default in the regular JMS consumers
+ * but to enable for reply managers you must enable this flag.
+ * The option is a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder allowReplyManagerQuickStop(
+ boolean allowReplyManagerQuickStop) {
+ setProperty("allowReplyManagerQuickStop", allowReplyManagerQuickStop);
+ return this;
+ }
+ /**
+ * Whether the DefaultMessageListenerContainer used in the reply
+ * managers for request-reply messaging allow the
+ * DefaultMessageListenerContainer#runningAllowed() flag to quick stop
+ * in case JmsConfiguration#isAcceptMessagesWhileStopping() is enabled,
+ * and org.apache.camel.CamelContext is currently being stopped. This
+ * quick stop ability is enabled by default in the regular JMS consumers
+ * but to enable for reply managers you must enable this flag.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder allowReplyManagerQuickStop(
+ String allowReplyManagerQuickStop) {
+ setProperty("allowReplyManagerQuickStop", allowReplyManagerQuickStop);
+ return this;
+ }
+ /**
+ * The consumer type to use, which can be one of: Simple, Default, or
+ * Custom. The consumer type determines which Spring JMS listener to
+ * use. Default will use
+ * org.springframework.jms.listener.DefaultMessageListenerContainer,
+ * Simple will use
+ * org.springframework.jms.listener.SimpleMessageListenerContainer. When
+ * Custom is specified, the MessageListenerContainerFactory defined by
+ * the messageListenerContainerFactory option will determine what
+ * org.springframework.jms.listener.AbstractMessageListenerContainer to
+ * use.
+ * The option is a
+ * <code>org.apache.camel.component.jms.ConsumerType</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder consumerType(
+ ConsumerType consumerType) {
+ setProperty("consumerType", consumerType);
+ return this;
+ }
+ /**
+ * The consumer type to use, which can be one of: Simple, Default, or
+ * Custom. The consumer type determines which Spring JMS listener to
+ * use. Default will use
+ * org.springframework.jms.listener.DefaultMessageListenerContainer,
+ * Simple will use
+ * org.springframework.jms.listener.SimpleMessageListenerContainer. When
+ * Custom is specified, the MessageListenerContainerFactory defined by
+ * the messageListenerContainerFactory option will determine what
+ * org.springframework.jms.listener.AbstractMessageListenerContainer to
+ * use.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.ConsumerType</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder consumerType(
+ String consumerType) {
+ setProperty("consumerType", consumerType);
+ return this;
+ }
+ /**
+ * Specifies what default TaskExecutor type to use in the
+ * DefaultMessageListenerContainer, for both consumer endpoints and the
+ * ReplyTo consumer of producer endpoints. Possible values: SimpleAsync
+ * (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's
+ * ThreadPoolTaskExecutor with optimal values - cached threadpool-like).
+ * If not set, it defaults to the previous behaviour, which uses a
+ * cached thread pool for consumer endpoints and SimpleAsync for reply
+ * consumers. The use of ThreadPool is recommended to reduce thread
+ * trash in elastic configurations with dynamically increasing and
+ * decreasing concurrent consumers.
+ * The option is a
+ * <code>org.apache.camel.component.jms.DefaultTaskExecutorType</code>
+ * type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder defaultTaskExecutorType(
+ DefaultTaskExecutorType defaultTaskExecutorType) {
+ setProperty("defaultTaskExecutorType", defaultTaskExecutorType);
+ return this;
+ }
+ /**
+ * Specifies what default TaskExecutor type to use in the
+ * DefaultMessageListenerContainer, for both consumer endpoints and the
+ * ReplyTo consumer of producer endpoints. Possible values: SimpleAsync
+ * (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's
+ * ThreadPoolTaskExecutor with optimal values - cached threadpool-like).
+ * If not set, it defaults to the previous behaviour, which uses a
+ * cached thread pool for consumer endpoints and SimpleAsync for reply
+ * consumers. The use of ThreadPool is recommended to reduce thread
+ * trash in elastic configurations with dynamically increasing and
+ * decreasing concurrent consumers.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.DefaultTaskExecutorType</code>
+ * type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder defaultTaskExecutorType(
+ String defaultTaskExecutorType) {
+ setProperty("defaultTaskExecutorType", defaultTaskExecutorType);
+ return this;
+ }
+ /**
+ * Enables eager loading of JMS properties and payload as soon as a
+ * message is loaded which generally is inefficient as the JMS
+ * properties may not be required but sometimes can catch early any
+ * issues with the underlying JMS provider and the use of JMS
+ * properties.
+ * The option is a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder eagerLoadingOfProperties(
+ boolean eagerLoadingOfProperties) {
+ setProperty("eagerLoadingOfProperties", eagerLoadingOfProperties);
+ return this;
+ }
+ /**
+ * Enables eager loading of JMS properties and payload as soon as a
+ * message is loaded which generally is inefficient as the JMS
+ * properties may not be required but sometimes can catch early any
+ * issues with the underlying JMS provider and the use of JMS
+ * properties.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder eagerLoadingOfProperties(
+ String eagerLoadingOfProperties) {
+ setProperty("eagerLoadingOfProperties", eagerLoadingOfProperties);
+ return this;
+ }
+ /**
+ * To let the consumer use a custom ExceptionHandler. Notice if the
+ * option bridgeErrorHandler is enabled then this option is not in use.
+ * By default the consumer will deal with exceptions, that will be
+ * logged at WARN or ERROR level and ignored.
+ * The option is a <code>org.apache.camel.spi.ExceptionHandler</code>
+ * type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ setProperty("exceptionHandler", exceptionHandler);
+ return this;
+ }
+ /**
+ * To let the consumer use a custom ExceptionHandler. Notice if the
+ * option bridgeErrorHandler is enabled then this option is not in use.
+ * By default the consumer will deal with exceptions, that will be
+ * logged at WARN or ERROR level and ignored.
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder exceptionHandler(
+ String exceptionHandler) {
+ setProperty("exceptionHandler", exceptionHandler);
+ return this;
+ }
+ /**
+ * Sets the exchange pattern when the consumer creates an exchange.
+ * The option is a <code>org.apache.camel.ExchangePattern</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder exchangePattern(
+ ExchangePattern exchangePattern) {
+ setProperty("exchangePattern", exchangePattern);
+ return this;
+ }
+ /**
+ * Sets the exchange pattern when the consumer creates an exchange.
+ * The option will be converted to a
+ * <code>org.apache.camel.ExchangePattern</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder exchangePattern(
+ String exchangePattern) {
+ setProperty("exchangePattern", exchangePattern);
+ return this;
+ }
+ /**
+ * Specifies whether the listener session should be exposed when
+ * consuming messages.
+ * The option is a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder exposeListenerSession(
+ boolean exposeListenerSession) {
+ setProperty("exposeListenerSession", exposeListenerSession);
+ return this;
+ }
+ /**
+ * Specifies whether the listener session should be exposed when
+ * consuming messages.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder exposeListenerSession(
+ String exposeListenerSession) {
+ setProperty("exposeListenerSession", exposeListenerSession);
+ return this;
+ }
+ /**
+ * Whether a JMS consumer is allowed to send a reply message to the same
+ * destination that the consumer is using to consume from. This prevents
+ * an endless loop by consuming and sending back the same message to
+ * itself.
+ * The option is a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder replyToSameDestinationAllowed(
+ boolean replyToSameDestinationAllowed) {
+ setProperty("replyToSameDestinationAllowed", replyToSameDestinationAllowed);
+ return this;
+ }
+ /**
+ * Whether a JMS consumer is allowed to send a reply message to the same
+ * destination that the consumer is using to consume from. This prevents
+ * an endless loop by consuming and sending back the same message to
+ * itself.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder replyToSameDestinationAllowed(
+ String replyToSameDestinationAllowed) {
+ setProperty("replyToSameDestinationAllowed", replyToSameDestinationAllowed);
+ return this;
+ }
+ /**
+ * Allows you to specify a custom task executor for consuming messages.
+ * The option is a
+ * <code>org.springframework.core.task.TaskExecutor</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder taskExecutor(
+ Object taskExecutor) {
+ setProperty("taskExecutor", taskExecutor);
+ return this;
+ }
+ /**
+ * Allows you to specify a custom task executor for consuming messages.
+ * The option will be converted to a
+ * <code>org.springframework.core.task.TaskExecutor</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder taskExecutor(
+ String taskExecutor) {
+ setProperty("taskExecutor", taskExecutor);
+ return this;
+ }
+ /**
+ * Controls whether or not to include serialized headers. Applies only
+ * when isTransferExchange() is true. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder allowSerializedHeaders(
+ boolean allowSerializedHeaders) {
+ setProperty("allowSerializedHeaders", allowSerializedHeaders);
+ return this;
+ }
+ /**
+ * Controls whether or not to include serialized headers. Applies only
+ * when isTransferExchange() is true. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder allowSerializedHeaders(
+ String allowSerializedHeaders) {
+ setProperty("allowSerializedHeaders", allowSerializedHeaders);
+ return this;
+ }
+ /**
+ * Whether to startup the JmsConsumer message listener asynchronously,
+ * when starting a route. For example if a JmsConsumer cannot get a
+ * connection to a remote JMS broker, then it may block while retrying
+ * and/or failover. This will cause Camel to block while starting
+ * routes. By setting this option to true, you will let routes startup,
+ * while the JmsConsumer connects to the JMS broker using a dedicated
+ * thread in asynchronous mode. If this option is used, then beware that
+ * if the connection could not be established, then an exception is
+ * logged at WARN level, and the consumer will not be able to receive
+ * messages; You can then restart the route to retry.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder asyncStartListener(
+ boolean asyncStartListener) {
+ setProperty("asyncStartListener", asyncStartListener);
+ return this;
+ }
+ /**
+ * Whether to startup the JmsConsumer message listener asynchronously,
+ * when starting a route. For example if a JmsConsumer cannot get a
+ * connection to a remote JMS broker, then it may block while retrying
+ * and/or failover. This will cause Camel to block while starting
+ * routes. By setting this option to true, you will let routes startup,
+ * while the JmsConsumer connects to the JMS broker using a dedicated
+ * thread in asynchronous mode. If this option is used, then beware that
+ * if the connection could not be established, then an exception is
+ * logged at WARN level, and the consumer will not be able to receive
+ * messages; You can then restart the route to retry.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder asyncStartListener(
+ String asyncStartListener) {
+ setProperty("asyncStartListener", asyncStartListener);
+ return this;
+ }
+ /**
+ * Whether to stop the JmsConsumer message listener asynchronously, when
+ * stopping a route.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder asyncStopListener(
+ boolean asyncStopListener) {
+ setProperty("asyncStopListener", asyncStopListener);
+ return this;
+ }
+ /**
+ * Whether to stop the JmsConsumer message listener asynchronously, when
+ * stopping a route.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder asyncStopListener(
+ String asyncStopListener) {
+ setProperty("asyncStopListener", asyncStopListener);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder basicPropertyBinding(
+ boolean basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder basicPropertyBinding(
+ String basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * A pluggable
+ * org.springframework.jms.support.destination.DestinationResolver that
+ * allows you to use your own resolver (for example, to lookup the real
+ * destination in a JNDI registry).
+ * The option is a
+ * <code>org.springframework.jms.support.destination.DestinationResolver</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder destinationResolver(
+ Object destinationResolver) {
+ setProperty("destinationResolver", destinationResolver);
+ return this;
+ }
+ /**
+ * A pluggable
+ * org.springframework.jms.support.destination.DestinationResolver that
+ * allows you to use your own resolver (for example, to lookup the real
+ * destination in a JNDI registry).
+ * The option will be converted to a
+ * <code>org.springframework.jms.support.destination.DestinationResolver</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder destinationResolver(
+ String destinationResolver) {
+ setProperty("destinationResolver", destinationResolver);
+ return this;
+ }
+ /**
+ * Specifies a org.springframework.util.ErrorHandler to be invoked in
+ * case of any uncaught exceptions thrown while processing a Message. By
+ * default these exceptions will be logged at the WARN level, if no
+ * errorHandler has been configured. You can configure logging level and
+ * whether stack traces should be logged using errorHandlerLoggingLevel
+ * and errorHandlerLogStackTrace options. This makes it much easier to
+ * configure, than having to code a custom errorHandler.
+ * The option is a <code>org.springframework.util.ErrorHandler</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder errorHandler(
+ Object errorHandler) {
+ setProperty("errorHandler", errorHandler);
+ return this;
+ }
+ /**
+ * Specifies a org.springframework.util.ErrorHandler to be invoked in
+ * case of any uncaught exceptions thrown while processing a Message. By
+ * default these exceptions will be logged at the WARN level, if no
+ * errorHandler has been configured. You can configure logging level and
+ * whether stack traces should be logged using errorHandlerLoggingLevel
+ * and errorHandlerLogStackTrace options. This makes it much easier to
+ * configure, than having to code a custom errorHandler.
+ * The option will be converted to a
+ * <code>org.springframework.util.ErrorHandler</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder errorHandler(
+ String errorHandler) {
+ setProperty("errorHandler", errorHandler);
+ return this;
+ }
+ /**
+ * Specifies the JMS Exception Listener that is to be notified of any
+ * underlying JMS exceptions.
+ * The option is a <code>javax.jms.ExceptionListener</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder exceptionListener(
+ Object exceptionListener) {
+ setProperty("exceptionListener", exceptionListener);
+ return this;
+ }
+ /**
+ * Specifies the JMS Exception Listener that is to be notified of any
+ * underlying JMS exceptions.
+ * The option will be converted to a
+ * <code>javax.jms.ExceptionListener</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder exceptionListener(
+ String exceptionListener) {
+ setProperty("exceptionListener", exceptionListener);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ * The option is a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder headerFilterStrategy(
+ HeaderFilterStrategy headerFilterStrategy) {
+ setProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder headerFilterStrategy(
+ String headerFilterStrategy) {
+ setProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * Specify the limit for the number of consumers that are allowed to be
+ * idle at any given time.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder idleConsumerLimit(
+ int idleConsumerLimit) {
+ setProperty("idleConsumerLimit", idleConsumerLimit);
+ return this;
+ }
+ /**
+ * Specify the limit for the number of consumers that are allowed to be
+ * idle at any given time.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder idleConsumerLimit(
+ String idleConsumerLimit) {
+ setProperty("idleConsumerLimit", idleConsumerLimit);
+ return this;
+ }
+ /**
+ * Specifies the limit for idle executions of a receive task, not having
+ * received any message within its execution. If this limit is reached,
+ * the task will shut down and leave receiving to other executing tasks
+ * (in the case of dynamic scheduling; see the maxConcurrentConsumers
+ * setting). There is additional doc available from Spring.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder idleTaskExecutionLimit(
+ int idleTaskExecutionLimit) {
+ setProperty("idleTaskExecutionLimit", idleTaskExecutionLimit);
+ return this;
+ }
+ /**
+ * Specifies the limit for idle executions of a receive task, not having
+ * received any message within its execution. If this limit is reached,
+ * the task will shut down and leave receiving to other executing tasks
+ * (in the case of dynamic scheduling; see the maxConcurrentConsumers
+ * setting). There is additional doc available from Spring.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder idleTaskExecutionLimit(
+ String idleTaskExecutionLimit) {
+ setProperty("idleTaskExecutionLimit", idleTaskExecutionLimit);
+ return this;
+ }
+ /**
+ * Whether to include all JMSXxxx properties when mapping from JMS to
+ * Camel Message. Setting this to true will include properties such as
+ * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
+ * headerFilterStrategy then this option does not apply.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder includeAllJMSXProperties(
+ boolean includeAllJMSXProperties) {
+ setProperty("includeAllJMSXProperties", includeAllJMSXProperties);
+ return this;
+ }
+ /**
+ * Whether to include all JMSXxxx properties when mapping from JMS to
+ * Camel Message. Setting this to true will include properties such as
+ * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
+ * headerFilterStrategy then this option does not apply.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder includeAllJMSXProperties(
+ String includeAllJMSXProperties) {
+ setProperty("includeAllJMSXProperties", includeAllJMSXProperties);
+ return this;
+ }
+ /**
+ * Pluggable strategy for encoding and decoding JMS keys so they can be
+ * compliant with the JMS specification. Camel provides two
+ * implementations out of the box: default and passthrough. The default
+ * strategy will safely marshal dots and hyphens (. and -). The
+ * passthrough strategy leaves the key as is. Can be used for JMS
+ * brokers which do not care whether JMS header keys contain illegal
+ * characters. You can provide your own implementation of the
+ * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
+ * using the # notation.
+ * The option is a
+ * <code>org.apache.camel.component.jms.JmsKeyFormatStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder jmsKeyFormatStrategy(
+ Object jmsKeyFormatStrategy) {
+ setProperty("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
+ return this;
+ }
+ /**
+ * Pluggable strategy for encoding and decoding JMS keys so they can be
+ * compliant with the JMS specification. Camel provides two
+ * implementations out of the box: default and passthrough. The default
+ * strategy will safely marshal dots and hyphens (. and -). The
+ * passthrough strategy leaves the key as is. Can be used for JMS
+ * brokers which do not care whether JMS header keys contain illegal
+ * characters. You can provide your own implementation of the
+ * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
+ * using the # notation.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.JmsKeyFormatStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder jmsKeyFormatStrategy(
+ String jmsKeyFormatStrategy) {
+ setProperty("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
+ return this;
+ }
+ /**
+ * Specifies whether Camel should auto map the received JMS message to a
+ * suited payload type, such as javax.jms.TextMessage to a String etc.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder mapJmsMessage(
+ boolean mapJmsMessage) {
+ setProperty("mapJmsMessage", mapJmsMessage);
+ return this;
+ }
+ /**
+ * Specifies whether Camel should auto map the received JMS message to a
+ * suited payload type, such as javax.jms.TextMessage to a String etc.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder mapJmsMessage(
+ String mapJmsMessage) {
+ setProperty("mapJmsMessage", mapJmsMessage);
+ return this;
+ }
+ /**
+ * The number of messages per task. -1 is unlimited. If you use a range
+ * for concurrent consumers (eg min max), then this option can be used
+ * to set a value to eg 100 to control how fast the consumers will
+ * shrink when less work is required.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder maxMessagesPerTask(
+ int maxMessagesPerTask) {
+ setProperty("maxMessagesPerTask", maxMessagesPerTask);
+ return this;
+ }
+ /**
+ * The number of messages per task. -1 is unlimited. If you use a range
+ * for concurrent consumers (eg min max), then this option can be used
+ * to set a value to eg 100 to control how fast the consumers will
+ * shrink when less work is required.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder maxMessagesPerTask(
+ String maxMessagesPerTask) {
+ setProperty("maxMessagesPerTask", maxMessagesPerTask);
+ return this;
+ }
+ /**
+ * To use a custom Spring
+ * org.springframework.jms.support.converter.MessageConverter so you can
+ * be in control how to map to/from a javax.jms.Message.
+ * The option is a
+ * <code>org.springframework.jms.support.converter.MessageConverter</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageConverter(
+ Object messageConverter) {
+ setProperty("messageConverter", messageConverter);
+ return this;
+ }
+ /**
+ * To use a custom Spring
+ * org.springframework.jms.support.converter.MessageConverter so you can
+ * be in control how to map to/from a javax.jms.Message.
+ * The option will be converted to a
+ * <code>org.springframework.jms.support.converter.MessageConverter</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageConverter(
+ String messageConverter) {
+ setProperty("messageConverter", messageConverter);
+ return this;
+ }
+ /**
+ * To use the given MessageCreatedStrategy which are invoked when Camel
+ * creates new instances of javax.jms.Message objects when Camel is
+ * sending a JMS message.
+ * The option is a
+ * <code>org.apache.camel.component.jms.MessageCreatedStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageCreatedStrategy(
+ Object messageCreatedStrategy) {
+ setProperty("messageCreatedStrategy", messageCreatedStrategy);
+ return this;
+ }
+ /**
+ * To use the given MessageCreatedStrategy which are invoked when Camel
+ * creates new instances of javax.jms.Message objects when Camel is
+ * sending a JMS message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.MessageCreatedStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageCreatedStrategy(
+ String messageCreatedStrategy) {
+ setProperty("messageCreatedStrategy", messageCreatedStrategy);
+ return this;
+ }
+ /**
+ * When sending, specifies whether message IDs should be added. This is
+ * just an hint to the JMS Broker. If the JMS provider accepts this
+ * hint, these messages must have the message ID set to null; if the
+ * provider ignores the hint, the message ID must be set to its normal
+ * unique value.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageIdEnabled(
+ boolean messageIdEnabled) {
+ setProperty("messageIdEnabled", messageIdEnabled);
+ return this;
+ }
+ /**
+ * When sending, specifies whether message IDs should be added. This is
+ * just an hint to the JMS Broker. If the JMS provider accepts this
+ * hint, these messages must have the message ID set to null; if the
+ * provider ignores the hint, the message ID must be set to its normal
+ * unique value.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageIdEnabled(
+ String messageIdEnabled) {
+ setProperty("messageIdEnabled", messageIdEnabled);
+ return this;
+ }
+ /**
+ * Registry ID of the MessageListenerContainerFactory used to determine
+ * what
+ * org.springframework.jms.listener.AbstractMessageListenerContainer to
+ * use to consume messages. Setting this will automatically set
+ * consumerType to Custom.
+ * The option is a
+ * <code>org.apache.camel.component.jms.MessageListenerContainerFactory</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageListenerContainerFactory(
+ Object messageListenerContainerFactory) {
+ setProperty("messageListenerContainerFactory", messageListenerContainerFactory);
+ return this;
+ }
+ /**
+ * Registry ID of the MessageListenerContainerFactory used to determine
+ * what
+ * org.springframework.jms.listener.AbstractMessageListenerContainer to
+ * use to consume messages. Setting this will automatically set
+ * consumerType to Custom.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.MessageListenerContainerFactory</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageListenerContainerFactory(
+ String messageListenerContainerFactory) {
+ setProperty("messageListenerContainerFactory", messageListenerContainerFactory);
+ return this;
+ }
+ /**
+ * Specifies whether timestamps should be enabled by default on sending
+ * messages. This is just an hint to the JMS Broker. If the JMS provider
+ * accepts this hint, these messages must have the timestamp set to
+ * zero; if the provider ignores the hint, the timestamp must be set to
+ * its normal value.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageTimestampEnabled(
+ boolean messageTimestampEnabled) {
+ setProperty("messageTimestampEnabled", messageTimestampEnabled);
+ return this;
+ }
+ /**
+ * Specifies whether timestamps should be enabled by default on sending
+ * messages. This is just an hint to the JMS Broker. If the JMS provider
+ * accepts this hint, these messages must have the timestamp set to
+ * zero; if the provider ignores the hint, the timestamp must be set to
+ * its normal value.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder messageTimestampEnabled(
+ String messageTimestampEnabled) {
+ setProperty("messageTimestampEnabled", messageTimestampEnabled);
+ return this;
+ }
+ /**
+ * Specifies whether to inhibit the delivery of messages published by
+ * its own connection.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder pubSubNoLocal(
+ boolean pubSubNoLocal) {
+ setProperty("pubSubNoLocal", pubSubNoLocal);
+ return this;
+ }
+ /**
+ * Specifies whether to inhibit the delivery of messages published by
+ * its own connection.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder pubSubNoLocal(
+ String pubSubNoLocal) {
+ setProperty("pubSubNoLocal", pubSubNoLocal);
+ return this;
+ }
+ /**
+ * The timeout for receiving messages (in milliseconds).
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder receiveTimeout(
+ long receiveTimeout) {
+ setProperty("receiveTimeout", receiveTimeout);
+ return this;
+ }
+ /**
+ * The timeout for receiving messages (in milliseconds).
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder receiveTimeout(
+ String receiveTimeout) {
+ setProperty("receiveTimeout", receiveTimeout);
+ return this;
+ }
+ /**
+ * Specifies the interval between recovery attempts, i.e. when a
+ * connection is being refreshed, in milliseconds. The default is 5000
+ * ms, that is, 5 seconds.
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder recoveryInterval(
+ long recoveryInterval) {
+ setProperty("recoveryInterval", recoveryInterval);
+ return this;
+ }
+ /**
+ * Specifies the interval between recovery attempts, i.e. when a
+ * connection is being refreshed, in milliseconds. The default is 5000
+ * ms, that is, 5 seconds.
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder recoveryInterval(
+ String recoveryInterval) {
+ setProperty("recoveryInterval", recoveryInterval);
+ return this;
+ }
+ /**
+ * Configures how often Camel should check for timed out Exchanges when
+ * doing request/reply over JMS. By default Camel checks once per
+ * second. But if you must react faster when a timeout occurs, then you
+ * can lower this interval, to check more frequently. The timeout is
+ * determined by the option requestTimeout.
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder requestTimeoutCheckerInterval(
+ long requestTimeoutCheckerInterval) {
+ setProperty("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
+ return this;
+ }
+ /**
+ * Configures how often Camel should check for timed out Exchanges when
+ * doing request/reply over JMS. By default Camel checks once per
+ * second. But if you must react faster when a timeout occurs, then you
+ * can lower this interval, to check more frequently. The timeout is
+ * determined by the option requestTimeout.
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder requestTimeoutCheckerInterval(
+ String requestTimeoutCheckerInterval) {
+ setProperty("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder synchronous(
+ boolean synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder synchronous(
+ String synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed on the consumer side, then the caused Exception will
+ * be send back in response as a javax.jms.ObjectMessage. If the client
+ * is Camel, the returned Exception is rethrown. This allows you to use
+ * Camel JMS as a bridge in your routing - for example, using persistent
+ * queues to enable robust routing. Notice that if you also have
+ * transferExchange enabled, this option takes precedence. The caught
+ * exception is required to be serializable. The original Exception on
+ * the consumer side can be wrapped in an outer exception such as
+ * org.apache.camel.RuntimeCamelException when returned to the producer.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transferException(
+ boolean transferException) {
+ setProperty("transferException", transferException);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed on the consumer side, then the caused Exception will
+ * be send back in response as a javax.jms.ObjectMessage. If the client
+ * is Camel, the returned Exception is rethrown. This allows you to use
+ * Camel JMS as a bridge in your routing - for example, using persistent
+ * queues to enable robust routing. Notice that if you also have
+ * transferExchange enabled, this option takes precedence. The caught
+ * exception is required to be serializable. The original Exception on
+ * the consumer side can be wrapped in an outer exception such as
+ * org.apache.camel.RuntimeCamelException when returned to the producer.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transferException(
+ String transferException) {
+ setProperty("transferException", transferException);
+ return this;
+ }
+ /**
+ * You can transfer the exchange over the wire instead of just the body
+ * and headers. The following fields are transferred: In body, Out body,
+ * Fault body, In headers, Out headers, Fault headers, exchange
+ * properties, exchange exception. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level. You must enable this option on both the producer
+ * and consumer side, so Camel knows the payloads is an Exchange and not
+ * a regular payload.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transferExchange(
+ boolean transferExchange) {
+ setProperty("transferExchange", transferExchange);
+ return this;
+ }
+ /**
+ * You can transfer the exchange over the wire instead of just the body
+ * and headers. The following fields are transferred: In body, Out body,
+ * Fault body, In headers, Out headers, Fault headers, exchange
+ * properties, exchange exception. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level. You must enable this option on both the producer
+ * and consumer side, so Camel knows the payloads is an Exchange and not
+ * a regular payload.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transferExchange(
+ String transferExchange) {
+ setProperty("transferExchange", transferExchange);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed with a SOAP fault (not exception) on the consumer
+ * side, then the fault flag on org.apache.camel.Message#isFault() will
+ * be send back in the response as a JMS header with the key
+ * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
+ * fault flag will be set on the
+ * org.apache.camel.Message#setFault(boolean). You may want to enable
+ * this when using Camel components that support faults such as SOAP
+ * based such as cxf or spring-ws.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transferFault(
+ boolean transferFault) {
+ setProperty("transferFault", transferFault);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed with a SOAP fault (not exception) on the consumer
+ * side, then the fault flag on org.apache.camel.Message#isFault() will
+ * be send back in the response as a JMS header with the key
+ * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
+ * fault flag will be set on the
+ * org.apache.camel.Message#setFault(boolean). You may want to enable
+ * this when using Camel components that support faults such as SOAP
+ * based such as cxf or spring-ws.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transferFault(
+ String transferFault) {
+ setProperty("transferFault", transferFault);
+ return this;
+ }
+ /**
+ * Specifies whether JMSMessageID should always be used as
+ * JMSCorrelationID for InOut messages.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder useMessageIDAsCorrelationID(
+ boolean useMessageIDAsCorrelationID) {
+ setProperty("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
+ return this;
+ }
+ /**
+ * Specifies whether JMSMessageID should always be used as
+ * JMSCorrelationID for InOut messages.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder useMessageIDAsCorrelationID(
+ String useMessageIDAsCorrelationID) {
+ setProperty("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
+ return this;
+ }
+ /**
+ * Number of times to wait for provisional correlation id to be updated
+ * to the actual correlation id when doing request/reply over JMS and
+ * when the option useMessageIDAsCorrelationID is enabled.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder waitForProvisionCorrelationToBeUpdatedCounter(
+ int waitForProvisionCorrelationToBeUpdatedCounter) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
+ return this;
+ }
+ /**
+ * Number of times to wait for provisional correlation id to be updated
+ * to the actual correlation id when doing request/reply over JMS and
+ * when the option useMessageIDAsCorrelationID is enabled.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder waitForProvisionCorrelationToBeUpdatedCounter(
+ String waitForProvisionCorrelationToBeUpdatedCounter) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
+ return this;
+ }
+ /**
+ * Interval in millis to sleep each time while waiting for provisional
+ * correlation id to be updated.
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+ long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
+ return this;
+ }
+ /**
+ * Interval in millis to sleep each time while waiting for provisional
+ * correlation id to be updated.
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+ String waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
+ return this;
+ }
+ /**
+ * If true, Camel will create a JmsTransactionManager, if there is no
+ * transactionManager injected when option transacted=true.
+ * The option is a <code>boolean</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder lazyCreateTransactionManager(
+ boolean lazyCreateTransactionManager) {
+ setProperty("lazyCreateTransactionManager", lazyCreateTransactionManager);
+ return this;
+ }
+ /**
+ * If true, Camel will create a JmsTransactionManager, if there is no
+ * transactionManager injected when option transacted=true.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder lazyCreateTransactionManager(
+ String lazyCreateTransactionManager) {
+ setProperty("lazyCreateTransactionManager", lazyCreateTransactionManager);
+ return this;
+ }
+ /**
+ * The Spring transaction manager to use.
+ * The option is a
+ * <code>org.springframework.transaction.PlatformTransactionManager</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transactionManager(
+ Object transactionManager) {
+ setProperty("transactionManager", transactionManager);
+ return this;
+ }
+ /**
+ * The Spring transaction manager to use.
+ * The option will be converted to a
+ * <code>org.springframework.transaction.PlatformTransactionManager</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transactionManager(
+ String transactionManager) {
+ setProperty("transactionManager", transactionManager);
+ return this;
+ }
+ /**
+ * The name of the transaction to use.
+ * The option is a <code>java.lang.String</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transactionName(
+ String transactionName) {
+ setProperty("transactionName", transactionName);
+ return this;
+ }
+ /**
+ * The timeout value of the transaction (in seconds), if using
+ * transacted mode.
+ * The option is a <code>int</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transactionTimeout(
+ int transactionTimeout) {
+ setProperty("transactionTimeout", transactionTimeout);
+ return this;
+ }
+ /**
+ * The timeout value of the transaction (in seconds), if using
+ * transacted mode.
+ * The option will be converted to a <code>int</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointConsumerBuilder transactionTimeout(
+ String transactionTimeout) {
+ setProperty("transactionTimeout", transactionTimeout);
+ return this;
+ }
+ }
+
+ /**
+ * Builder for endpoint producers for the AMQP component.
+ */
+ public static interface AMQPEndpointProducerBuilder
+ extends
+ EndpointProducerBuilder {
+ public default AdvancedAMQPEndpointProducerBuilder advanced() {
+ return (AdvancedAMQPEndpointProducerBuilder) this;
+ }
+ /**
+ * The kind of destination to use.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder destinationType(
+ String destinationType) {
+ setProperty("destinationType", destinationType);
+ return this;
+ }
+ /**
+ * Name of the queue or topic to use as destination.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder destinationName(
+ String destinationName) {
+ setProperty("destinationName", destinationName);
+ return this;
+ }
+ /**
+ * Sets the JMS client ID to use. Note that this value, if specified,
+ * must be unique and can only be used by a single JMS connection
+ * instance. It is typically only required for durable topic
+ * subscriptions. If using Apache ActiveMQ you may prefer to use Virtual
+ * Topics instead.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder clientId(String clientId) {
+ setProperty("clientId", clientId);
+ return this;
+ }
+ /**
+ * Sets the default connection factory to be used if a connection
+ * factory is not specified for either
+ * setTemplateConnectionFactory(ConnectionFactory) or
+ * setListenerConnectionFactory(ConnectionFactory).
+ * The option is a <code>javax.jms.ConnectionFactory</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder connectionFactory(
+ Object connectionFactory) {
+ setProperty("connectionFactory", connectionFactory);
+ return this;
+ }
+ /**
+ * Sets the default connection factory to be used if a connection
+ * factory is not specified for either
+ * setTemplateConnectionFactory(ConnectionFactory) or
+ * setListenerConnectionFactory(ConnectionFactory).
+ * The option will be converted to a
+ * <code>javax.jms.ConnectionFactory</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder connectionFactory(
+ String connectionFactory) {
+ setProperty("connectionFactory", connectionFactory);
+ return this;
+ }
+ /**
+ * Specifies whether Camel ignores the JMSReplyTo header in messages. If
+ * true, Camel does not send a reply back to the destination specified
+ * in the JMSReplyTo header. You can use this option if you want Camel
+ * to consume from a route and you do not want Camel to automatically
+ * send back a reply message because another component in your code
+ * handles the reply message. You can also use this option if you want
+ * to use Camel as a proxy between different message brokers and you
+ * want to route message from one system to another.
+ * The option is a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder disableReplyTo(
+ boolean disableReplyTo) {
+ setProperty("disableReplyTo", disableReplyTo);
+ return this;
+ }
+ /**
+ * Specifies whether Camel ignores the JMSReplyTo header in messages. If
+ * true, Camel does not send a reply back to the destination specified
+ * in the JMSReplyTo header. You can use this option if you want Camel
+ * to consume from a route and you do not want Camel to automatically
+ * send back a reply message because another component in your code
+ * handles the reply message. You can also use this option if you want
+ * to use Camel as a proxy between different message brokers and you
+ * want to route message from one system to another.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder disableReplyTo(
+ String disableReplyTo) {
+ setProperty("disableReplyTo", disableReplyTo);
+ return this;
+ }
+ /**
+ * The durable subscriber name for specifying durable topic
+ * subscriptions. The clientId option must be configured as well.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder durableSubscriptionName(
+ String durableSubscriptionName) {
+ setProperty("durableSubscriptionName", durableSubscriptionName);
+ return this;
+ }
+ /**
+ * Allows you to force the use of a specific javax.jms.Message
+ * implementation for sending JMS messages. Possible values are: Bytes,
+ * Map, Object, Stream, Text. By default, Camel would determine which
+ * JMS message type to use from the In body type. This option allows you
+ * to specify it.
+ * The option is a
+ * <code>org.apache.camel.component.jms.JmsMessageType</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder jmsMessageType(
+ JmsMessageType jmsMessageType) {
+ setProperty("jmsMessageType", jmsMessageType);
+ return this;
+ }
+ /**
+ * Allows you to force the use of a specific javax.jms.Message
+ * implementation for sending JMS messages. Possible values are: Bytes,
+ * Map, Object, Stream, Text. By default, Camel would determine which
+ * JMS message type to use from the In body type. This option allows you
+ * to specify it.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.JmsMessageType</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder jmsMessageType(
+ String jmsMessageType) {
+ setProperty("jmsMessageType", jmsMessageType);
+ return this;
+ }
+ /**
+ * Specifies whether to test the connection on startup. This ensures
+ * that when Camel starts that all the JMS consumers have a valid
+ * connection to the JMS broker. If a connection cannot be granted then
+ * Camel throws an exception on startup. This ensures that Camel is not
+ * started with failed connections. The JMS producers is tested as well.
+ * The option is a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder testConnectionOnStartup(
+ boolean testConnectionOnStartup) {
+ setProperty("testConnectionOnStartup", testConnectionOnStartup);
+ return this;
+ }
+ /**
+ * Specifies whether to test the connection on startup. This ensures
+ * that when Camel starts that all the JMS consumers have a valid
+ * connection to the JMS broker. If a connection cannot be granted then
+ * Camel throws an exception on startup. This ensures that Camel is not
+ * started with failed connections. The JMS producers is tested as well.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointProducerBuilder testConnectionOnStartup(
+ String testConnectionOnStartup) {
+ setProperty("testConnectionOnStartup", testConnectionOnStartup);
+ return this;
+ }
+ /**
+ * Specifies the delivery mode to be used. Possibles values are those
+ * defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT
+ * = 2.
+ * The option is a <code>java.lang.Integer</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder deliveryMode(
+ Integer deliveryMode) {
+ setProperty("deliveryMode", deliveryMode);
+ return this;
+ }
+ /**
+ * Specifies the delivery mode to be used. Possibles values are those
+ * defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT
+ * = 2.
+ * The option will be converted to a <code>java.lang.Integer</code>
+ * type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder deliveryMode(
+ String deliveryMode) {
+ setProperty("deliveryMode", deliveryMode);
+ return this;
+ }
+ /**
+ * Specifies whether persistent delivery is used by default.
+ * The option is a <code>boolean</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder deliveryPersistent(
+ boolean deliveryPersistent) {
+ setProperty("deliveryPersistent", deliveryPersistent);
+ return this;
+ }
+ /**
+ * Specifies whether persistent delivery is used by default.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder deliveryPersistent(
+ String deliveryPersistent) {
+ setProperty("deliveryPersistent", deliveryPersistent);
+ return this;
+ }
+ /**
+ * Set if the deliveryMode, priority or timeToLive qualities of service
+ * should be used when sending messages. This option is based on
+ * Spring's JmsTemplate. The deliveryMode, priority and timeToLive
+ * options are applied to the current endpoint. This contrasts with the
+ * preserveMessageQos option, which operates at message granularity,
+ * reading QoS properties exclusively from the Camel In message headers.
+ * The option is a <code>java.lang.Boolean</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder explicitQosEnabled(
+ Boolean explicitQosEnabled) {
+ setProperty("explicitQosEnabled", explicitQosEnabled);
+ return this;
+ }
+ /**
+ * Set if the deliveryMode, priority or timeToLive qualities of service
+ * should be used when sending messages. This option is based on
+ * Spring's JmsTemplate. The deliveryMode, priority and timeToLive
+ * options are applied to the current endpoint. This contrasts with the
+ * preserveMessageQos option, which operates at message granularity,
+ * reading QoS properties exclusively from the Camel In message headers.
+ * The option will be converted to a <code>java.lang.Boolean</code>
+ * type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder explicitQosEnabled(
+ String explicitQosEnabled) {
+ setProperty("explicitQosEnabled", explicitQosEnabled);
+ return this;
+ }
+ /**
+ * Sets whether date headers should be formatted according to the ISO
+ * 8601 standard.
+ * The option is a <code>boolean</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder formatDateHeadersToIso8601(
+ boolean formatDateHeadersToIso8601) {
+ setProperty("formatDateHeadersToIso8601", formatDateHeadersToIso8601);
+ return this;
+ }
+ /**
+ * Sets whether date headers should be formatted according to the ISO
+ * 8601 standard.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder formatDateHeadersToIso8601(
+ String formatDateHeadersToIso8601) {
+ setProperty("formatDateHeadersToIso8601", formatDateHeadersToIso8601);
+ return this;
+ }
+ /**
+ * Set to true, if you want to send message using the QoS settings
+ * specified on the message, instead of the QoS settings on the JMS
+ * endpoint. The following three headers are considered JMSPriority,
+ * JMSDeliveryMode, and JMSExpiration. You can provide all or only some
+ * of them. If not provided, Camel will fall back to use the values from
+ * the endpoint instead. So, when using this option, the headers
+ * override the values from the endpoint. The explicitQosEnabled option,
+ * by contrast, will only use options set on the endpoint, and not
+ * values from the message header.
+ * The option is a <code>boolean</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder preserveMessageQos(
+ boolean preserveMessageQos) {
+ setProperty("preserveMessageQos", preserveMessageQos);
+ return this;
+ }
+ /**
+ * Set to true, if you want to send message using the QoS settings
+ * specified on the message, instead of the QoS settings on the JMS
+ * endpoint. The following three headers are considered JMSPriority,
+ * JMSDeliveryMode, and JMSExpiration. You can provide all or only some
+ * of them. If not provided, Camel will fall back to use the values from
+ * the endpoint instead. So, when using this option, the headers
+ * override the values from the endpoint. The explicitQosEnabled option,
+ * by contrast, will only use options set on the endpoint, and not
+ * values from the message header.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder preserveMessageQos(
+ String preserveMessageQos) {
+ setProperty("preserveMessageQos", preserveMessageQos);
+ return this;
+ }
+ /**
+ * Values greater than 1 specify the message priority when sending
+ * (where 0 is the lowest priority and 9 is the highest). The
+ * explicitQosEnabled option must also be enabled in order for this
+ * option to have any effect.
+ * The option is a <code>int</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder priority(int priority) {
+ setProperty("priority", priority);
+ return this;
+ }
+ /**
+ * Values greater than 1 specify the message priority when sending
+ * (where 0 is the lowest priority and 9 is the highest). The
+ * explicitQosEnabled option must also be enabled in order for this
+ * option to have any effect.
+ * The option will be converted to a <code>int</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder priority(String priority) {
+ setProperty("priority", priority);
+ return this;
+ }
+ /**
+ * Specifies the default number of concurrent consumers when doing
+ * request/reply over JMS. See also the maxMessagesPerTask option to
+ * control dynamic scaling up/down of threads.
+ * The option is a <code>int</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder replyToConcurrentConsumers(
+ int replyToConcurrentConsumers) {
+ setProperty("replyToConcurrentConsumers", replyToConcurrentConsumers);
+ return this;
+ }
+ /**
+ * Specifies the default number of concurrent consumers when doing
+ * request/reply over JMS. See also the maxMessagesPerTask option to
+ * control dynamic scaling up/down of threads.
+ * The option will be converted to a <code>int</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder replyToConcurrentConsumers(
+ String replyToConcurrentConsumers) {
+ setProperty("replyToConcurrentConsumers", replyToConcurrentConsumers);
+ return this;
+ }
+ /**
+ * Specifies the maximum number of concurrent consumers when using
+ * request/reply over JMS. See also the maxMessagesPerTask option to
+ * control dynamic scaling up/down of threads.
+ * The option is a <code>int</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder replyToMaxConcurrentConsumers(
+ int replyToMaxConcurrentConsumers) {
+ setProperty("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers);
+ return this;
+ }
+ /**
+ * Specifies the maximum number of concurrent consumers when using
+ * request/reply over JMS. See also the maxMessagesPerTask option to
+ * control dynamic scaling up/down of threads.
+ * The option will be converted to a <code>int</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder replyToMaxConcurrentConsumers(
+ String replyToMaxConcurrentConsumers) {
+ setProperty("replyToMaxConcurrentConsumers", replyToMaxConcurrentConsumers);
+ return this;
+ }
+ /**
+ * Specifies the maximum number of concurrent consumers for continue
+ * routing when timeout occurred when using request/reply over JMS.
+ * The option is a <code>int</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder replyToOnTimeoutMaxConcurrentConsumers(
+ int replyToOnTimeoutMaxConcurrentConsumers) {
+ setProperty("replyToOnTimeoutMaxConcurrentConsumers", replyToOnTimeoutMaxConcurrentConsumers);
+ return this;
+ }
+ /**
+ * Specifies the maximum number of concurrent consumers for continue
+ * routing when timeout occurred when using request/reply over JMS.
+ * The option will be converted to a <code>int</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder replyToOnTimeoutMaxConcurrentConsumers(
+ String replyToOnTimeoutMaxConcurrentConsumers) {
+ setProperty("replyToOnTimeoutMaxConcurrentConsumers", replyToOnTimeoutMaxConcurrentConsumers);
+ return this;
+ }
+ /**
+ * Provides an explicit ReplyTo destination in the JMS message, which
+ * overrides the setting of replyTo. It is useful if you want to forward
+ * the message to a remote Queue and receive the reply message from the
+ * ReplyTo destination.
+ * The option is a <code>java.lang.String</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder replyToOverride(
+ String replyToOverride) {
+ setProperty("replyToOverride", replyToOverride);
+ return this;
+ }
+ /**
+ * Allows for explicitly specifying which kind of strategy to use for
+ * replyTo queues when doing request/reply over JMS. Possible values
+ * are: Temporary, Shared, or Exclusive. By default Camel will use
+ * temporary queues. However if replyTo has been configured, then Shared
+ * is used by default. This option allows you to use exclusive queues
+ * instead of shared ones. See Camel JMS documentation for more details,
+ * and especially the notes about the implications if running in a
+ * clustered environment, and the fact that Shared reply queues has
+ * lower performance than its alternatives Temporary and Exclusive.
+ * The option is a
+ * <code>org.apache.camel.component.jms.ReplyToType</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder replyToType(
+ ReplyToType replyToType) {
+ setProperty("replyToType", replyToType);
+ return this;
+ }
+ /**
+ * Allows for explicitly specifying which kind of strategy to use for
+ * replyTo queues when doing request/reply over JMS. Possible values
+ * are: Temporary, Shared, or Exclusive. By default Camel will use
+ * temporary queues. However if replyTo has been configured, then Shared
+ * is used by default. This option allows you to use exclusive queues
+ * instead of shared ones. See Camel JMS documentation for more details,
+ * and especially the notes about the implications if running in a
+ * clustered environment, and the fact that Shared reply queues has
+ * lower performance than its alternatives Temporary and Exclusive.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.ReplyToType</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder replyToType(
+ String replyToType) {
+ setProperty("replyToType", replyToType);
+ return this;
+ }
+ /**
+ * The timeout for waiting for a reply when using the InOut Exchange
+ * Pattern (in milliseconds). The default is 20 seconds. You can include
+ * the header CamelJmsRequestTimeout to override this endpoint
+ * configured timeout value, and thus have per message individual
+ * timeout values. See also the requestTimeoutCheckerInterval option.
+ * The option is a <code>long</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder requestTimeout(
+ long requestTimeout) {
+ setProperty("requestTimeout", requestTimeout);
+ return this;
+ }
+ /**
+ * The timeout for waiting for a reply when using the InOut Exchange
+ * Pattern (in milliseconds). The default is 20 seconds. You can include
+ * the header CamelJmsRequestTimeout to override this endpoint
+ * configured timeout value, and thus have per message individual
+ * timeout values. See also the requestTimeoutCheckerInterval option.
+ * The option will be converted to a <code>long</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder requestTimeout(
+ String requestTimeout) {
+ setProperty("requestTimeout", requestTimeout);
+ return this;
+ }
+ /**
+ * When sending messages, specifies the time-to-live of the message (in
+ * milliseconds).
+ * The option is a <code>long</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder timeToLive(long timeToLive) {
+ setProperty("timeToLive", timeToLive);
+ return this;
+ }
+ /**
+ * When sending messages, specifies the time-to-live of the message (in
+ * milliseconds).
+ * The option will be converted to a <code>long</code> type.
+ * @group producer
+ */
+ public default AMQPEndpointProducerBuilder timeToLive(String timeToLive) {
+ setProperty("timeToLive", timeToLive);
+ return this;
+ }
+ /**
+ * Password to use with the ConnectionFactory. You can also configure
+ * username/password directly on the ConnectionFactory.
+ * The option is a <code>java.lang.String</code> type.
+ * @group security
+ */
+ public default AMQPEndpointProducerBuilder password(String password) {
+ setProperty("password", password);
+ return this;
+ }
+ /**
+ * Username to use with the ConnectionFactory. You can also configure
+ * username/password directly on the ConnectionFactory.
+ * The option is a <code>java.lang.String</code> type.
+ * @group security
+ */
+ public default AMQPEndpointProducerBuilder username(String username) {
+ setProperty("username", username);
+ return this;
+ }
+ /**
+ * Specifies whether to use transacted mode.
+ * The option is a <code>boolean</code> type.
+ * @group transaction
+ */
+ public default AMQPEndpointProducerBuilder transacted(boolean transacted) {
+ setProperty("transacted", transacted);
+ return this;
+ }
+ /**
+ * Specifies whether to use transacted mode.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group transaction
+ */
+ public default AMQPEndpointProducerBuilder transacted(String transacted) {
+ setProperty("transacted", transacted);
+ return this;
+ }
+ }
+
+ /**
+ * Advanced builder for endpoint producers for the AMQP component.
+ */
+ public interface AdvancedAMQPEndpointProducerBuilder
+ extends
+ EndpointProducerBuilder {
+ public default AMQPEndpointProducerBuilder basic() {
+ return (AMQPEndpointProducerBuilder) this;
+ }
+ /**
+ * This option is used to allow additional headers which may have values
+ * that are invalid according to JMS specification. For example some
+ * message systems such as WMQ do this with header names using prefix
+ * JMS_IBM_MQMD_ containing values with byte array or other invalid
+ * types. You can specify multiple header names separated by comma, and
+ * use as suffix for wildcard matching.
+ * The option is a <code>java.lang.String</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder allowAdditionalHeaders(
+ String allowAdditionalHeaders) {
+ setProperty("allowAdditionalHeaders", allowAdditionalHeaders);
+ return this;
+ }
+ /**
+ * Whether to allow sending messages with no body. If this option is
+ * false and the message body is null, then an JMSException is thrown.
+ * The option is a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder allowNullBody(
+ boolean allowNullBody) {
+ setProperty("allowNullBody", allowNullBody);
+ return this;
+ }
+ /**
+ * Whether to allow sending messages with no body. If this option is
+ * false and the message body is null, then an JMSException is thrown.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder allowNullBody(
+ String allowNullBody) {
+ setProperty("allowNullBody", allowNullBody);
+ return this;
+ }
+ /**
+ * If true, Camel will always make a JMS message copy of the message
+ * when it is passed to the producer for sending. Copying the message is
+ * needed in some situations, such as when a
+ * replyToDestinationSelectorName is set (incidentally, Camel will set
+ * the alwaysCopyMessage option to true, if a
+ * replyToDestinationSelectorName is set).
+ * The option is a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder alwaysCopyMessage(
+ boolean alwaysCopyMessage) {
+ setProperty("alwaysCopyMessage", alwaysCopyMessage);
+ return this;
+ }
+ /**
+ * If true, Camel will always make a JMS message copy of the message
+ * when it is passed to the producer for sending. Copying the message is
+ * needed in some situations, such as when a
+ * replyToDestinationSelectorName is set (incidentally, Camel will set
+ * the alwaysCopyMessage option to true, if a
+ * replyToDestinationSelectorName is set).
+ * The option will be converted to a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder alwaysCopyMessage(
+ String alwaysCopyMessage) {
+ setProperty("alwaysCopyMessage", alwaysCopyMessage);
+ return this;
+ }
+ /**
+ * Use this JMS property to correlate messages in InOut exchange pattern
+ * (request-reply) instead of JMSCorrelationID property. This allows you
+ * to exchange messages with systems that do not correlate messages
+ * using JMSCorrelationID JMS property. If used JMSCorrelationID will
+ * not be used or set by Camel. The value of here named property will be
+ * generated if not supplied in the header of the message under the same
+ * name.
+ * The option is a <code>java.lang.String</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder correlationProperty(
+ String correlationProperty) {
+ setProperty("correlationProperty", correlationProperty);
+ return this;
+ }
+ /**
+ * Use this option to force disabling time to live. For example when you
+ * do request/reply over JMS, then Camel will by default use the
+ * requestTimeout value as time to live on the message being sent. The
+ * problem is that the sender and receiver systems have to have their
+ * clocks synchronized, so they are in sync. This is not always so easy
+ * to archive. So you can use disableTimeToLive=true to not set a time
+ * to live value on the sent message. Then the message will not expire
+ * on the receiver system. See below in section About time to live for
+ * more details.
+ * The option is a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder disableTimeToLive(
+ boolean disableTimeToLive) {
+ setProperty("disableTimeToLive", disableTimeToLive);
+ return this;
+ }
+ /**
+ * Use this option to force disabling time to live. For example when you
+ * do request/reply over JMS, then Camel will by default use the
+ * requestTimeout value as time to live on the message being sent. The
+ * problem is that the sender and receiver systems have to have their
+ * clocks synchronized, so they are in sync. This is not always so easy
+ * to archive. So you can use disableTimeToLive=true to not set a time
+ * to live value on the sent message. Then the message will not expire
+ * on the receiver system. See below in section About time to live for
+ * more details.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder disableTimeToLive(
+ String disableTimeToLive) {
+ setProperty("disableTimeToLive", disableTimeToLive);
+ return this;
+ }
+ /**
+ * When using mapJmsMessage=false Camel will create a new JMS message to
+ * send to a new JMS destination if you touch the headers (get or set)
+ * during the route. Set this option to true to force Camel to send the
+ * original JMS message that was received.
+ * The option is a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder forceSendOriginalMessage(
+ boolean forceSendOriginalMessage) {
+ setProperty("forceSendOriginalMessage", forceSendOriginalMessage);
+ return this;
+ }
+ /**
+ * When using mapJmsMessage=false Camel will create a new JMS message to
+ * send to a new JMS destination if you touch the headers (get or set)
+ * during the route. Set this option to true to force Camel to send the
+ * original JMS message that was received.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder forceSendOriginalMessage(
+ String forceSendOriginalMessage) {
+ setProperty("forceSendOriginalMessage", forceSendOriginalMessage);
+ return this;
+ }
+ /**
+ * Only applicable when sending to JMS destination using InOnly (eg fire
+ * and forget). Enabling this option will enrich the Camel Exchange with
+ * the actual JMSMessageID that was used by the JMS client when the
+ * message was sent to the JMS destination.
+ * The option is a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder includeSentJMSMessageID(
+ boolean includeSentJMSMessageID) {
+ setProperty("includeSentJMSMessageID", includeSentJMSMessageID);
+ return this;
+ }
+ /**
+ * Only applicable when sending to JMS destination using InOnly (eg fire
+ * and forget). Enabling this option will enrich the Camel Exchange with
+ * the actual JMSMessageID that was used by the JMS client when the
+ * message was sent to the JMS destination.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder includeSentJMSMessageID(
+ String includeSentJMSMessageID) {
+ setProperty("includeSentJMSMessageID", includeSentJMSMessageID);
+ return this;
+ }
+ /**
+ * Sets the cache level by name for the reply consumer when doing
+ * request/reply over JMS. This option only applies when using fixed
+ * reply queues (not temporary). Camel will by default use:
+ * CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And
+ * CACHE_SESSION for shared without replyToSelectorName. Some JMS
+ * brokers such as IBM WebSphere may require to set the
+ * replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary
+ * queues then CACHE_NONE is not allowed, and you must use a higher
+ * value such as CACHE_CONSUMER or CACHE_SESSION.
+ * The option is a <code>java.lang.String</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder replyToCacheLevelName(
+ String replyToCacheLevelName) {
+ setProperty("replyToCacheLevelName", replyToCacheLevelName);
+ return this;
+ }
+ /**
+ * Sets the JMS Selector using the fixed name to be used so you can
+ * filter out your own replies from the others when using a shared queue
+ * (that is, if you are not using a temporary reply queue).
+ * The option is a <code>java.lang.String</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder replyToDestinationSelectorName(
+ String replyToDestinationSelectorName) {
+ setProperty("replyToDestinationSelectorName", replyToDestinationSelectorName);
+ return this;
+ }
+ /**
+ * Sets whether StreamMessage type is enabled or not. Message payloads
+ * of streaming kind such as files, InputStream, etc will either by sent
+ * as BytesMessage or StreamMessage. This option controls which kind
+ * will be used. By default BytesMessage is used which enforces the
+ * entire message payload to be read into memory. By enabling this
+ * option the message payload is read into memory in chunks and each
+ * chunk is then written to the StreamMessage until no more data.
+ * The option is a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder streamMessageTypeEnabled(
+ boolean streamMessageTypeEnabled) {
+ setProperty("streamMessageTypeEnabled", streamMessageTypeEnabled);
+ return this;
+ }
+ /**
+ * Sets whether StreamMessage type is enabled or not. Message payloads
+ * of streaming kind such as files, InputStream, etc will either by sent
+ * as BytesMessage or StreamMessage. This option controls which kind
+ * will be used. By default BytesMessage is used which enforces the
+ * entire message payload to be read into memory. By enabling this
+ * option the message payload is read into memory in chunks and each
+ * chunk is then written to the StreamMessage until no more data.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group producer (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder streamMessageTypeEnabled(
+ String streamMessageTypeEnabled) {
+ setProperty("streamMessageTypeEnabled", streamMessageTypeEnabled);
+ return this;
+ }
+ /**
+ * Controls whether or not to include serialized headers. Applies only
+ * when isTransferExchange() is true. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder allowSerializedHeaders(
+ boolean allowSerializedHeaders) {
+ setProperty("allowSerializedHeaders", allowSerializedHeaders);
+ return this;
+ }
+ /**
+ * Controls whether or not to include serialized headers. Applies only
+ * when isTransferExchange() is true. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder allowSerializedHeaders(
+ String allowSerializedHeaders) {
+ setProperty("allowSerializedHeaders", allowSerializedHeaders);
+ return this;
+ }
+ /**
+ * Whether to startup the JmsConsumer message listener asynchronously,
+ * when starting a route. For example if a JmsConsumer cannot get a
+ * connection to a remote JMS broker, then it may block while retrying
+ * and/or failover. This will cause Camel to block while starting
+ * routes. By setting this option to true, you will let routes startup,
+ * while the JmsConsumer connects to the JMS broker using a dedicated
+ * thread in asynchronous mode. If this option is used, then beware that
+ * if the connection could not be established, then an exception is
+ * logged at WARN level, and the consumer will not be able to receive
+ * messages; You can then restart the route to retry.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder asyncStartListener(
+ boolean asyncStartListener) {
+ setProperty("asyncStartListener", asyncStartListener);
+ return this;
+ }
+ /**
+ * Whether to startup the JmsConsumer message listener asynchronously,
+ * when starting a route. For example if a JmsConsumer cannot get a
+ * connection to a remote JMS broker, then it may block while retrying
+ * and/or failover. This will cause Camel to block while starting
+ * routes. By setting this option to true, you will let routes startup,
+ * while the JmsConsumer connects to the JMS broker using a dedicated
+ * thread in asynchronous mode. If this option is used, then beware that
+ * if the connection could not be established, then an exception is
+ * logged at WARN level, and the consumer will not be able to receive
+ * messages; You can then restart the route to retry.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder asyncStartListener(
+ String asyncStartListener) {
+ setProperty("asyncStartListener", asyncStartListener);
+ return this;
+ }
+ /**
+ * Whether to stop the JmsConsumer message listener asynchronously, when
+ * stopping a route.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder asyncStopListener(
+ boolean asyncStopListener) {
+ setProperty("asyncStopListener", asyncStopListener);
+ return this;
+ }
+ /**
+ * Whether to stop the JmsConsumer message listener asynchronously, when
+ * stopping a route.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder asyncStopListener(
+ String asyncStopListener) {
+ setProperty("asyncStopListener", asyncStopListener);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder basicPropertyBinding(
+ boolean basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder basicPropertyBinding(
+ String basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * A pluggable
+ * org.springframework.jms.support.destination.DestinationResolver that
+ * allows you to use your own resolver (for example, to lookup the real
+ * destination in a JNDI registry).
+ * The option is a
+ * <code>org.springframework.jms.support.destination.DestinationResolver</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder destinationResolver(
+ Object destinationResolver) {
+ setProperty("destinationResolver", destinationResolver);
+ return this;
+ }
+ /**
+ * A pluggable
+ * org.springframework.jms.support.destination.DestinationResolver that
+ * allows you to use your own resolver (for example, to lookup the real
+ * destination in a JNDI registry).
+ * The option will be converted to a
+ * <code>org.springframework.jms.support.destination.DestinationResolver</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder destinationResolver(
+ String destinationResolver) {
+ setProperty("destinationResolver", destinationResolver);
+ return this;
+ }
+ /**
+ * Specifies a org.springframework.util.ErrorHandler to be invoked in
+ * case of any uncaught exceptions thrown while processing a Message. By
+ * default these exceptions will be logged at the WARN level, if no
+ * errorHandler has been configured. You can configure logging level and
+ * whether stack traces should be logged using errorHandlerLoggingLevel
+ * and errorHandlerLogStackTrace options. This makes it much easier to
+ * configure, than having to code a custom errorHandler.
+ * The option is a <code>org.springframework.util.ErrorHandler</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder errorHandler(
+ Object errorHandler) {
+ setProperty("errorHandler", errorHandler);
+ return this;
+ }
+ /**
+ * Specifies a org.springframework.util.ErrorHandler to be invoked in
+ * case of any uncaught exceptions thrown while processing a Message. By
+ * default these exceptions will be logged at the WARN level, if no
+ * errorHandler has been configured. You can configure logging level and
+ * whether stack traces should be logged using errorHandlerLoggingLevel
+ * and errorHandlerLogStackTrace options. This makes it much easier to
+ * configure, than having to code a custom errorHandler.
+ * The option will be converted to a
+ * <code>org.springframework.util.ErrorHandler</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder errorHandler(
+ String errorHandler) {
+ setProperty("errorHandler", errorHandler);
+ return this;
+ }
+ /**
+ * Specifies the JMS Exception Listener that is to be notified of any
+ * underlying JMS exceptions.
+ * The option is a <code>javax.jms.ExceptionListener</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder exceptionListener(
+ Object exceptionListener) {
+ setProperty("exceptionListener", exceptionListener);
+ return this;
+ }
+ /**
+ * Specifies the JMS Exception Listener that is to be notified of any
+ * underlying JMS exceptions.
+ * The option will be converted to a
+ * <code>javax.jms.ExceptionListener</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder exceptionListener(
+ String exceptionListener) {
+ setProperty("exceptionListener", exceptionListener);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ * The option is a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder headerFilterStrategy(
+ HeaderFilterStrategy headerFilterStrategy) {
+ setProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder headerFilterStrategy(
+ String headerFilterStrategy) {
+ setProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * Specify the limit for the number of consumers that are allowed to be
+ * idle at any given time.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder idleConsumerLimit(
+ int idleConsumerLimit) {
+ setProperty("idleConsumerLimit", idleConsumerLimit);
+ return this;
+ }
+ /**
+ * Specify the limit for the number of consumers that are allowed to be
+ * idle at any given time.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder idleConsumerLimit(
+ String idleConsumerLimit) {
+ setProperty("idleConsumerLimit", idleConsumerLimit);
+ return this;
+ }
+ /**
+ * Specifies the limit for idle executions of a receive task, not having
+ * received any message within its execution. If this limit is reached,
+ * the task will shut down and leave receiving to other executing tasks
+ * (in the case of dynamic scheduling; see the maxConcurrentConsumers
+ * setting). There is additional doc available from Spring.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder idleTaskExecutionLimit(
+ int idleTaskExecutionLimit) {
+ setProperty("idleTaskExecutionLimit", idleTaskExecutionLimit);
+ return this;
+ }
+ /**
+ * Specifies the limit for idle executions of a receive task, not having
+ * received any message within its execution. If this limit is reached,
+ * the task will shut down and leave receiving to other executing tasks
+ * (in the case of dynamic scheduling; see the maxConcurrentConsumers
+ * setting). There is additional doc available from Spring.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder idleTaskExecutionLimit(
+ String idleTaskExecutionLimit) {
+ setProperty("idleTaskExecutionLimit", idleTaskExecutionLimit);
+ return this;
+ }
+ /**
+ * Whether to include all JMSXxxx properties when mapping from JMS to
+ * Camel Message. Setting this to true will include properties such as
+ * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
+ * headerFilterStrategy then this option does not apply.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder includeAllJMSXProperties(
+ boolean includeAllJMSXProperties) {
+ setProperty("includeAllJMSXProperties", includeAllJMSXProperties);
+ return this;
+ }
+ /**
+ * Whether to include all JMSXxxx properties when mapping from JMS to
+ * Camel Message. Setting this to true will include properties such as
+ * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
+ * headerFilterStrategy then this option does not apply.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder includeAllJMSXProperties(
+ String includeAllJMSXProperties) {
+ setProperty("includeAllJMSXProperties", includeAllJMSXProperties);
+ return this;
+ }
+ /**
+ * Pluggable strategy for encoding and decoding JMS keys so they can be
+ * compliant with the JMS specification. Camel provides two
+ * implementations out of the box: default and passthrough. The default
+ * strategy will safely marshal dots and hyphens (. and -). The
+ * passthrough strategy leaves the key as is. Can be used for JMS
+ * brokers which do not care whether JMS header keys contain illegal
+ * characters. You can provide your own implementation of the
+ * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
+ * using the # notation.
+ * The option is a
+ * <code>org.apache.camel.component.jms.JmsKeyFormatStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder jmsKeyFormatStrategy(
+ Object jmsKeyFormatStrategy) {
+ setProperty("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
+ return this;
+ }
+ /**
+ * Pluggable strategy for encoding and decoding JMS keys so they can be
+ * compliant with the JMS specification. Camel provides two
+ * implementations out of the box: default and passthrough. The default
+ * strategy will safely marshal dots and hyphens (. and -). The
+ * passthrough strategy leaves the key as is. Can be used for JMS
+ * brokers which do not care whether JMS header keys contain illegal
+ * characters. You can provide your own implementation of the
+ * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
+ * using the # notation.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.JmsKeyFormatStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder jmsKeyFormatStrategy(
+ String jmsKeyFormatStrategy) {
+ setProperty("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
+ return this;
+ }
+ /**
+ * Specifies whether Camel should auto map the received JMS message to a
+ * suited payload type, such as javax.jms.TextMessage to a String etc.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder mapJmsMessage(
+ boolean mapJmsMessage) {
+ setProperty("mapJmsMessage", mapJmsMessage);
+ return this;
+ }
+ /**
+ * Specifies whether Camel should auto map the received JMS message to a
+ * suited payload type, such as javax.jms.TextMessage to a String etc.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder mapJmsMessage(
+ String mapJmsMessage) {
+ setProperty("mapJmsMessage", mapJmsMessage);
+ return this;
+ }
+ /**
+ * The number of messages per task. -1 is unlimited. If you use a range
+ * for concurrent consumers (eg min max), then this option can be used
+ * to set a value to eg 100 to control how fast the consumers will
+ * shrink when less work is required.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder maxMessagesPerTask(
+ int maxMessagesPerTask) {
+ setProperty("maxMessagesPerTask", maxMessagesPerTask);
+ return this;
+ }
+ /**
+ * The number of messages per task. -1 is unlimited. If you use a range
+ * for concurrent consumers (eg min max), then this option can be used
+ * to set a value to eg 100 to control how fast the consumers will
+ * shrink when less work is required.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder maxMessagesPerTask(
+ String maxMessagesPerTask) {
+ setProperty("maxMessagesPerTask", maxMessagesPerTask);
+ return this;
+ }
+ /**
+ * To use a custom Spring
+ * org.springframework.jms.support.converter.MessageConverter so you can
+ * be in control how to map to/from a javax.jms.Message.
+ * The option is a
+ * <code>org.springframework.jms.support.converter.MessageConverter</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageConverter(
+ Object messageConverter) {
+ setProperty("messageConverter", messageConverter);
+ return this;
+ }
+ /**
+ * To use a custom Spring
+ * org.springframework.jms.support.converter.MessageConverter so you can
+ * be in control how to map to/from a javax.jms.Message.
+ * The option will be converted to a
+ * <code>org.springframework.jms.support.converter.MessageConverter</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageConverter(
+ String messageConverter) {
+ setProperty("messageConverter", messageConverter);
+ return this;
+ }
+ /**
+ * To use the given MessageCreatedStrategy which are invoked when Camel
+ * creates new instances of javax.jms.Message objects when Camel is
+ * sending a JMS message.
+ * The option is a
+ * <code>org.apache.camel.component.jms.MessageCreatedStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageCreatedStrategy(
+ Object messageCreatedStrategy) {
+ setProperty("messageCreatedStrategy", messageCreatedStrategy);
+ return this;
+ }
+ /**
+ * To use the given MessageCreatedStrategy which are invoked when Camel
+ * creates new instances of javax.jms.Message objects when Camel is
+ * sending a JMS message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.MessageCreatedStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageCreatedStrategy(
+ String messageCreatedStrategy) {
+ setProperty("messageCreatedStrategy", messageCreatedStrategy);
+ return this;
+ }
+ /**
+ * When sending, specifies whether message IDs should be added. This is
+ * just an hint to the JMS Broker. If the JMS provider accepts this
+ * hint, these messages must have the message ID set to null; if the
+ * provider ignores the hint, the message ID must be set to its normal
+ * unique value.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageIdEnabled(
+ boolean messageIdEnabled) {
+ setProperty("messageIdEnabled", messageIdEnabled);
+ return this;
+ }
+ /**
+ * When sending, specifies whether message IDs should be added. This is
+ * just an hint to the JMS Broker. If the JMS provider accepts this
+ * hint, these messages must have the message ID set to null; if the
+ * provider ignores the hint, the message ID must be set to its normal
+ * unique value.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageIdEnabled(
+ String messageIdEnabled) {
+ setProperty("messageIdEnabled", messageIdEnabled);
+ return this;
+ }
+ /**
+ * Registry ID of the MessageListenerContainerFactory used to determine
+ * what
+ * org.springframework.jms.listener.AbstractMessageListenerContainer to
+ * use to consume messages. Setting this will automatically set
+ * consumerType to Custom.
+ * The option is a
+ * <code>org.apache.camel.component.jms.MessageListenerContainerFactory</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageListenerContainerFactory(
+ Object messageListenerContainerFactory) {
+ setProperty("messageListenerContainerFactory", messageListenerContainerFactory);
+ return this;
+ }
+ /**
+ * Registry ID of the MessageListenerContainerFactory used to determine
+ * what
+ * org.springframework.jms.listener.AbstractMessageListenerContainer to
+ * use to consume messages. Setting this will automatically set
+ * consumerType to Custom.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.MessageListenerContainerFactory</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageListenerContainerFactory(
+ String messageListenerContainerFactory) {
+ setProperty("messageListenerContainerFactory", messageListenerContainerFactory);
+ return this;
+ }
+ /**
+ * Specifies whether timestamps should be enabled by default on sending
+ * messages. This is just an hint to the JMS Broker. If the JMS provider
+ * accepts this hint, these messages must have the timestamp set to
+ * zero; if the provider ignores the hint, the timestamp must be set to
+ * its normal value.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageTimestampEnabled(
+ boolean messageTimestampEnabled) {
+ setProperty("messageTimestampEnabled", messageTimestampEnabled);
+ return this;
+ }
+ /**
+ * Specifies whether timestamps should be enabled by default on sending
+ * messages. This is just an hint to the JMS Broker. If the JMS provider
+ * accepts this hint, these messages must have the timestamp set to
+ * zero; if the provider ignores the hint, the timestamp must be set to
+ * its normal value.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder messageTimestampEnabled(
+ String messageTimestampEnabled) {
+ setProperty("messageTimestampEnabled", messageTimestampEnabled);
+ return this;
+ }
+ /**
+ * Specifies whether to inhibit the delivery of messages published by
+ * its own connection.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder pubSubNoLocal(
+ boolean pubSubNoLocal) {
+ setProperty("pubSubNoLocal", pubSubNoLocal);
+ return this;
+ }
+ /**
+ * Specifies whether to inhibit the delivery of messages published by
+ * its own connection.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder pubSubNoLocal(
+ String pubSubNoLocal) {
+ setProperty("pubSubNoLocal", pubSubNoLocal);
+ return this;
+ }
+ /**
+ * The timeout for receiving messages (in milliseconds).
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder receiveTimeout(
+ long receiveTimeout) {
+ setProperty("receiveTimeout", receiveTimeout);
+ return this;
+ }
+ /**
+ * The timeout for receiving messages (in milliseconds).
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder receiveTimeout(
+ String receiveTimeout) {
+ setProperty("receiveTimeout", receiveTimeout);
+ return this;
+ }
+ /**
+ * Specifies the interval between recovery attempts, i.e. when a
+ * connection is being refreshed, in milliseconds. The default is 5000
+ * ms, that is, 5 seconds.
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder recoveryInterval(
+ long recoveryInterval) {
+ setProperty("recoveryInterval", recoveryInterval);
+ return this;
+ }
+ /**
+ * Specifies the interval between recovery attempts, i.e. when a
+ * connection is being refreshed, in milliseconds. The default is 5000
+ * ms, that is, 5 seconds.
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder recoveryInterval(
+ String recoveryInterval) {
+ setProperty("recoveryInterval", recoveryInterval);
+ return this;
+ }
+ /**
+ * Configures how often Camel should check for timed out Exchanges when
+ * doing request/reply over JMS. By default Camel checks once per
+ * second. But if you must react faster when a timeout occurs, then you
+ * can lower this interval, to check more frequently. The timeout is
+ * determined by the option requestTimeout.
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder requestTimeoutCheckerInterval(
+ long requestTimeoutCheckerInterval) {
+ setProperty("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
+ return this;
+ }
+ /**
+ * Configures how often Camel should check for timed out Exchanges when
+ * doing request/reply over JMS. By default Camel checks once per
+ * second. But if you must react faster when a timeout occurs, then you
+ * can lower this interval, to check more frequently. The timeout is
+ * determined by the option requestTimeout.
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder requestTimeoutCheckerInterval(
+ String requestTimeoutCheckerInterval) {
+ setProperty("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder synchronous(
+ boolean synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder synchronous(
+ String synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed on the consumer side, then the caused Exception will
+ * be send back in response as a javax.jms.ObjectMessage. If the client
+ * is Camel, the returned Exception is rethrown. This allows you to use
+ * Camel JMS as a bridge in your routing - for example, using persistent
+ * queues to enable robust routing. Notice that if you also have
+ * transferExchange enabled, this option takes precedence. The caught
+ * exception is required to be serializable. The original Exception on
+ * the consumer side can be wrapped in an outer exception such as
+ * org.apache.camel.RuntimeCamelException when returned to the producer.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transferException(
+ boolean transferException) {
+ setProperty("transferException", transferException);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed on the consumer side, then the caused Exception will
+ * be send back in response as a javax.jms.ObjectMessage. If the client
+ * is Camel, the returned Exception is rethrown. This allows you to use
+ * Camel JMS as a bridge in your routing - for example, using persistent
+ * queues to enable robust routing. Notice that if you also have
+ * transferExchange enabled, this option takes precedence. The caught
+ * exception is required to be serializable. The original Exception on
+ * the consumer side can be wrapped in an outer exception such as
+ * org.apache.camel.RuntimeCamelException when returned to the producer.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transferException(
+ String transferException) {
+ setProperty("transferException", transferException);
+ return this;
+ }
+ /**
+ * You can transfer the exchange over the wire instead of just the body
+ * and headers. The following fields are transferred: In body, Out body,
+ * Fault body, In headers, Out headers, Fault headers, exchange
+ * properties, exchange exception. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level. You must enable this option on both the producer
+ * and consumer side, so Camel knows the payloads is an Exchange and not
+ * a regular payload.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transferExchange(
+ boolean transferExchange) {
+ setProperty("transferExchange", transferExchange);
+ return this;
+ }
+ /**
+ * You can transfer the exchange over the wire instead of just the body
+ * and headers. The following fields are transferred: In body, Out body,
+ * Fault body, In headers, Out headers, Fault headers, exchange
+ * properties, exchange exception. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level. You must enable this option on both the producer
+ * and consumer side, so Camel knows the payloads is an Exchange and not
+ * a regular payload.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transferExchange(
+ String transferExchange) {
+ setProperty("transferExchange", transferExchange);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed with a SOAP fault (not exception) on the consumer
+ * side, then the fault flag on org.apache.camel.Message#isFault() will
+ * be send back in the response as a JMS header with the key
+ * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
+ * fault flag will be set on the
+ * org.apache.camel.Message#setFault(boolean). You may want to enable
+ * this when using Camel components that support faults such as SOAP
+ * based such as cxf or spring-ws.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transferFault(
+ boolean transferFault) {
+ setProperty("transferFault", transferFault);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed with a SOAP fault (not exception) on the consumer
+ * side, then the fault flag on org.apache.camel.Message#isFault() will
+ * be send back in the response as a JMS header with the key
+ * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
+ * fault flag will be set on the
+ * org.apache.camel.Message#setFault(boolean). You may want to enable
+ * this when using Camel components that support faults such as SOAP
+ * based such as cxf or spring-ws.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transferFault(
+ String transferFault) {
+ setProperty("transferFault", transferFault);
+ return this;
+ }
+ /**
+ * Specifies whether JMSMessageID should always be used as
+ * JMSCorrelationID for InOut messages.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder useMessageIDAsCorrelationID(
+ boolean useMessageIDAsCorrelationID) {
+ setProperty("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
+ return this;
+ }
+ /**
+ * Specifies whether JMSMessageID should always be used as
+ * JMSCorrelationID for InOut messages.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder useMessageIDAsCorrelationID(
+ String useMessageIDAsCorrelationID) {
+ setProperty("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
+ return this;
+ }
+ /**
+ * Number of times to wait for provisional correlation id to be updated
+ * to the actual correlation id when doing request/reply over JMS and
+ * when the option useMessageIDAsCorrelationID is enabled.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder waitForProvisionCorrelationToBeUpdatedCounter(
+ int waitForProvisionCorrelationToBeUpdatedCounter) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
+ return this;
+ }
+ /**
+ * Number of times to wait for provisional correlation id to be updated
+ * to the actual correlation id when doing request/reply over JMS and
+ * when the option useMessageIDAsCorrelationID is enabled.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder waitForProvisionCorrelationToBeUpdatedCounter(
+ String waitForProvisionCorrelationToBeUpdatedCounter) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
+ return this;
+ }
+ /**
+ * Interval in millis to sleep each time while waiting for provisional
+ * correlation id to be updated.
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+ long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
+ return this;
+ }
+ /**
+ * Interval in millis to sleep each time while waiting for provisional
+ * correlation id to be updated.
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointProducerBuilder waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+ String waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
+ return this;
+ }
+ /**
+ * If true, Camel will create a JmsTransactionManager, if there is no
+ * transactionManager injected when option transacted=true.
+ * The option is a <code>boolean</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder lazyCreateTransactionManager(
+ boolean lazyCreateTransactionManager) {
+ setProperty("lazyCreateTransactionManager", lazyCreateTransactionManager);
+ return this;
+ }
+ /**
+ * If true, Camel will create a JmsTransactionManager, if there is no
+ * transactionManager injected when option transacted=true.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder lazyCreateTransactionManager(
+ String lazyCreateTransactionManager) {
+ setProperty("lazyCreateTransactionManager", lazyCreateTransactionManager);
+ return this;
+ }
+ /**
+ * The Spring transaction manager to use.
+ * The option is a
+ * <code>org.springframework.transaction.PlatformTransactionManager</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transactionManager(
+ Object transactionManager) {
+ setProperty("transactionManager", transactionManager);
+ return this;
+ }
+ /**
+ * The Spring transaction manager to use.
+ * The option will be converted to a
+ * <code>org.springframework.transaction.PlatformTransactionManager</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transactionManager(
+ String transactionManager) {
+ setProperty("transactionManager", transactionManager);
+ return this;
+ }
+ /**
+ * The name of the transaction to use.
+ * The option is a <code>java.lang.String</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transactionName(
+ String transactionName) {
+ setProperty("transactionName", transactionName);
+ return this;
+ }
+ /**
+ * The timeout value of the transaction (in seconds), if using
+ * transacted mode.
+ * The option is a <code>int</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transactionTimeout(
+ int transactionTimeout) {
+ setProperty("transactionTimeout", transactionTimeout);
+ return this;
+ }
+ /**
+ * The timeout value of the transaction (in seconds), if using
+ * transacted mode.
+ * The option will be converted to a <code>int</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointProducerBuilder transactionTimeout(
+ String transactionTimeout) {
+ setProperty("transactionTimeout", transactionTimeout);
+ return this;
+ }
+ }
+
+ /**
+ * Builder for endpoint for the AMQP component.
+ */
+ public static interface AMQPEndpointBuilder
+ extends
+ AMQPEndpointConsumerBuilder, AMQPEndpointProducerBuilder {
+ public default AdvancedAMQPEndpointBuilder advanced() {
+ return (AdvancedAMQPEndpointBuilder) this;
+ }
+ /**
+ * The kind of destination to use.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder destinationType(
+ String destinationType) {
+ setProperty("destinationType", destinationType);
+ return this;
+ }
+ /**
+ * Name of the queue or topic to use as destination.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder destinationName(
+ String destinationName) {
+ setProperty("destinationName", destinationName);
+ return this;
+ }
+ /**
+ * Sets the JMS client ID to use. Note that this value, if specified,
+ * must be unique and can only be used by a single JMS connection
+ * instance. It is typically only required for durable topic
+ * subscriptions. If using Apache ActiveMQ you may prefer to use Virtual
+ * Topics instead.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder clientId(String clientId) {
+ setProperty("clientId", clientId);
+ return this;
+ }
+ /**
+ * Sets the default connection factory to be used if a connection
+ * factory is not specified for either
+ * setTemplateConnectionFactory(ConnectionFactory) or
+ * setListenerConnectionFactory(ConnectionFactory).
+ * The option is a <code>javax.jms.ConnectionFactory</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder connectionFactory(
+ Object connectionFactory) {
+ setProperty("connectionFactory", connectionFactory);
+ return this;
+ }
+ /**
+ * Sets the default connection factory to be used if a connection
+ * factory is not specified for either
+ * setTemplateConnectionFactory(ConnectionFactory) or
+ * setListenerConnectionFactory(ConnectionFactory).
+ * The option will be converted to a
+ * <code>javax.jms.ConnectionFactory</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder connectionFactory(
+ String connectionFactory) {
+ setProperty("connectionFactory", connectionFactory);
+ return this;
+ }
+ /**
+ * Specifies whether Camel ignores the JMSReplyTo header in messages. If
+ * true, Camel does not send a reply back to the destination specified
+ * in the JMSReplyTo header. You can use this option if you want Camel
+ * to consume from a route and you do not want Camel to automatically
+ * send back a reply message because another component in your code
+ * handles the reply message. You can also use this option if you want
+ * to use Camel as a proxy between different message brokers and you
+ * want to route message from one system to another.
+ * The option is a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder disableReplyTo(boolean disableReplyTo) {
+ setProperty("disableReplyTo", disableReplyTo);
+ return this;
+ }
+ /**
+ * Specifies whether Camel ignores the JMSReplyTo header in messages. If
+ * true, Camel does not send a reply back to the destination specified
+ * in the JMSReplyTo header. You can use this option if you want Camel
+ * to consume from a route and you do not want Camel to automatically
+ * send back a reply message because another component in your code
+ * handles the reply message. You can also use this option if you want
+ * to use Camel as a proxy between different message brokers and you
+ * want to route message from one system to another.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder disableReplyTo(String disableReplyTo) {
+ setProperty("disableReplyTo", disableReplyTo);
+ return this;
+ }
+ /**
+ * The durable subscriber name for specifying durable topic
+ * subscriptions. The clientId option must be configured as well.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder durableSubscriptionName(
+ String durableSubscriptionName) {
+ setProperty("durableSubscriptionName", durableSubscriptionName);
+ return this;
+ }
+ /**
+ * Allows you to force the use of a specific javax.jms.Message
+ * implementation for sending JMS messages. Possible values are: Bytes,
+ * Map, Object, Stream, Text. By default, Camel would determine which
+ * JMS message type to use from the In body type. This option allows you
+ * to specify it.
+ * The option is a
+ * <code>org.apache.camel.component.jms.JmsMessageType</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder jmsMessageType(
+ JmsMessageType jmsMessageType) {
+ setProperty("jmsMessageType", jmsMessageType);
+ return this;
+ }
+ /**
+ * Allows you to force the use of a specific javax.jms.Message
+ * implementation for sending JMS messages. Possible values are: Bytes,
+ * Map, Object, Stream, Text. By default, Camel would determine which
+ * JMS message type to use from the In body type. This option allows you
+ * to specify it.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.JmsMessageType</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder jmsMessageType(String jmsMessageType) {
+ setProperty("jmsMessageType", jmsMessageType);
+ return this;
+ }
+ /**
+ * Specifies whether to test the connection on startup. This ensures
+ * that when Camel starts that all the JMS consumers have a valid
+ * connection to the JMS broker. If a connection cannot be granted then
+ * Camel throws an exception on startup. This ensures that Camel is not
+ * started with failed connections. The JMS producers is tested as well.
+ * The option is a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder testConnectionOnStartup(
+ boolean testConnectionOnStartup) {
+ setProperty("testConnectionOnStartup", testConnectionOnStartup);
+ return this;
+ }
+ /**
+ * Specifies whether to test the connection on startup. This ensures
+ * that when Camel starts that all the JMS consumers have a valid
+ * connection to the JMS broker. If a connection cannot be granted then
+ * Camel throws an exception on startup. This ensures that Camel is not
+ * started with failed connections. The JMS producers is tested as well.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group common
+ */
+ public default AMQPEndpointBuilder testConnectionOnStartup(
+ String testConnectionOnStartup) {
+ setProperty("testConnectionOnStartup", testConnectionOnStartup);
+ return this;
+ }
+ /**
+ * Password to use with the ConnectionFactory. You can also configure
+ * username/password directly on the ConnectionFactory.
+ * The option is a <code>java.lang.String</code> type.
+ * @group security
+ */
+ public default AMQPEndpointBuilder password(String password) {
+ setProperty("password", password);
+ return this;
+ }
+ /**
+ * Username to use with the ConnectionFactory. You can also configure
+ * username/password directly on the ConnectionFactory.
+ * The option is a <code>java.lang.String</code> type.
+ * @group security
+ */
+ public default AMQPEndpointBuilder username(String username) {
+ setProperty("username", username);
+ return this;
+ }
+ /**
+ * Specifies whether to use transacted mode.
+ * The option is a <code>boolean</code> type.
+ * @group transaction
+ */
+ public default AMQPEndpointBuilder transacted(boolean transacted) {
+ setProperty("transacted", transacted);
+ return this;
+ }
+ /**
+ * Specifies whether to use transacted mode.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group transaction
+ */
+ public default AMQPEndpointBuilder transacted(String transacted) {
+ setProperty("transacted", transacted);
+ return this;
+ }
+ }
+
+ /**
+ * Advanced builder for endpoint for the AMQP component.
+ */
+ public static interface AdvancedAMQPEndpointBuilder
+ extends
+ AdvancedAMQPEndpointConsumerBuilder, AdvancedAMQPEndpointProducerBuilder {
+ public default AMQPEndpointBuilder basic() {
+ return (AMQPEndpointBuilder) this;
+ }
+ /**
+ * Controls whether or not to include serialized headers. Applies only
+ * when isTransferExchange() is true. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder allowSerializedHeaders(
+ boolean allowSerializedHeaders) {
+ setProperty("allowSerializedHeaders", allowSerializedHeaders);
+ return this;
+ }
+ /**
+ * Controls whether or not to include serialized headers. Applies only
+ * when isTransferExchange() is true. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder allowSerializedHeaders(
+ String allowSerializedHeaders) {
+ setProperty("allowSerializedHeaders", allowSerializedHeaders);
+ return this;
+ }
+ /**
+ * Whether to startup the JmsConsumer message listener asynchronously,
+ * when starting a route. For example if a JmsConsumer cannot get a
+ * connection to a remote JMS broker, then it may block while retrying
+ * and/or failover. This will cause Camel to block while starting
+ * routes. By setting this option to true, you will let routes startup,
+ * while the JmsConsumer connects to the JMS broker using a dedicated
+ * thread in asynchronous mode. If this option is used, then beware that
+ * if the connection could not be established, then an exception is
+ * logged at WARN level, and the consumer will not be able to receive
+ * messages; You can then restart the route to retry.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder asyncStartListener(
+ boolean asyncStartListener) {
+ setProperty("asyncStartListener", asyncStartListener);
+ return this;
+ }
+ /**
+ * Whether to startup the JmsConsumer message listener asynchronously,
+ * when starting a route. For example if a JmsConsumer cannot get a
+ * connection to a remote JMS broker, then it may block while retrying
+ * and/or failover. This will cause Camel to block while starting
+ * routes. By setting this option to true, you will let routes startup,
+ * while the JmsConsumer connects to the JMS broker using a dedicated
+ * thread in asynchronous mode. If this option is used, then beware that
+ * if the connection could not be established, then an exception is
+ * logged at WARN level, and the consumer will not be able to receive
+ * messages; You can then restart the route to retry.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder asyncStartListener(
+ String asyncStartListener) {
+ setProperty("asyncStartListener", asyncStartListener);
+ return this;
+ }
+ /**
+ * Whether to stop the JmsConsumer message listener asynchronously, when
+ * stopping a route.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder asyncStopListener(
+ boolean asyncStopListener) {
+ setProperty("asyncStopListener", asyncStopListener);
+ return this;
+ }
+ /**
+ * Whether to stop the JmsConsumer message listener asynchronously, when
+ * stopping a route.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder asyncStopListener(
+ String asyncStopListener) {
+ setProperty("asyncStopListener", asyncStopListener);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder basicPropertyBinding(
+ boolean basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder basicPropertyBinding(
+ String basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * A pluggable
+ * org.springframework.jms.support.destination.DestinationResolver that
+ * allows you to use your own resolver (for example, to lookup the real
+ * destination in a JNDI registry).
+ * The option is a
+ * <code>org.springframework.jms.support.destination.DestinationResolver</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder destinationResolver(
+ Object destinationResolver) {
+ setProperty("destinationResolver", destinationResolver);
+ return this;
+ }
+ /**
+ * A pluggable
+ * org.springframework.jms.support.destination.DestinationResolver that
+ * allows you to use your own resolver (for example, to lookup the real
+ * destination in a JNDI registry).
+ * The option will be converted to a
+ * <code>org.springframework.jms.support.destination.DestinationResolver</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder destinationResolver(
+ String destinationResolver) {
+ setProperty("destinationResolver", destinationResolver);
+ return this;
+ }
+ /**
+ * Specifies a org.springframework.util.ErrorHandler to be invoked in
+ * case of any uncaught exceptions thrown while processing a Message. By
+ * default these exceptions will be logged at the WARN level, if no
+ * errorHandler has been configured. You can configure logging level and
+ * whether stack traces should be logged using errorHandlerLoggingLevel
+ * and errorHandlerLogStackTrace options. This makes it much easier to
+ * configure, than having to code a custom errorHandler.
+ * The option is a <code>org.springframework.util.ErrorHandler</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder errorHandler(
+ Object errorHandler) {
+ setProperty("errorHandler", errorHandler);
+ return this;
+ }
+ /**
+ * Specifies a org.springframework.util.ErrorHandler to be invoked in
+ * case of any uncaught exceptions thrown while processing a Message. By
+ * default these exceptions will be logged at the WARN level, if no
+ * errorHandler has been configured. You can configure logging level and
+ * whether stack traces should be logged using errorHandlerLoggingLevel
+ * and errorHandlerLogStackTrace options. This makes it much easier to
+ * configure, than having to code a custom errorHandler.
+ * The option will be converted to a
+ * <code>org.springframework.util.ErrorHandler</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder errorHandler(
+ String errorHandler) {
+ setProperty("errorHandler", errorHandler);
+ return this;
+ }
+ /**
+ * Specifies the JMS Exception Listener that is to be notified of any
+ * underlying JMS exceptions.
+ * The option is a <code>javax.jms.ExceptionListener</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder exceptionListener(
+ Object exceptionListener) {
+ setProperty("exceptionListener", exceptionListener);
+ return this;
+ }
+ /**
+ * Specifies the JMS Exception Listener that is to be notified of any
+ * underlying JMS exceptions.
+ * The option will be converted to a
+ * <code>javax.jms.ExceptionListener</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder exceptionListener(
+ String exceptionListener) {
+ setProperty("exceptionListener", exceptionListener);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ * The option is a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder headerFilterStrategy(
+ HeaderFilterStrategy headerFilterStrategy) {
+ setProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * To use a custom HeaderFilterStrategy to filter header to and from
+ * Camel message.
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.HeaderFilterStrategy</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder headerFilterStrategy(
+ String headerFilterStrategy) {
+ setProperty("headerFilterStrategy", headerFilterStrategy);
+ return this;
+ }
+ /**
+ * Specify the limit for the number of consumers that are allowed to be
+ * idle at any given time.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder idleConsumerLimit(
+ int idleConsumerLimit) {
+ setProperty("idleConsumerLimit", idleConsumerLimit);
+ return this;
+ }
+ /**
+ * Specify the limit for the number of consumers that are allowed to be
+ * idle at any given time.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder idleConsumerLimit(
+ String idleConsumerLimit) {
+ setProperty("idleConsumerLimit", idleConsumerLimit);
+ return this;
+ }
+ /**
+ * Specifies the limit for idle executions of a receive task, not having
+ * received any message within its execution. If this limit is reached,
+ * the task will shut down and leave receiving to other executing tasks
+ * (in the case of dynamic scheduling; see the maxConcurrentConsumers
+ * setting). There is additional doc available from Spring.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder idleTaskExecutionLimit(
+ int idleTaskExecutionLimit) {
+ setProperty("idleTaskExecutionLimit", idleTaskExecutionLimit);
+ return this;
+ }
+ /**
+ * Specifies the limit for idle executions of a receive task, not having
+ * received any message within its execution. If this limit is reached,
+ * the task will shut down and leave receiving to other executing tasks
+ * (in the case of dynamic scheduling; see the maxConcurrentConsumers
+ * setting). There is additional doc available from Spring.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder idleTaskExecutionLimit(
+ String idleTaskExecutionLimit) {
+ setProperty("idleTaskExecutionLimit", idleTaskExecutionLimit);
+ return this;
+ }
+ /**
+ * Whether to include all JMSXxxx properties when mapping from JMS to
+ * Camel Message. Setting this to true will include properties such as
+ * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
+ * headerFilterStrategy then this option does not apply.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder includeAllJMSXProperties(
+ boolean includeAllJMSXProperties) {
+ setProperty("includeAllJMSXProperties", includeAllJMSXProperties);
+ return this;
+ }
+ /**
+ * Whether to include all JMSXxxx properties when mapping from JMS to
+ * Camel Message. Setting this to true will include properties such as
+ * JMSXAppID, and JMSXUserID etc. Note: If you are using a custom
+ * headerFilterStrategy then this option does not apply.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder includeAllJMSXProperties(
+ String includeAllJMSXProperties) {
+ setProperty("includeAllJMSXProperties", includeAllJMSXProperties);
+ return this;
+ }
+ /**
+ * Pluggable strategy for encoding and decoding JMS keys so they can be
+ * compliant with the JMS specification. Camel provides two
+ * implementations out of the box: default and passthrough. The default
+ * strategy will safely marshal dots and hyphens (. and -). The
+ * passthrough strategy leaves the key as is. Can be used for JMS
+ * brokers which do not care whether JMS header keys contain illegal
+ * characters. You can provide your own implementation of the
+ * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
+ * using the # notation.
+ * The option is a
+ * <code>org.apache.camel.component.jms.JmsKeyFormatStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder jmsKeyFormatStrategy(
+ Object jmsKeyFormatStrategy) {
+ setProperty("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
+ return this;
+ }
+ /**
+ * Pluggable strategy for encoding and decoding JMS keys so they can be
+ * compliant with the JMS specification. Camel provides two
+ * implementations out of the box: default and passthrough. The default
+ * strategy will safely marshal dots and hyphens (. and -). The
+ * passthrough strategy leaves the key as is. Can be used for JMS
+ * brokers which do not care whether JMS header keys contain illegal
+ * characters. You can provide your own implementation of the
+ * org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it
+ * using the # notation.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.JmsKeyFormatStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder jmsKeyFormatStrategy(
+ String jmsKeyFormatStrategy) {
+ setProperty("jmsKeyFormatStrategy", jmsKeyFormatStrategy);
+ return this;
+ }
+ /**
+ * Specifies whether Camel should auto map the received JMS message to a
+ * suited payload type, such as javax.jms.TextMessage to a String etc.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder mapJmsMessage(
+ boolean mapJmsMessage) {
+ setProperty("mapJmsMessage", mapJmsMessage);
+ return this;
+ }
+ /**
+ * Specifies whether Camel should auto map the received JMS message to a
+ * suited payload type, such as javax.jms.TextMessage to a String etc.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder mapJmsMessage(
+ String mapJmsMessage) {
+ setProperty("mapJmsMessage", mapJmsMessage);
+ return this;
+ }
+ /**
+ * The number of messages per task. -1 is unlimited. If you use a range
+ * for concurrent consumers (eg min max), then this option can be used
+ * to set a value to eg 100 to control how fast the consumers will
+ * shrink when less work is required.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder maxMessagesPerTask(
+ int maxMessagesPerTask) {
+ setProperty("maxMessagesPerTask", maxMessagesPerTask);
+ return this;
+ }
+ /**
+ * The number of messages per task. -1 is unlimited. If you use a range
+ * for concurrent consumers (eg min max), then this option can be used
+ * to set a value to eg 100 to control how fast the consumers will
+ * shrink when less work is required.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder maxMessagesPerTask(
+ String maxMessagesPerTask) {
+ setProperty("maxMessagesPerTask", maxMessagesPerTask);
+ return this;
+ }
+ /**
+ * To use a custom Spring
+ * org.springframework.jms.support.converter.MessageConverter so you can
+ * be in control how to map to/from a javax.jms.Message.
+ * The option is a
+ * <code>org.springframework.jms.support.converter.MessageConverter</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageConverter(
+ Object messageConverter) {
+ setProperty("messageConverter", messageConverter);
+ return this;
+ }
+ /**
+ * To use a custom Spring
+ * org.springframework.jms.support.converter.MessageConverter so you can
+ * be in control how to map to/from a javax.jms.Message.
+ * The option will be converted to a
+ * <code>org.springframework.jms.support.converter.MessageConverter</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageConverter(
+ String messageConverter) {
+ setProperty("messageConverter", messageConverter);
+ return this;
+ }
+ /**
+ * To use the given MessageCreatedStrategy which are invoked when Camel
+ * creates new instances of javax.jms.Message objects when Camel is
+ * sending a JMS message.
+ * The option is a
+ * <code>org.apache.camel.component.jms.MessageCreatedStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageCreatedStrategy(
+ Object messageCreatedStrategy) {
+ setProperty("messageCreatedStrategy", messageCreatedStrategy);
+ return this;
+ }
+ /**
+ * To use the given MessageCreatedStrategy which are invoked when Camel
+ * creates new instances of javax.jms.Message objects when Camel is
+ * sending a JMS message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.MessageCreatedStrategy</code>
+ * type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageCreatedStrategy(
+ String messageCreatedStrategy) {
+ setProperty("messageCreatedStrategy", messageCreatedStrategy);
+ return this;
+ }
+ /**
+ * When sending, specifies whether message IDs should be added. This is
+ * just an hint to the JMS Broker. If the JMS provider accepts this
+ * hint, these messages must have the message ID set to null; if the
+ * provider ignores the hint, the message ID must be set to its normal
+ * unique value.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageIdEnabled(
+ boolean messageIdEnabled) {
+ setProperty("messageIdEnabled", messageIdEnabled);
+ return this;
+ }
+ /**
+ * When sending, specifies whether message IDs should be added. This is
+ * just an hint to the JMS Broker. If the JMS provider accepts this
+ * hint, these messages must have the message ID set to null; if the
+ * provider ignores the hint, the message ID must be set to its normal
+ * unique value.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageIdEnabled(
+ String messageIdEnabled) {
+ setProperty("messageIdEnabled", messageIdEnabled);
+ return this;
+ }
+ /**
+ * Registry ID of the MessageListenerContainerFactory used to determine
+ * what
+ * org.springframework.jms.listener.AbstractMessageListenerContainer to
+ * use to consume messages. Setting this will automatically set
+ * consumerType to Custom.
+ * The option is a
+ * <code>org.apache.camel.component.jms.MessageListenerContainerFactory</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageListenerContainerFactory(
+ Object messageListenerContainerFactory) {
+ setProperty("messageListenerContainerFactory", messageListenerContainerFactory);
+ return this;
+ }
+ /**
+ * Registry ID of the MessageListenerContainerFactory used to determine
+ * what
+ * org.springframework.jms.listener.AbstractMessageListenerContainer to
+ * use to consume messages. Setting this will automatically set
+ * consumerType to Custom.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.jms.MessageListenerContainerFactory</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageListenerContainerFactory(
+ String messageListenerContainerFactory) {
+ setProperty("messageListenerContainerFactory", messageListenerContainerFactory);
+ return this;
+ }
+ /**
+ * Specifies whether timestamps should be enabled by default on sending
+ * messages. This is just an hint to the JMS Broker. If the JMS provider
+ * accepts this hint, these messages must have the timestamp set to
+ * zero; if the provider ignores the hint, the timestamp must be set to
+ * its normal value.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageTimestampEnabled(
+ boolean messageTimestampEnabled) {
+ setProperty("messageTimestampEnabled", messageTimestampEnabled);
+ return this;
+ }
+ /**
+ * Specifies whether timestamps should be enabled by default on sending
+ * messages. This is just an hint to the JMS Broker. If the JMS provider
+ * accepts this hint, these messages must have the timestamp set to
+ * zero; if the provider ignores the hint, the timestamp must be set to
+ * its normal value.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder messageTimestampEnabled(
+ String messageTimestampEnabled) {
+ setProperty("messageTimestampEnabled", messageTimestampEnabled);
+ return this;
+ }
+ /**
+ * Specifies whether to inhibit the delivery of messages published by
+ * its own connection.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder pubSubNoLocal(
+ boolean pubSubNoLocal) {
+ setProperty("pubSubNoLocal", pubSubNoLocal);
+ return this;
+ }
+ /**
+ * Specifies whether to inhibit the delivery of messages published by
+ * its own connection.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder pubSubNoLocal(
+ String pubSubNoLocal) {
+ setProperty("pubSubNoLocal", pubSubNoLocal);
+ return this;
+ }
+ /**
+ * The timeout for receiving messages (in milliseconds).
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder receiveTimeout(
+ long receiveTimeout) {
+ setProperty("receiveTimeout", receiveTimeout);
+ return this;
+ }
+ /**
+ * The timeout for receiving messages (in milliseconds).
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder receiveTimeout(
+ String receiveTimeout) {
+ setProperty("receiveTimeout", receiveTimeout);
+ return this;
+ }
+ /**
+ * Specifies the interval between recovery attempts, i.e. when a
+ * connection is being refreshed, in milliseconds. The default is 5000
+ * ms, that is, 5 seconds.
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder recoveryInterval(
+ long recoveryInterval) {
+ setProperty("recoveryInterval", recoveryInterval);
+ return this;
+ }
+ /**
+ * Specifies the interval between recovery attempts, i.e. when a
+ * connection is being refreshed, in milliseconds. The default is 5000
+ * ms, that is, 5 seconds.
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder recoveryInterval(
+ String recoveryInterval) {
+ setProperty("recoveryInterval", recoveryInterval);
+ return this;
+ }
+ /**
+ * Configures how often Camel should check for timed out Exchanges when
+ * doing request/reply over JMS. By default Camel checks once per
+ * second. But if you must react faster when a timeout occurs, then you
+ * can lower this interval, to check more frequently. The timeout is
+ * determined by the option requestTimeout.
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder requestTimeoutCheckerInterval(
+ long requestTimeoutCheckerInterval) {
+ setProperty("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
+ return this;
+ }
+ /**
+ * Configures how often Camel should check for timed out Exchanges when
+ * doing request/reply over JMS. By default Camel checks once per
+ * second. But if you must react faster when a timeout occurs, then you
+ * can lower this interval, to check more frequently. The timeout is
+ * determined by the option requestTimeout.
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder requestTimeoutCheckerInterval(
+ String requestTimeoutCheckerInterval) {
+ setProperty("requestTimeoutCheckerInterval", requestTimeoutCheckerInterval);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder synchronous(
+ boolean synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder synchronous(
+ String synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed on the consumer side, then the caused Exception will
+ * be send back in response as a javax.jms.ObjectMessage. If the client
+ * is Camel, the returned Exception is rethrown. This allows you to use
+ * Camel JMS as a bridge in your routing - for example, using persistent
+ * queues to enable robust routing. Notice that if you also have
+ * transferExchange enabled, this option takes precedence. The caught
+ * exception is required to be serializable. The original Exception on
+ * the consumer side can be wrapped in an outer exception such as
+ * org.apache.camel.RuntimeCamelException when returned to the producer.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder transferException(
+ boolean transferException) {
+ setProperty("transferException", transferException);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed on the consumer side, then the caused Exception will
+ * be send back in response as a javax.jms.ObjectMessage. If the client
+ * is Camel, the returned Exception is rethrown. This allows you to use
+ * Camel JMS as a bridge in your routing - for example, using persistent
+ * queues to enable robust routing. Notice that if you also have
+ * transferExchange enabled, this option takes precedence. The caught
+ * exception is required to be serializable. The original Exception on
+ * the consumer side can be wrapped in an outer exception such as
+ * org.apache.camel.RuntimeCamelException when returned to the producer.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder transferException(
+ String transferException) {
+ setProperty("transferException", transferException);
+ return this;
+ }
+ /**
+ * You can transfer the exchange over the wire instead of just the body
+ * and headers. The following fields are transferred: In body, Out body,
+ * Fault body, In headers, Out headers, Fault headers, exchange
+ * properties, exchange exception. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level. You must enable this option on both the producer
+ * and consumer side, so Camel knows the payloads is an Exchange and not
+ * a regular payload.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder transferExchange(
+ boolean transferExchange) {
+ setProperty("transferExchange", transferExchange);
+ return this;
+ }
+ /**
+ * You can transfer the exchange over the wire instead of just the body
+ * and headers. The following fields are transferred: In body, Out body,
+ * Fault body, In headers, Out headers, Fault headers, exchange
+ * properties, exchange exception. This requires that the objects are
+ * serializable. Camel will exclude any non-serializable objects and log
+ * it at WARN level. You must enable this option on both the producer
+ * and consumer side, so Camel knows the payloads is an Exchange and not
+ * a regular payload.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder transferExchange(
+ String transferExchange) {
+ setProperty("transferExchange", transferExchange);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed with a SOAP fault (not exception) on the consumer
+ * side, then the fault flag on org.apache.camel.Message#isFault() will
+ * be send back in the response as a JMS header with the key
+ * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
+ * fault flag will be set on the
+ * org.apache.camel.Message#setFault(boolean). You may want to enable
+ * this when using Camel components that support faults such as SOAP
+ * based such as cxf or spring-ws.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder transferFault(
+ boolean transferFault) {
+ setProperty("transferFault", transferFault);
+ return this;
+ }
+ /**
+ * If enabled and you are using Request Reply messaging (InOut) and an
+ * Exchange failed with a SOAP fault (not exception) on the consumer
+ * side, then the fault flag on org.apache.camel.Message#isFault() will
+ * be send back in the response as a JMS header with the key
+ * JmsConstants#JMS_TRANSFER_FAULT. If the client is Camel, the returned
+ * fault flag will be set on the
+ * org.apache.camel.Message#setFault(boolean). You may want to enable
+ * this when using Camel components that support faults such as SOAP
+ * based such as cxf or spring-ws.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder transferFault(
+ String transferFault) {
+ setProperty("transferFault", transferFault);
+ return this;
+ }
+ /**
+ * Specifies whether JMSMessageID should always be used as
+ * JMSCorrelationID for InOut messages.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder useMessageIDAsCorrelationID(
+ boolean useMessageIDAsCorrelationID) {
+ setProperty("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
+ return this;
+ }
+ /**
+ * Specifies whether JMSMessageID should always be used as
+ * JMSCorrelationID for InOut messages.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder useMessageIDAsCorrelationID(
+ String useMessageIDAsCorrelationID) {
+ setProperty("useMessageIDAsCorrelationID", useMessageIDAsCorrelationID);
+ return this;
+ }
+ /**
+ * Number of times to wait for provisional correlation id to be updated
+ * to the actual correlation id when doing request/reply over JMS and
+ * when the option useMessageIDAsCorrelationID is enabled.
+ * The option is a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder waitForProvisionCorrelationToBeUpdatedCounter(
+ int waitForProvisionCorrelationToBeUpdatedCounter) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
+ return this;
+ }
+ /**
+ * Number of times to wait for provisional correlation id to be updated
+ * to the actual correlation id when doing request/reply over JMS and
+ * when the option useMessageIDAsCorrelationID is enabled.
+ * The option will be converted to a <code>int</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder waitForProvisionCorrelationToBeUpdatedCounter(
+ String waitForProvisionCorrelationToBeUpdatedCounter) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedCounter", waitForProvisionCorrelationToBeUpdatedCounter);
+ return this;
+ }
+ /**
+ * Interval in millis to sleep each time while waiting for provisional
+ * correlation id to be updated.
+ * The option is a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+ long waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
+ return this;
+ }
+ /**
+ * Interval in millis to sleep each time while waiting for provisional
+ * correlation id to be updated.
+ * The option will be converted to a <code>long</code> type.
+ * @group advanced
+ */
+ public default AdvancedAMQPEndpointBuilder waitForProvisionCorrelationToBeUpdatedThreadSleepingTime(
+ String waitForProvisionCorrelationToBeUpdatedThreadSleepingTime) {
+ setProperty("waitForProvisionCorrelationToBeUpdatedThreadSleepingTime", waitForProvisionCorrelationToBeUpdatedThreadSleepingTime);
+ return this;
+ }
+ /**
+ * If true, Camel will create a JmsTransactionManager, if there is no
+ * transactionManager injected when option transacted=true.
+ * The option is a <code>boolean</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointBuilder lazyCreateTransactionManager(
+ boolean lazyCreateTransactionManager) {
+ setProperty("lazyCreateTransactionManager", lazyCreateTransactionManager);
+ return this;
+ }
+ /**
+ * If true, Camel will create a JmsTransactionManager, if there is no
+ * transactionManager injected when option transacted=true.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointBuilder lazyCreateTransactionManager(
+ String lazyCreateTransactionManager) {
+ setProperty("lazyCreateTransactionManager", lazyCreateTransactionManager);
+ return this;
+ }
+ /**
+ * The Spring transaction manager to use.
+ * The option is a
+ * <code>org.springframework.transaction.PlatformTransactionManager</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointBuilder transactionManager(
+ Object transactionManager) {
+ setProperty("transactionManager", transactionManager);
+ return this;
+ }
+ /**
+ * The Spring transaction manager to use.
+ * The option will be converted to a
+ * <code>org.springframework.transaction.PlatformTransactionManager</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointBuilder transactionManager(
+ String transactionManager) {
+ setProperty("transactionManager", transactionManager);
+ return this;
+ }
+ /**
+ * The name of the transaction to use.
+ * The option is a <code>java.lang.String</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointBuilder transactionName(
+ String transactionName) {
+ setProperty("transactionName", transactionName);
+ return this;
+ }
+ /**
+ * The timeout value of the transaction (in seconds), if using
+ * transacted mode.
+ * The option is a <code>int</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointBuilder transactionTimeout(
+ int transactionTimeout) {
+ setProperty("transactionTimeout", transactionTimeout);
+ return this;
+ }
+ /**
+ * The timeout value of the transaction (in seconds), if using
+ * transacted mode.
+ * The option will be converted to a <code>int</code> type.
+ * @group transaction (advanced)
+ */
+ public default AdvancedAMQPEndpointBuilder transactionTimeout(
+ String transactionTimeout) {
+ setProperty("transactionTimeout", transactionTimeout);
+ return this;
+ }
+ }
+
+ /**
+ * Proxy enum for <code>org.apache.camel.component.jms.JmsMessageType</code>
+ * enum.
+ */
+ public static enum JmsMessageType {
+ Bytes, Map, Object, Stream, Text, Blob;
+ }
+
+ /**
+ * Proxy enum for <code>org.apache.camel.component.jms.ConsumerType</code>
+ * enum.
+ */
+ public static enum ConsumerType {
+ Simple, Default, Custom;
+ }
+
+ /**
+ * Proxy enum for
+ * <code>org.apache.camel.component.jms.DefaultTaskExecutorType</code> enum.
+ */
+ public static enum DefaultTaskExecutorType {
+ ThreadPool, SimpleAsync;
+ }
+
+ /**
+ * Proxy enum for <code>org.apache.camel.component.jms.ReplyToType</code>
+ * enum.
+ */
+ public static enum ReplyToType {
+ Temporary, Shared, Exclusive;
+ }
+ /**
+ * Messaging with AMQP protocol using Apache QPid Client. Creates a builder
+ * to build endpoints for the AMQP component.
+ */
+ public default AMQPEndpointBuilder aMQP(String path) {
+ class AMQPEndpointBuilderImpl extends AbstractEndpointBuilder implements AMQPEndpointBuilder, AdvancedAMQPEndpointBuilder {
+ public AMQPEndpointBuilderImpl(String path) {
+ super("amqp", path);
+ }
+ }
+ return new AMQPEndpointBuilderImpl(path);
+ }
+}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilder.java
deleted file mode 100644
index 5064a0c..0000000
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilder.java
+++ /dev/null
@@ -1,668 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.camel.model.endpoint;
-
-import java.security.PrivateKey;
-import java.security.cert.Certificate;
-import javax.annotation.Generated;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.model.AbstractEndpointBuilder;
-import org.apache.camel.model.EndpointConsumerBuilder;
-import org.apache.camel.model.EndpointProducerBuilder;
-import org.apache.camel.spi.ExceptionHandler;
-
-/**
- * Component used for transferring data secure and reliable over the internet
- * using the AS2 protocol.
- *
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface AS2EndpointBuilder {
-
-
- /**
- * Base class for the AS2 component builders.
- */
- public static class AS2CommonBuilder<T extends AbstractEndpointBuilder>
- extends
- AbstractEndpointBuilder<T> {
- AS2CommonBuilder(String path) {
- super("as2", path);
- }
- /**
- * What kind of operation to perform.
- * The option is a
- * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> type.
- * @group common
- */
- public T apiName(AS2ApiName apiName) {
- this.properties.put("apiName", apiName);
- return (T) this;
- }
- /**
- * What kind of operation to perform.
- * The option will be converted to a
- * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> type.
- * @group common
- */
- public T apiName(String apiName) {
- this.properties.put("apiName", apiName);
- return (T) this;
- }
- /**
- * What sub operation to use for the selected operation.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T methodName(String methodName) {
- this.properties.put("methodName", methodName);
- return (T) this;
- }
- /**
- * The value of the AS2From header of AS2 message.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T as2From(String as2From) {
- this.properties.put("as2From", as2From);
- return (T) this;
- }
- /**
- * The structure of AS2 Message. One of: PLAIN - No encryption, no
- * signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
- * no signature, ENCRYPTED_SIGNED - Encryption, signature.
- * The option is a
- * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code>
- * type.
- * @group common
- */
- public T as2MessageStructure(AS2MessageStructure as2MessageStructure) {
- this.properties.put("as2MessageStructure", as2MessageStructure);
- return (T) this;
- }
- /**
- * The structure of AS2 Message. One of: PLAIN - No encryption, no
- * signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
- * no signature, ENCRYPTED_SIGNED - Encryption, signature.
- * The option will be converted to a
- * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code>
- * type.
- * @group common
- */
- public T as2MessageStructure(String as2MessageStructure) {
- this.properties.put("as2MessageStructure", as2MessageStructure);
- return (T) this;
- }
- /**
- * The value of the AS2To header of AS2 message.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T as2To(String as2To) {
- this.properties.put("as2To", as2To);
- return (T) this;
- }
- /**
- * The version of the AS2 protocol.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T as2Version(String as2Version) {
- this.properties.put("as2Version", as2Version);
- return (T) this;
- }
- /**
- * The Client Fully Qualified Domain Name (FQDN). Used in message ids
- * sent by endpoint.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T clientFqdn(String clientFqdn) {
- this.properties.put("clientFqdn", clientFqdn);
- return (T) this;
- }
- /**
- * The algorithm used to compress EDI message.
- * The option is a
- * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code> type.
- * @group common
- */
- public T compressionAlgorithm(
- AS2CompressionAlgorithm compressionAlgorithm) {
- this.properties.put("compressionAlgorithm", compressionAlgorithm);
- return (T) this;
- }
- /**
- * The algorithm used to compress EDI message.
- * The option will be converted to a
- * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code> type.
- * @group common
- */
- public T compressionAlgorithm(String compressionAlgorithm) {
- this.properties.put("compressionAlgorithm", compressionAlgorithm);
- return (T) this;
- }
- /**
- * The key used to encrypt the EDI message.
- * The option is a <code>java.security.PrivateKey</code> type.
- * @group common
- */
- public T decryptingPrivateKey(PrivateKey decryptingPrivateKey) {
- this.properties.put("decryptingPrivateKey", decryptingPrivateKey);
- return (T) this;
- }
- /**
- * The key used to encrypt the EDI message.
- * The option will be converted to a
- * <code>java.security.PrivateKey</code> type.
- * @group common
- */
- public T decryptingPrivateKey(String decryptingPrivateKey) {
- this.properties.put("decryptingPrivateKey", decryptingPrivateKey);
- return (T) this;
- }
- /**
- * The value of the Disposition-Notification-To header. Assigning a
- * value to this parameter requests a message disposition notification
- * (MDN) for the AS2 message.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T dispositionNotificationTo(String dispositionNotificationTo) {
- this.properties.put("dispositionNotificationTo", dispositionNotificationTo);
- return (T) this;
- }
- /**
- * The transfer encoding of EDI message.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T ediMessageTransferEncoding(String ediMessageTransferEncoding) {
- this.properties.put("ediMessageTransferEncoding", ediMessageTransferEncoding);
- return (T) this;
- }
- /**
- * The content type of EDI message. One of application/edifact,
- * application/edi-x12, application/edi-consent.
- * The option is a <code>org.apache.http.entity.ContentType</code> type.
- * @group common
- */
- public T ediMessageType(Object ediMessageType) {
- this.properties.put("ediMessageType", ediMessageType);
- return (T) this;
- }
- /**
- * The content type of EDI message. One of application/edifact,
- * application/edi-x12, application/edi-consent.
- * The option will be converted to a
- * <code>org.apache.http.entity.ContentType</code> type.
- * @group common
- */
- public T ediMessageType(String ediMessageType) {
- this.properties.put("ediMessageType", ediMessageType);
- return (T) this;
- }
- /**
- * The algorithm used to encrypt EDI message.
- * The option is a
- * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code> type.
- * @group common
- */
- public T encryptingAlgorithm(AS2EncryptionAlgorithm encryptingAlgorithm) {
- this.properties.put("encryptingAlgorithm", encryptingAlgorithm);
- return (T) this;
- }
- /**
- * The algorithm used to encrypt EDI message.
- * The option will be converted to a
- * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code> type.
- * @group common
- */
- public T encryptingAlgorithm(String encryptingAlgorithm) {
- this.properties.put("encryptingAlgorithm", encryptingAlgorithm);
- return (T) this;
- }
- /**
- * The chain of certificates used to encrypt EDI message.
- * The option is a <code>java.security.cert.Certificate[]</code> type.
- * @group common
- */
- public T encryptingCertificateChain(
- Certificate[] encryptingCertificateChain) {
- this.properties.put("encryptingCertificateChain", encryptingCertificateChain);
- return (T) this;
- }
- /**
- * The chain of certificates used to encrypt EDI message.
- * The option will be converted to a
- * <code>java.security.cert.Certificate[]</code> type.
- * @group common
- */
- public T encryptingCertificateChain(String encryptingCertificateChain) {
- this.properties.put("encryptingCertificateChain", encryptingCertificateChain);
- return (T) this;
- }
- /**
- * The value of the From header of AS2 message.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T from(String from) {
- this.properties.put("from", from);
- return (T) this;
- }
- /**
- * Sets the name of a parameter to be passed in the exchange In Body.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T inBody(String inBody) {
- this.properties.put("inBody", inBody);
- return (T) this;
- }
- /**
- * The template used to format MDN message.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T mdnMessageTemplate(String mdnMessageTemplate) {
- this.properties.put("mdnMessageTemplate", mdnMessageTemplate);
- return (T) this;
- }
- /**
- * The request URI of EDI message.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T requestUri(String requestUri) {
- this.properties.put("requestUri", requestUri);
- return (T) this;
- }
- /**
- * The value included in the Server message header identifying the AS2
- * Server.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T server(String server) {
- this.properties.put("server", server);
- return (T) this;
- }
- /**
- * The Server Fully Qualified Domain Name (FQDN). Used in message ids
- * sent by endpoint.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T serverFqdn(String serverFqdn) {
- this.properties.put("serverFqdn", serverFqdn);
- return (T) this;
- }
- /**
- * The port number of server.
- * The option is a <code>java.lang.Integer</code> type.
- * @group common
- */
- public T serverPortNumber(Integer serverPortNumber) {
- this.properties.put("serverPortNumber", serverPortNumber);
- return (T) this;
- }
- /**
- * The port number of server.
- * The option will be converted to a <code>java.lang.Integer</code>
- * type.
- * @group common
- */
- public T serverPortNumber(String serverPortNumber) {
- this.properties.put("serverPortNumber", serverPortNumber);
- return (T) this;
- }
- /**
- * The list of algorithms, in order of preference, requested to generate
- * a message integrity check (MIC) returned in message dispostion
- * notification (MDN).
- * The option is a <code>java.lang.String[]</code> type.
- * @group common
- */
- public T signedReceiptMicAlgorithms(String[] signedReceiptMicAlgorithms) {
- this.properties.put("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms);
- return (T) this;
- }
- /**
- * The list of algorithms, in order of preference, requested to generate
- * a message integrity check (MIC) returned in message dispostion
- * notification (MDN).
- * The option will be converted to a <code>java.lang.String[]</code>
- * type.
- * @group common
- */
- public T signedReceiptMicAlgorithms(String signedReceiptMicAlgorithms) {
- this.properties.put("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms);
- return (T) this;
- }
- /**
- * The algorithm used to sign EDI message.
- * The option is a
- * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
- * type.
- * @group common
- */
- public T signingAlgorithm(AS2SignatureAlgorithm signingAlgorithm) {
- this.properties.put("signingAlgorithm", signingAlgorithm);
- return (T) this;
- }
- /**
- * The algorithm used to sign EDI message.
- * The option will be converted to a
- * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
- * type.
- * @group common
- */
- public T signingAlgorithm(String signingAlgorithm) {
- this.properties.put("signingAlgorithm", signingAlgorithm);
- return (T) this;
- }
- /**
- * The chain of certificates used to sign EDI message.
- * The option is a <code>java.security.cert.Certificate[]</code> type.
- * @group common
- */
- public T signingCertificateChain(Certificate[] signingCertificateChain) {
- this.properties.put("signingCertificateChain", signingCertificateChain);
- return (T) this;
- }
- /**
- * The chain of certificates used to sign EDI message.
- * The option will be converted to a
- * <code>java.security.cert.Certificate[]</code> type.
- * @group common
- */
- public T signingCertificateChain(String signingCertificateChain) {
- this.properties.put("signingCertificateChain", signingCertificateChain);
- return (T) this;
- }
- /**
- * The key used to sign the EDI message.
- * The option is a <code>java.security.PrivateKey</code> type.
- * @group common
- */
- public T signingPrivateKey(PrivateKey signingPrivateKey) {
- this.properties.put("signingPrivateKey", signingPrivateKey);
- return (T) this;
- }
- /**
- * The key used to sign the EDI message.
- * The option will be converted to a
- * <code>java.security.PrivateKey</code> type.
- * @group common
- */
- public T signingPrivateKey(String signingPrivateKey) {
- this.properties.put("signingPrivateKey", signingPrivateKey);
- return (T) this;
- }
- /**
- * The value of Subject header of AS2 message.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T subject(String subject) {
- this.properties.put("subject", subject);
- return (T) this;
- }
- /**
- * The host name (IP or DNS name) of target host.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T targetHostname(String targetHostname) {
- this.properties.put("targetHostname", targetHostname);
- return (T) this;
- }
- /**
- * The port number of target host. -1 indicates the scheme default port.
- * The option is a <code>java.lang.Integer</code> type.
- * @group common
- */
- public T targetPortNumber(Integer targetPortNumber) {
- this.properties.put("targetPortNumber", targetPortNumber);
- return (T) this;
- }
- /**
- * The port number of target host. -1 indicates the scheme default port.
- * The option will be converted to a <code>java.lang.Integer</code>
- * type.
- * @group common
- */
- public T targetPortNumber(String targetPortNumber) {
- this.properties.put("targetPortNumber", targetPortNumber);
- return (T) this;
- }
- /**
- * The value included in the User-Agent message header identifying the
- * AS2 user agent.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T userAgent(String userAgent) {
- this.properties.put("userAgent", userAgent);
- return (T) this;
- }
- /**
- * Whether the endpoint should use basic property binding (Camel 2.x) or
- * the newer property binding with additional capabilities.
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T basicPropertyBinding(boolean basicPropertyBinding) {
- this.properties.put("basicPropertyBinding", basicPropertyBinding);
- return (T) this;
- }
- /**
- * Whether the endpoint should use basic property binding (Camel 2.x) or
- * the newer property binding with additional capabilities.
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T basicPropertyBinding(String basicPropertyBinding) {
- this.properties.put("basicPropertyBinding", basicPropertyBinding);
- return (T) this;
- }
- /**
- * Sets whether synchronous processing should be strictly used, or Camel
- * is allowed to use asynchronous processing (if supported).
- * The option is a <code>boolean</code> type.
- * @group advanced
- */
- public T synchronous(boolean synchronous) {
- this.properties.put("synchronous", synchronous);
- return (T) this;
- }
- /**
- * Sets whether synchronous processing should be strictly used, or Camel
- * is allowed to use asynchronous processing (if supported).
- * The option will be converted to a <code>boolean</code> type.
- * @group advanced
- */
- public T synchronous(String synchronous) {
- this.properties.put("synchronous", synchronous);
- return (T) this;
- }
- }
-
- /**
- * Builder for endpoint consumers for the AS2 component.
- */
- public static class AS2ConsumerBuilder
- extends
- AS2CommonBuilder<AS2ConsumerBuilder>
- implements
- EndpointConsumerBuilder {
- public AS2ConsumerBuilder(String path) {
- super(path);
- }
- /**
- * Allows for bridging the consumer to the Camel routing Error Handler,
- * which mean any exceptions occurred while the consumer is trying to
- * pickup incoming messages, or the likes, will now be processed as a
- * message and handled by the routing Error Handler. By default the
- * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
- * with exceptions, that will be logged at WARN or ERROR level and
- * ignored.
- * The option is a <code>boolean</code> type.
- * @group consumer
- */
- public AS2ConsumerBuilder bridgeErrorHandler(boolean bridgeErrorHandler) {
- this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
- return (AS2ConsumerBuilder) this;
- }
- /**
- * Allows for bridging the consumer to the Camel routing Error Handler,
- * which mean any exceptions occurred while the consumer is trying to
- * pickup incoming messages, or the likes, will now be processed as a
- * message and handled by the routing Error Handler. By default the
- * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
- * with exceptions, that will be logged at WARN or ERROR level and
- * ignored.
- * The option will be converted to a <code>boolean</code> type.
- * @group consumer
- */
- public AS2ConsumerBuilder bridgeErrorHandler(String bridgeErrorHandler) {
- this.properties.put("bridgeErrorHandler", bridgeErrorHandler);
- return (AS2ConsumerBuilder) this;
- }
- /**
- * To let the consumer use a custom ExceptionHandler. Notice if the
- * option bridgeErrorHandler is enabled then this option is not in use.
- * By default the consumer will deal with exceptions, that will be
- * logged at WARN or ERROR level and ignored.
- * The option is a <code>org.apache.camel.spi.ExceptionHandler</code>
- * type.
- * @group consumer (advanced)
- */
- public AS2ConsumerBuilder exceptionHandler(
- ExceptionHandler exceptionHandler) {
- this.properties.put("exceptionHandler", exceptionHandler);
- return (AS2ConsumerBuilder) this;
- }
- /**
- * To let the consumer use a custom ExceptionHandler. Notice if the
- * option bridgeErrorHandler is enabled then this option is not in use.
- * By default the consumer will deal with exceptions, that will be
- * logged at WARN or ERROR level and ignored.
- * The option will be converted to a
- * <code>org.apache.camel.spi.ExceptionHandler</code> type.
- * @group consumer (advanced)
- */
- public AS2ConsumerBuilder exceptionHandler(String exceptionHandler) {
- this.properties.put("exceptionHandler", exceptionHandler);
- return (AS2ConsumerBuilder) this;
- }
- /**
- * Sets the exchange pattern when the consumer creates an exchange.
- * The option is a <code>org.apache.camel.ExchangePattern</code> type.
- * @group consumer (advanced)
- */
- public AS2ConsumerBuilder exchangePattern(
- ExchangePattern exchangePattern) {
- this.properties.put("exchangePattern", exchangePattern);
- return (AS2ConsumerBuilder) this;
- }
- /**
- * Sets the exchange pattern when the consumer creates an exchange.
- * The option will be converted to a
- * <code>org.apache.camel.ExchangePattern</code> type.
- * @group consumer (advanced)
- */
- public AS2ConsumerBuilder exchangePattern(String exchangePattern) {
- this.properties.put("exchangePattern", exchangePattern);
- return (AS2ConsumerBuilder) this;
- }
- }
-
- /**
- * Builder for endpoint producers for the AS2 component.
- */
- public static class AS2ProducerBuilder
- extends
- AS2CommonBuilder<AS2ProducerBuilder>
- implements
- EndpointProducerBuilder {
- public AS2ProducerBuilder(String path) {
- super(path);
- }
- }
-
- /**
- * Proxy enum for
- * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> enum.
- */
- public static enum AS2ApiName {
- CLIENT, SERVER;
- }
-
- /**
- * Proxy enum for
- * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code> enum.
- */
- public static enum AS2MessageStructure {
- PLAIN, SIGNED, ENCRYPTED, SIGNED_ENCRYPTED, PLAIN_COMPRESSED, SIGNED_COMPRESSED, ENCRYPTED_COMPRESSED, ENCRYPTED_COMPRESSED_SIGNED;
- }
-
- /**
- * Proxy enum for
- * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code>
- * enum.
- */
- public static enum AS2CompressionAlgorithm {
- ZLIB;
- }
-
- /**
- * Proxy enum for
- * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code>
- * enum.
- */
- public static enum AS2EncryptionAlgorithm {
- AES128_CBC, AES192_CBC, AES256_CBC, AES128_CCM, AES192_CCM, AES256_CCM, AES128_GCM, AES192_GCM, AES256_GCM, CAMELLIA128_CBC, CAMELLIA192_CBC, CAMELLIA256_CBC, CAST5_CBC, DES_CBC, DES_EDE3_CBC, GOST28147_GCFB, IDEA_CBC, RC2_CBC, RC4, SEED_CBC;
- }
-
- /**
- * Proxy enum for
- * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
- * enum.
- */
- public static enum AS2SignatureAlgorithm {
- SHA3_224WITHRSA, SHA3_256WITHRSA, SHA3_384withRSA, SHA3_512WITHRSA, MD5WITHRSA, SHA1WITHRSA, MD2WITHRSA, SHA224WITHRSA, SHA256WITHRSA, SHA384WITHRSA, SHA512WITHRSA, RIPEMD128WITHRSA, RIPEMD160WITHRSA, RIPEMD256WITHRSA, SHA224WITHDSA, SHA256WITHDSA, SHA384WITHDSA, SHA512WITHDSA, SHA3_224WITHDSA, SHA3_256WITHDSA, SHA3_384WITHDSA, SHA3_512WITHDSA, SHA1WITHDSA, SHA3_224WITHECDSA, SHA3_256WITHECDSA, SHA3_384WITHECDSA, SHA3_512WITHECDSA, SHA1WITHECDSA, SHA224WITHECDSA, SHA256WITHECDSA, [...]
- }
- /**
- * Component used for transferring data secure and reliable over the
- * internet using the AS2 protocol. Creates a builder to build a consumer
- * endpoint for the AS2 component.
- */
- public default AS2ConsumerBuilder fromAS2(String path) {
- return new AS2ConsumerBuilder(path);
- }
- /**
- * Component used for transferring data secure and reliable over the
- * internet using the AS2 protocol. Creates a builder to build a producer
- * endpoint for the AS2 component.
- */
- public default AS2ProducerBuilder toAS2(String path) {
- return new AS2ProducerBuilder(path);
- }
-}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilderFactory.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilderFactory.java
new file mode 100644
index 0000000..5c452af
--- /dev/null
+++ b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/AS2EndpointBuilderFactory.java
@@ -0,0 +1,1700 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.camel.model.endpoint;
+
+import java.security.PrivateKey;
+import java.security.cert.Certificate;
+import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.model.AbstractEndpointBuilder;
+import org.apache.camel.model.EndpointConsumerBuilder;
+import org.apache.camel.model.EndpointProducerBuilder;
+import org.apache.camel.spi.ExceptionHandler;
+
+/**
+ * Component used for transferring data secure and reliable over the internet
+ * using the AS2 protocol.
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface AS2EndpointBuilderFactory {
+
+
+ /**
+ * Builder for endpoint consumers for the AS2 component.
+ */
+ public interface AS2EndpointConsumerBuilder
+ extends
+ EndpointConsumerBuilder {
+ public default AdvancedAS2EndpointConsumerBuilder advanced() {
+ return (AdvancedAS2EndpointConsumerBuilder) this;
+ }
+ /**
+ * What kind of operation to perform.
+ * The option is a
+ * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder apiName(AS2ApiName apiName) {
+ setProperty("apiName", apiName);
+ return this;
+ }
+ /**
+ * What kind of operation to perform.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder apiName(String apiName) {
+ setProperty("apiName", apiName);
+ return this;
+ }
+ /**
+ * What sub operation to use for the selected operation.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder methodName(String methodName) {
+ setProperty("methodName", methodName);
+ return this;
+ }
+ /**
+ * The value of the AS2From header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder as2From(String as2From) {
+ setProperty("as2From", as2From);
+ return this;
+ }
+ /**
+ * The structure of AS2 Message. One of: PLAIN - No encryption, no
+ * signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
+ * no signature, ENCRYPTED_SIGNED - Encryption, signature.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder as2MessageStructure(
+ AS2MessageStructure as2MessageStructure) {
+ setProperty("as2MessageStructure", as2MessageStructure);
+ return this;
+ }
+ /**
+ * The structure of AS2 Message. One of: PLAIN - No encryption, no
+ * signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
+ * no signature, ENCRYPTED_SIGNED - Encryption, signature.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder as2MessageStructure(
+ String as2MessageStructure) {
+ setProperty("as2MessageStructure", as2MessageStructure);
+ return this;
+ }
+ /**
+ * The value of the AS2To header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder as2To(String as2To) {
+ setProperty("as2To", as2To);
+ return this;
+ }
+ /**
+ * The version of the AS2 protocol.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder as2Version(String as2Version) {
+ setProperty("as2Version", as2Version);
+ return this;
+ }
+ /**
+ * The Client Fully Qualified Domain Name (FQDN). Used in message ids
+ * sent by endpoint.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder clientFqdn(String clientFqdn) {
+ setProperty("clientFqdn", clientFqdn);
+ return this;
+ }
+ /**
+ * The algorithm used to compress EDI message.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder compressionAlgorithm(
+ AS2CompressionAlgorithm compressionAlgorithm) {
+ setProperty("compressionAlgorithm", compressionAlgorithm);
+ return this;
+ }
+ /**
+ * The algorithm used to compress EDI message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder compressionAlgorithm(
+ String compressionAlgorithm) {
+ setProperty("compressionAlgorithm", compressionAlgorithm);
+ return this;
+ }
+ /**
+ * The key used to encrypt the EDI message.
+ * The option is a <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder decryptingPrivateKey(
+ PrivateKey decryptingPrivateKey) {
+ setProperty("decryptingPrivateKey", decryptingPrivateKey);
+ return this;
+ }
+ /**
+ * The key used to encrypt the EDI message.
+ * The option will be converted to a
+ * <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder decryptingPrivateKey(
+ String decryptingPrivateKey) {
+ setProperty("decryptingPrivateKey", decryptingPrivateKey);
+ return this;
+ }
+ /**
+ * The value of the Disposition-Notification-To header. Assigning a
+ * value to this parameter requests a message disposition notification
+ * (MDN) for the AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder dispositionNotificationTo(
+ String dispositionNotificationTo) {
+ setProperty("dispositionNotificationTo", dispositionNotificationTo);
+ return this;
+ }
+ /**
+ * The transfer encoding of EDI message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder ediMessageTransferEncoding(
+ String ediMessageTransferEncoding) {
+ setProperty("ediMessageTransferEncoding", ediMessageTransferEncoding);
+ return this;
+ }
+ /**
+ * The content type of EDI message. One of application/edifact,
+ * application/edi-x12, application/edi-consent.
+ * The option is a <code>org.apache.http.entity.ContentType</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder ediMessageType(
+ Object ediMessageType) {
+ setProperty("ediMessageType", ediMessageType);
+ return this;
+ }
+ /**
+ * The content type of EDI message. One of application/edifact,
+ * application/edi-x12, application/edi-consent.
+ * The option will be converted to a
+ * <code>org.apache.http.entity.ContentType</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder ediMessageType(
+ String ediMessageType) {
+ setProperty("ediMessageType", ediMessageType);
+ return this;
+ }
+ /**
+ * The algorithm used to encrypt EDI message.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder encryptingAlgorithm(
+ AS2EncryptionAlgorithm encryptingAlgorithm) {
+ setProperty("encryptingAlgorithm", encryptingAlgorithm);
+ return this;
+ }
+ /**
+ * The algorithm used to encrypt EDI message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder encryptingAlgorithm(
+ String encryptingAlgorithm) {
+ setProperty("encryptingAlgorithm", encryptingAlgorithm);
+ return this;
+ }
+ /**
+ * The chain of certificates used to encrypt EDI message.
+ * The option is a <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder encryptingCertificateChain(
+ Certificate[] encryptingCertificateChain) {
+ setProperty("encryptingCertificateChain", encryptingCertificateChain);
+ return this;
+ }
+ /**
+ * The chain of certificates used to encrypt EDI message.
+ * The option will be converted to a
+ * <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder encryptingCertificateChain(
+ String encryptingCertificateChain) {
+ setProperty("encryptingCertificateChain", encryptingCertificateChain);
+ return this;
+ }
+ /**
+ * The value of the From header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder from(String from) {
+ setProperty("from", from);
+ return this;
+ }
+ /**
+ * Sets the name of a parameter to be passed in the exchange In Body.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder inBody(String inBody) {
+ setProperty("inBody", inBody);
+ return this;
+ }
+ /**
+ * The template used to format MDN message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder mdnMessageTemplate(
+ String mdnMessageTemplate) {
+ setProperty("mdnMessageTemplate", mdnMessageTemplate);
+ return this;
+ }
+ /**
+ * The request URI of EDI message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder requestUri(String requestUri) {
+ setProperty("requestUri", requestUri);
+ return this;
+ }
+ /**
+ * The value included in the Server message header identifying the AS2
+ * Server.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder server(String server) {
+ setProperty("server", server);
+ return this;
+ }
+ /**
+ * The Server Fully Qualified Domain Name (FQDN). Used in message ids
+ * sent by endpoint.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder serverFqdn(String serverFqdn) {
+ setProperty("serverFqdn", serverFqdn);
+ return this;
+ }
+ /**
+ * The port number of server.
+ * The option is a <code>java.lang.Integer</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder serverPortNumber(
+ Integer serverPortNumber) {
+ setProperty("serverPortNumber", serverPortNumber);
+ return this;
+ }
+ /**
+ * The port number of server.
+ * The option will be converted to a <code>java.lang.Integer</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder serverPortNumber(
+ String serverPortNumber) {
+ setProperty("serverPortNumber", serverPortNumber);
+ return this;
+ }
+ /**
+ * The list of algorithms, in order of preference, requested to generate
+ * a message integrity check (MIC) returned in message dispostion
+ * notification (MDN).
+ * The option is a <code>java.lang.String[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder signedReceiptMicAlgorithms(
+ String[] signedReceiptMicAlgorithms) {
+ setProperty("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms);
+ return this;
+ }
+ /**
+ * The list of algorithms, in order of preference, requested to generate
+ * a message integrity check (MIC) returned in message dispostion
+ * notification (MDN).
+ * The option will be converted to a <code>java.lang.String[]</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder signedReceiptMicAlgorithms(
+ String signedReceiptMicAlgorithms) {
+ setProperty("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms);
+ return this;
+ }
+ /**
+ * The algorithm used to sign EDI message.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder signingAlgorithm(
+ AS2SignatureAlgorithm signingAlgorithm) {
+ setProperty("signingAlgorithm", signingAlgorithm);
+ return this;
+ }
+ /**
+ * The algorithm used to sign EDI message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder signingAlgorithm(
+ String signingAlgorithm) {
+ setProperty("signingAlgorithm", signingAlgorithm);
+ return this;
+ }
+ /**
+ * The chain of certificates used to sign EDI message.
+ * The option is a <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder signingCertificateChain(
+ Certificate[] signingCertificateChain) {
+ setProperty("signingCertificateChain", signingCertificateChain);
+ return this;
+ }
+ /**
+ * The chain of certificates used to sign EDI message.
+ * The option will be converted to a
+ * <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder signingCertificateChain(
+ String signingCertificateChain) {
+ setProperty("signingCertificateChain", signingCertificateChain);
+ return this;
+ }
+ /**
+ * The key used to sign the EDI message.
+ * The option is a <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder signingPrivateKey(
+ PrivateKey signingPrivateKey) {
+ setProperty("signingPrivateKey", signingPrivateKey);
+ return this;
+ }
+ /**
+ * The key used to sign the EDI message.
+ * The option will be converted to a
+ * <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder signingPrivateKey(
+ String signingPrivateKey) {
+ setProperty("signingPrivateKey", signingPrivateKey);
+ return this;
+ }
+ /**
+ * The value of Subject header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder subject(String subject) {
+ setProperty("subject", subject);
+ return this;
+ }
+ /**
+ * The host name (IP or DNS name) of target host.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder targetHostname(
+ String targetHostname) {
+ setProperty("targetHostname", targetHostname);
+ return this;
+ }
+ /**
+ * The port number of target host. -1 indicates the scheme default port.
+ * The option is a <code>java.lang.Integer</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder targetPortNumber(
+ Integer targetPortNumber) {
+ setProperty("targetPortNumber", targetPortNumber);
+ return this;
+ }
+ /**
+ * The port number of target host. -1 indicates the scheme default port.
+ * The option will be converted to a <code>java.lang.Integer</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder targetPortNumber(
+ String targetPortNumber) {
+ setProperty("targetPortNumber", targetPortNumber);
+ return this;
+ }
+ /**
+ * The value included in the User-Agent message header identifying the
+ * AS2 user agent.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointConsumerBuilder userAgent(String userAgent) {
+ setProperty("userAgent", userAgent);
+ return this;
+ }
+ /**
+ * Allows for bridging the consumer to the Camel routing Error Handler,
+ * which mean any exceptions occurred while the consumer is trying to
+ * pickup incoming messages, or the likes, will now be processed as a
+ * message and handled by the routing Error Handler. By default the
+ * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+ * with exceptions, that will be logged at WARN or ERROR level and
+ * ignored.
+ * The option is a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AS2EndpointConsumerBuilder bridgeErrorHandler(
+ boolean bridgeErrorHandler) {
+ setProperty("bridgeErrorHandler", bridgeErrorHandler);
+ return this;
+ }
+ /**
+ * Allows for bridging the consumer to the Camel routing Error Handler,
+ * which mean any exceptions occurred while the consumer is trying to
+ * pickup incoming messages, or the likes, will now be processed as a
+ * message and handled by the routing Error Handler. By default the
+ * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+ * with exceptions, that will be logged at WARN or ERROR level and
+ * ignored.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group consumer
+ */
+ public default AS2EndpointConsumerBuilder bridgeErrorHandler(
+ String bridgeErrorHandler) {
+ setProperty("bridgeErrorHandler", bridgeErrorHandler);
+ return this;
+ }
+ }
+
+ /**
+ * Advanced builder for endpoint consumers for the AS2 component.
+ */
+ public interface AdvancedAS2EndpointConsumerBuilder
+ extends
+ EndpointConsumerBuilder {
+ public default AS2EndpointConsumerBuilder basic() {
+ return (AS2EndpointConsumerBuilder) this;
+ }
+ /**
+ * To let the consumer use a custom ExceptionHandler. Notice if the
+ * option bridgeErrorHandler is enabled then this option is not in use.
+ * By default the consumer will deal with exceptions, that will be
+ * logged at WARN or ERROR level and ignored.
+ * The option is a <code>org.apache.camel.spi.ExceptionHandler</code>
+ * type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAS2EndpointConsumerBuilder exceptionHandler(
+ ExceptionHandler exceptionHandler) {
+ setProperty("exceptionHandler", exceptionHandler);
+ return this;
+ }
+ /**
+ * To let the consumer use a custom ExceptionHandler. Notice if the
+ * option bridgeErrorHandler is enabled then this option is not in use.
+ * By default the consumer will deal with exceptions, that will be
+ * logged at WARN or ERROR level and ignored.
+ * The option will be converted to a
+ * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAS2EndpointConsumerBuilder exceptionHandler(
+ String exceptionHandler) {
+ setProperty("exceptionHandler", exceptionHandler);
+ return this;
+ }
+ /**
+ * Sets the exchange pattern when the consumer creates an exchange.
+ * The option is a <code>org.apache.camel.ExchangePattern</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAS2EndpointConsumerBuilder exchangePattern(
+ ExchangePattern exchangePattern) {
+ setProperty("exchangePattern", exchangePattern);
+ return this;
+ }
+ /**
+ * Sets the exchange pattern when the consumer creates an exchange.
+ * The option will be converted to a
+ * <code>org.apache.camel.ExchangePattern</code> type.
+ * @group consumer (advanced)
+ */
+ public default AdvancedAS2EndpointConsumerBuilder exchangePattern(
+ String exchangePattern) {
+ setProperty("exchangePattern", exchangePattern);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointConsumerBuilder basicPropertyBinding(
+ boolean basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointConsumerBuilder basicPropertyBinding(
+ String basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointConsumerBuilder synchronous(
+ boolean synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointConsumerBuilder synchronous(
+ String synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ }
+
+ /**
+ * Builder for endpoint producers for the AS2 component.
+ */
+ public static interface AS2EndpointProducerBuilder
+ extends
+ EndpointProducerBuilder {
+ public default AdvancedAS2EndpointProducerBuilder advanced() {
+ return (AdvancedAS2EndpointProducerBuilder) this;
+ }
+ /**
+ * What kind of operation to perform.
+ * The option is a
+ * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder apiName(AS2ApiName apiName) {
+ setProperty("apiName", apiName);
+ return this;
+ }
+ /**
+ * What kind of operation to perform.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder apiName(String apiName) {
+ setProperty("apiName", apiName);
+ return this;
+ }
+ /**
+ * What sub operation to use for the selected operation.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder methodName(String methodName) {
+ setProperty("methodName", methodName);
+ return this;
+ }
+ /**
+ * The value of the AS2From header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder as2From(String as2From) {
+ setProperty("as2From", as2From);
+ return this;
+ }
+ /**
+ * The structure of AS2 Message. One of: PLAIN - No encryption, no
+ * signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
+ * no signature, ENCRYPTED_SIGNED - Encryption, signature.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder as2MessageStructure(
+ AS2MessageStructure as2MessageStructure) {
+ setProperty("as2MessageStructure", as2MessageStructure);
+ return this;
+ }
+ /**
+ * The structure of AS2 Message. One of: PLAIN - No encryption, no
+ * signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
+ * no signature, ENCRYPTED_SIGNED - Encryption, signature.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder as2MessageStructure(
+ String as2MessageStructure) {
+ setProperty("as2MessageStructure", as2MessageStructure);
+ return this;
+ }
+ /**
+ * The value of the AS2To header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder as2To(String as2To) {
+ setProperty("as2To", as2To);
+ return this;
+ }
+ /**
+ * The version of the AS2 protocol.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder as2Version(String as2Version) {
+ setProperty("as2Version", as2Version);
+ return this;
+ }
+ /**
+ * The Client Fully Qualified Domain Name (FQDN). Used in message ids
+ * sent by endpoint.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder clientFqdn(String clientFqdn) {
+ setProperty("clientFqdn", clientFqdn);
+ return this;
+ }
+ /**
+ * The algorithm used to compress EDI message.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder compressionAlgorithm(
+ AS2CompressionAlgorithm compressionAlgorithm) {
+ setProperty("compressionAlgorithm", compressionAlgorithm);
+ return this;
+ }
+ /**
+ * The algorithm used to compress EDI message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder compressionAlgorithm(
+ String compressionAlgorithm) {
+ setProperty("compressionAlgorithm", compressionAlgorithm);
+ return this;
+ }
+ /**
+ * The key used to encrypt the EDI message.
+ * The option is a <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder decryptingPrivateKey(
+ PrivateKey decryptingPrivateKey) {
+ setProperty("decryptingPrivateKey", decryptingPrivateKey);
+ return this;
+ }
+ /**
+ * The key used to encrypt the EDI message.
+ * The option will be converted to a
+ * <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder decryptingPrivateKey(
+ String decryptingPrivateKey) {
+ setProperty("decryptingPrivateKey", decryptingPrivateKey);
+ return this;
+ }
+ /**
+ * The value of the Disposition-Notification-To header. Assigning a
+ * value to this parameter requests a message disposition notification
+ * (MDN) for the AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder dispositionNotificationTo(
+ String dispositionNotificationTo) {
+ setProperty("dispositionNotificationTo", dispositionNotificationTo);
+ return this;
+ }
+ /**
+ * The transfer encoding of EDI message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder ediMessageTransferEncoding(
+ String ediMessageTransferEncoding) {
+ setProperty("ediMessageTransferEncoding", ediMessageTransferEncoding);
+ return this;
+ }
+ /**
+ * The content type of EDI message. One of application/edifact,
+ * application/edi-x12, application/edi-consent.
+ * The option is a <code>org.apache.http.entity.ContentType</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder ediMessageType(
+ Object ediMessageType) {
+ setProperty("ediMessageType", ediMessageType);
+ return this;
+ }
+ /**
+ * The content type of EDI message. One of application/edifact,
+ * application/edi-x12, application/edi-consent.
+ * The option will be converted to a
+ * <code>org.apache.http.entity.ContentType</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder ediMessageType(
+ String ediMessageType) {
+ setProperty("ediMessageType", ediMessageType);
+ return this;
+ }
+ /**
+ * The algorithm used to encrypt EDI message.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder encryptingAlgorithm(
+ AS2EncryptionAlgorithm encryptingAlgorithm) {
+ setProperty("encryptingAlgorithm", encryptingAlgorithm);
+ return this;
+ }
+ /**
+ * The algorithm used to encrypt EDI message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder encryptingAlgorithm(
+ String encryptingAlgorithm) {
+ setProperty("encryptingAlgorithm", encryptingAlgorithm);
+ return this;
+ }
+ /**
+ * The chain of certificates used to encrypt EDI message.
+ * The option is a <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder encryptingCertificateChain(
+ Certificate[] encryptingCertificateChain) {
+ setProperty("encryptingCertificateChain", encryptingCertificateChain);
+ return this;
+ }
+ /**
+ * The chain of certificates used to encrypt EDI message.
+ * The option will be converted to a
+ * <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder encryptingCertificateChain(
+ String encryptingCertificateChain) {
+ setProperty("encryptingCertificateChain", encryptingCertificateChain);
+ return this;
+ }
+ /**
+ * The value of the From header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder from(String from) {
+ setProperty("from", from);
+ return this;
+ }
+ /**
+ * Sets the name of a parameter to be passed in the exchange In Body.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder inBody(String inBody) {
+ setProperty("inBody", inBody);
+ return this;
+ }
+ /**
+ * The template used to format MDN message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder mdnMessageTemplate(
+ String mdnMessageTemplate) {
+ setProperty("mdnMessageTemplate", mdnMessageTemplate);
+ return this;
+ }
+ /**
+ * The request URI of EDI message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder requestUri(String requestUri) {
+ setProperty("requestUri", requestUri);
+ return this;
+ }
+ /**
+ * The value included in the Server message header identifying the AS2
+ * Server.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder server(String server) {
+ setProperty("server", server);
+ return this;
+ }
+ /**
+ * The Server Fully Qualified Domain Name (FQDN). Used in message ids
+ * sent by endpoint.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder serverFqdn(String serverFqdn) {
+ setProperty("serverFqdn", serverFqdn);
+ return this;
+ }
+ /**
+ * The port number of server.
+ * The option is a <code>java.lang.Integer</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder serverPortNumber(
+ Integer serverPortNumber) {
+ setProperty("serverPortNumber", serverPortNumber);
+ return this;
+ }
+ /**
+ * The port number of server.
+ * The option will be converted to a <code>java.lang.Integer</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder serverPortNumber(
+ String serverPortNumber) {
+ setProperty("serverPortNumber", serverPortNumber);
+ return this;
+ }
+ /**
+ * The list of algorithms, in order of preference, requested to generate
+ * a message integrity check (MIC) returned in message dispostion
+ * notification (MDN).
+ * The option is a <code>java.lang.String[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder signedReceiptMicAlgorithms(
+ String[] signedReceiptMicAlgorithms) {
+ setProperty("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms);
+ return this;
+ }
+ /**
+ * The list of algorithms, in order of preference, requested to generate
+ * a message integrity check (MIC) returned in message dispostion
+ * notification (MDN).
+ * The option will be converted to a <code>java.lang.String[]</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder signedReceiptMicAlgorithms(
+ String signedReceiptMicAlgorithms) {
+ setProperty("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms);
+ return this;
+ }
+ /**
+ * The algorithm used to sign EDI message.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder signingAlgorithm(
+ AS2SignatureAlgorithm signingAlgorithm) {
+ setProperty("signingAlgorithm", signingAlgorithm);
+ return this;
+ }
+ /**
+ * The algorithm used to sign EDI message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder signingAlgorithm(
+ String signingAlgorithm) {
+ setProperty("signingAlgorithm", signingAlgorithm);
+ return this;
+ }
+ /**
+ * The chain of certificates used to sign EDI message.
+ * The option is a <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder signingCertificateChain(
+ Certificate[] signingCertificateChain) {
+ setProperty("signingCertificateChain", signingCertificateChain);
+ return this;
+ }
+ /**
+ * The chain of certificates used to sign EDI message.
+ * The option will be converted to a
+ * <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder signingCertificateChain(
+ String signingCertificateChain) {
+ setProperty("signingCertificateChain", signingCertificateChain);
+ return this;
+ }
+ /**
+ * The key used to sign the EDI message.
+ * The option is a <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder signingPrivateKey(
+ PrivateKey signingPrivateKey) {
+ setProperty("signingPrivateKey", signingPrivateKey);
+ return this;
+ }
+ /**
+ * The key used to sign the EDI message.
+ * The option will be converted to a
+ * <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder signingPrivateKey(
+ String signingPrivateKey) {
+ setProperty("signingPrivateKey", signingPrivateKey);
+ return this;
+ }
+ /**
+ * The value of Subject header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder subject(String subject) {
+ setProperty("subject", subject);
+ return this;
+ }
+ /**
+ * The host name (IP or DNS name) of target host.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder targetHostname(
+ String targetHostname) {
+ setProperty("targetHostname", targetHostname);
+ return this;
+ }
+ /**
+ * The port number of target host. -1 indicates the scheme default port.
+ * The option is a <code>java.lang.Integer</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder targetPortNumber(
+ Integer targetPortNumber) {
+ setProperty("targetPortNumber", targetPortNumber);
+ return this;
+ }
+ /**
+ * The port number of target host. -1 indicates the scheme default port.
+ * The option will be converted to a <code>java.lang.Integer</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder targetPortNumber(
+ String targetPortNumber) {
+ setProperty("targetPortNumber", targetPortNumber);
+ return this;
+ }
+ /**
+ * The value included in the User-Agent message header identifying the
+ * AS2 user agent.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointProducerBuilder userAgent(String userAgent) {
+ setProperty("userAgent", userAgent);
+ return this;
+ }
+ }
+
+ /**
+ * Advanced builder for endpoint producers for the AS2 component.
+ */
+ public interface AdvancedAS2EndpointProducerBuilder
+ extends
+ EndpointProducerBuilder {
+ public default AS2EndpointProducerBuilder basic() {
+ return (AS2EndpointProducerBuilder) this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointProducerBuilder basicPropertyBinding(
+ boolean basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointProducerBuilder basicPropertyBinding(
+ String basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointProducerBuilder synchronous(
+ boolean synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointProducerBuilder synchronous(
+ String synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ }
+
+ /**
+ * Builder for endpoint for the AS2 component.
+ */
+ public static interface AS2EndpointBuilder
+ extends
+ AS2EndpointConsumerBuilder, AS2EndpointProducerBuilder {
+ public default AdvancedAS2EndpointBuilder advanced() {
+ return (AdvancedAS2EndpointBuilder) this;
+ }
+ /**
+ * What kind of operation to perform.
+ * The option is a
+ * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder apiName(AS2ApiName apiName) {
+ setProperty("apiName", apiName);
+ return this;
+ }
+ /**
+ * What kind of operation to perform.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder apiName(String apiName) {
+ setProperty("apiName", apiName);
+ return this;
+ }
+ /**
+ * What sub operation to use for the selected operation.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder methodName(String methodName) {
+ setProperty("methodName", methodName);
+ return this;
+ }
+ /**
+ * The value of the AS2From header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder as2From(String as2From) {
+ setProperty("as2From", as2From);
+ return this;
+ }
+ /**
+ * The structure of AS2 Message. One of: PLAIN - No encryption, no
+ * signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
+ * no signature, ENCRYPTED_SIGNED - Encryption, signature.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointBuilder as2MessageStructure(
+ AS2MessageStructure as2MessageStructure) {
+ setProperty("as2MessageStructure", as2MessageStructure);
+ return this;
+ }
+ /**
+ * The structure of AS2 Message. One of: PLAIN - No encryption, no
+ * signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption,
+ * no signature, ENCRYPTED_SIGNED - Encryption, signature.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointBuilder as2MessageStructure(
+ String as2MessageStructure) {
+ setProperty("as2MessageStructure", as2MessageStructure);
+ return this;
+ }
+ /**
+ * The value of the AS2To header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder as2To(String as2To) {
+ setProperty("as2To", as2To);
+ return this;
+ }
+ /**
+ * The version of the AS2 protocol.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder as2Version(String as2Version) {
+ setProperty("as2Version", as2Version);
+ return this;
+ }
+ /**
+ * The Client Fully Qualified Domain Name (FQDN). Used in message ids
+ * sent by endpoint.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder clientFqdn(String clientFqdn) {
+ setProperty("clientFqdn", clientFqdn);
+ return this;
+ }
+ /**
+ * The algorithm used to compress EDI message.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder compressionAlgorithm(
+ AS2CompressionAlgorithm compressionAlgorithm) {
+ setProperty("compressionAlgorithm", compressionAlgorithm);
+ return this;
+ }
+ /**
+ * The algorithm used to compress EDI message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder compressionAlgorithm(
+ String compressionAlgorithm) {
+ setProperty("compressionAlgorithm", compressionAlgorithm);
+ return this;
+ }
+ /**
+ * The key used to encrypt the EDI message.
+ * The option is a <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder decryptingPrivateKey(
+ PrivateKey decryptingPrivateKey) {
+ setProperty("decryptingPrivateKey", decryptingPrivateKey);
+ return this;
+ }
+ /**
+ * The key used to encrypt the EDI message.
+ * The option will be converted to a
+ * <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder decryptingPrivateKey(
+ String decryptingPrivateKey) {
+ setProperty("decryptingPrivateKey", decryptingPrivateKey);
+ return this;
+ }
+ /**
+ * The value of the Disposition-Notification-To header. Assigning a
+ * value to this parameter requests a message disposition notification
+ * (MDN) for the AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder dispositionNotificationTo(
+ String dispositionNotificationTo) {
+ setProperty("dispositionNotificationTo", dispositionNotificationTo);
+ return this;
+ }
+ /**
+ * The transfer encoding of EDI message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder ediMessageTransferEncoding(
+ String ediMessageTransferEncoding) {
+ setProperty("ediMessageTransferEncoding", ediMessageTransferEncoding);
+ return this;
+ }
+ /**
+ * The content type of EDI message. One of application/edifact,
+ * application/edi-x12, application/edi-consent.
+ * The option is a <code>org.apache.http.entity.ContentType</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder ediMessageType(Object ediMessageType) {
+ setProperty("ediMessageType", ediMessageType);
+ return this;
+ }
+ /**
+ * The content type of EDI message. One of application/edifact,
+ * application/edi-x12, application/edi-consent.
+ * The option will be converted to a
+ * <code>org.apache.http.entity.ContentType</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder ediMessageType(String ediMessageType) {
+ setProperty("ediMessageType", ediMessageType);
+ return this;
+ }
+ /**
+ * The algorithm used to encrypt EDI message.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder encryptingAlgorithm(
+ AS2EncryptionAlgorithm encryptingAlgorithm) {
+ setProperty("encryptingAlgorithm", encryptingAlgorithm);
+ return this;
+ }
+ /**
+ * The algorithm used to encrypt EDI message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder encryptingAlgorithm(
+ String encryptingAlgorithm) {
+ setProperty("encryptingAlgorithm", encryptingAlgorithm);
+ return this;
+ }
+ /**
+ * The chain of certificates used to encrypt EDI message.
+ * The option is a <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder encryptingCertificateChain(
+ Certificate[] encryptingCertificateChain) {
+ setProperty("encryptingCertificateChain", encryptingCertificateChain);
+ return this;
+ }
+ /**
+ * The chain of certificates used to encrypt EDI message.
+ * The option will be converted to a
+ * <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder encryptingCertificateChain(
+ String encryptingCertificateChain) {
+ setProperty("encryptingCertificateChain", encryptingCertificateChain);
+ return this;
+ }
+ /**
+ * The value of the From header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder from(String from) {
+ setProperty("from", from);
+ return this;
+ }
+ /**
+ * Sets the name of a parameter to be passed in the exchange In Body.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder inBody(String inBody) {
+ setProperty("inBody", inBody);
+ return this;
+ }
+ /**
+ * The template used to format MDN message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder mdnMessageTemplate(
+ String mdnMessageTemplate) {
+ setProperty("mdnMessageTemplate", mdnMessageTemplate);
+ return this;
+ }
+ /**
+ * The request URI of EDI message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder requestUri(String requestUri) {
+ setProperty("requestUri", requestUri);
+ return this;
+ }
+ /**
+ * The value included in the Server message header identifying the AS2
+ * Server.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder server(String server) {
+ setProperty("server", server);
+ return this;
+ }
+ /**
+ * The Server Fully Qualified Domain Name (FQDN). Used in message ids
+ * sent by endpoint.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder serverFqdn(String serverFqdn) {
+ setProperty("serverFqdn", serverFqdn);
+ return this;
+ }
+ /**
+ * The port number of server.
+ * The option is a <code>java.lang.Integer</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder serverPortNumber(
+ Integer serverPortNumber) {
+ setProperty("serverPortNumber", serverPortNumber);
+ return this;
+ }
+ /**
+ * The port number of server.
+ * The option will be converted to a <code>java.lang.Integer</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointBuilder serverPortNumber(
+ String serverPortNumber) {
+ setProperty("serverPortNumber", serverPortNumber);
+ return this;
+ }
+ /**
+ * The list of algorithms, in order of preference, requested to generate
+ * a message integrity check (MIC) returned in message dispostion
+ * notification (MDN).
+ * The option is a <code>java.lang.String[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder signedReceiptMicAlgorithms(
+ String[] signedReceiptMicAlgorithms) {
+ setProperty("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms);
+ return this;
+ }
+ /**
+ * The list of algorithms, in order of preference, requested to generate
+ * a message integrity check (MIC) returned in message dispostion
+ * notification (MDN).
+ * The option will be converted to a <code>java.lang.String[]</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointBuilder signedReceiptMicAlgorithms(
+ String signedReceiptMicAlgorithms) {
+ setProperty("signedReceiptMicAlgorithms", signedReceiptMicAlgorithms);
+ return this;
+ }
+ /**
+ * The algorithm used to sign EDI message.
+ * The option is a
+ * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointBuilder signingAlgorithm(
+ AS2SignatureAlgorithm signingAlgorithm) {
+ setProperty("signingAlgorithm", signingAlgorithm);
+ return this;
+ }
+ /**
+ * The algorithm used to sign EDI message.
+ * The option will be converted to a
+ * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointBuilder signingAlgorithm(
+ String signingAlgorithm) {
+ setProperty("signingAlgorithm", signingAlgorithm);
+ return this;
+ }
+ /**
+ * The chain of certificates used to sign EDI message.
+ * The option is a <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder signingCertificateChain(
+ Certificate[] signingCertificateChain) {
+ setProperty("signingCertificateChain", signingCertificateChain);
+ return this;
+ }
+ /**
+ * The chain of certificates used to sign EDI message.
+ * The option will be converted to a
+ * <code>java.security.cert.Certificate[]</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder signingCertificateChain(
+ String signingCertificateChain) {
+ setProperty("signingCertificateChain", signingCertificateChain);
+ return this;
+ }
+ /**
+ * The key used to sign the EDI message.
+ * The option is a <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder signingPrivateKey(
+ PrivateKey signingPrivateKey) {
+ setProperty("signingPrivateKey", signingPrivateKey);
+ return this;
+ }
+ /**
+ * The key used to sign the EDI message.
+ * The option will be converted to a
+ * <code>java.security.PrivateKey</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder signingPrivateKey(
+ String signingPrivateKey) {
+ setProperty("signingPrivateKey", signingPrivateKey);
+ return this;
+ }
+ /**
+ * The value of Subject header of AS2 message.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder subject(String subject) {
+ setProperty("subject", subject);
+ return this;
+ }
+ /**
+ * The host name (IP or DNS name) of target host.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder targetHostname(String targetHostname) {
+ setProperty("targetHostname", targetHostname);
+ return this;
+ }
+ /**
+ * The port number of target host. -1 indicates the scheme default port.
+ * The option is a <code>java.lang.Integer</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder targetPortNumber(
+ Integer targetPortNumber) {
+ setProperty("targetPortNumber", targetPortNumber);
+ return this;
+ }
+ /**
+ * The port number of target host. -1 indicates the scheme default port.
+ * The option will be converted to a <code>java.lang.Integer</code>
+ * type.
+ * @group common
+ */
+ public default AS2EndpointBuilder targetPortNumber(
+ String targetPortNumber) {
+ setProperty("targetPortNumber", targetPortNumber);
+ return this;
+ }
+ /**
+ * The value included in the User-Agent message header identifying the
+ * AS2 user agent.
+ * The option is a <code>java.lang.String</code> type.
+ * @group common
+ */
+ public default AS2EndpointBuilder userAgent(String userAgent) {
+ setProperty("userAgent", userAgent);
+ return this;
+ }
+ }
+
+ /**
+ * Advanced builder for endpoint for the AS2 component.
+ */
+ public static interface AdvancedAS2EndpointBuilder
+ extends
+ AdvancedAS2EndpointConsumerBuilder, AdvancedAS2EndpointProducerBuilder {
+ public default AS2EndpointBuilder basic() {
+ return (AS2EndpointBuilder) this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointBuilder basicPropertyBinding(
+ boolean basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * Whether the endpoint should use basic property binding (Camel 2.x) or
+ * the newer property binding with additional capabilities.
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointBuilder basicPropertyBinding(
+ String basicPropertyBinding) {
+ setProperty("basicPropertyBinding", basicPropertyBinding);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option is a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointBuilder synchronous(
+ boolean synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ /**
+ * Sets whether synchronous processing should be strictly used, or Camel
+ * is allowed to use asynchronous processing (if supported).
+ * The option will be converted to a <code>boolean</code> type.
+ * @group advanced
+ */
+ public default AdvancedAS2EndpointBuilder synchronous(String synchronous) {
+ setProperty("synchronous", synchronous);
+ return this;
+ }
+ }
+
+ /**
+ * Proxy enum for
+ * <code>org.apache.camel.component.as2.internal.AS2ApiName</code> enum.
+ */
+ public static enum AS2ApiName {
+ CLIENT, SERVER;
+ }
+
+ /**
+ * Proxy enum for
+ * <code>org.apache.camel.component.as2.api.AS2MessageStructure</code> enum.
+ */
+ public static enum AS2MessageStructure {
+ PLAIN, SIGNED, ENCRYPTED, SIGNED_ENCRYPTED, PLAIN_COMPRESSED, SIGNED_COMPRESSED, ENCRYPTED_COMPRESSED, ENCRYPTED_COMPRESSED_SIGNED;
+ }
+
+ /**
+ * Proxy enum for
+ * <code>org.apache.camel.component.as2.api.AS2CompressionAlgorithm</code>
+ * enum.
+ */
+ public static enum AS2CompressionAlgorithm {
+ ZLIB;
+ }
+
+ /**
+ * Proxy enum for
+ * <code>org.apache.camel.component.as2.api.AS2EncryptionAlgorithm</code>
+ * enum.
+ */
+ public static enum AS2EncryptionAlgorithm {
+ AES128_CBC, AES192_CBC, AES256_CBC, AES128_CCM, AES192_CCM, AES256_CCM, AES128_GCM, AES192_GCM, AES256_GCM, CAMELLIA128_CBC, CAMELLIA192_CBC, CAMELLIA256_CBC, CAST5_CBC, DES_CBC, DES_EDE3_CBC, GOST28147_GCFB, IDEA_CBC, RC2_CBC, RC4, SEED_CBC;
+ }
+
+ /**
+ * Proxy enum for
+ * <code>org.apache.camel.component.as2.api.AS2SignatureAlgorithm</code>
+ * enum.
+ */
+ public static enum AS2SignatureAlgorithm {
+ SHA3_224WITHRSA, SHA3_256WITHRSA, SHA3_384withRSA, SHA3_512WITHRSA, MD5WITHRSA, SHA1WITHRSA, MD2WITHRSA, SHA224WITHRSA, SHA256WITHRSA, SHA384WITHRSA, SHA512WITHRSA, RIPEMD128WITHRSA, RIPEMD160WITHRSA, RIPEMD256WITHRSA, SHA224WITHDSA, SHA256WITHDSA, SHA384WITHDSA, SHA512WITHDSA, SHA3_224WITHDSA, SHA3_256WITHDSA, SHA3_384WITHDSA, SHA3_512WITHDSA, SHA1WITHDSA, SHA3_224WITHECDSA, SHA3_256WITHECDSA, SHA3_384WITHECDSA, SHA3_512WITHECDSA, SHA1WITHECDSA, SHA224WITHECDSA, SHA256WITHECDSA, [...]
+ }
+ /**
+ * Component used for transferring data secure and reliable over the
+ * internet using the AS2 protocol. Creates a builder to build endpoints for
+ * the AS2 component.
+ */
+ public default AS2EndpointBuilder aS2(String path) {
+ class AS2EndpointBuilderImpl extends AbstractEndpointBuilder implements AS2EndpointBuilder, AdvancedAS2EndpointBuilder {
+ public AS2EndpointBuilderImpl(String path) {
+ super("as2", path);
+ }
+ }
+ return new AS2EndpointBuilderImpl(path);
+ }
+}
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpointBuilder.java b/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpointBuilder.java
deleted file mode 100644
index 03169dd..0000000
--- a/core/camel-core/src/main/java/org/apache/camel/model/endpoint/ActiveMQEndpointBuilder.java
+++ /dev/null
@@ -1,2347 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.camel.model.endpoint;
-
-import javax.annotation.Generated;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.LoggingLevel;
-import org.apache.camel.model.AbstractEndpointBuilder;
-import org.apache.camel.model.EndpointConsumerBuilder;
-import org.apache.camel.model.EndpointProducerBuilder;
-import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.spi.HeaderFilterStrategy;
-
-/**
- * The activemq component allows messages to be sent to (or consumed from)
- * Apache ActiveMQ. This component extends the Camel JMS component.
- *
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface ActiveMQEndpointBuilder {
-
-
- /**
- * Base class for the ActiveMQ component builders.
- */
- public static class ActiveMQCommonBuilder<T extends AbstractEndpointBuilder>
- extends
- AbstractEndpointBuilder<T> {
- ActiveMQCommonBuilder(String path) {
- super("activemq", path);
- }
- /**
- * The kind of destination to use.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T destinationType(String destinationType) {
- this.properties.put("destinationType", destinationType);
- return (T) this;
- }
- /**
- * Name of the queue or topic to use as destination.
- * The option is a <code>java.lang.String</code> type.
- * @group common
- */
- public T destinationName(String destinationName) {
- this.properties.put("destinationName", destinationName);
- return (T) this;
- }
- /**
- * Sets the JMS client ID to use. Note that this value, if specified,
... 363363 lines suppressed ...