corda.messaging heading-link-icon

Configuration schema for the messaging section. This configures the interactions of the workers with the underlying message bus.

  • bus - Settings for the underlying bus implementation. Sets up connection details and how underlying bus objects behave.
    • busType - The type of bus implementation. This must be set to one of the following values:
      • KAFKA
      • DATABASE
      • INMEMORY

      If busType is set to KAFKA, you should also set the following fields:
      • common - Kafka properties that are common to both consumers and producers. For example, connection information such as SSL details.

          If busType is set to DATABASE, you should also set the following fields:
          • consumer
            • maxPollRecords - The maximum number of records to poll from the database in a single poll.
              Default value: 100
              Minimum value: 1
              Maximum value: 100000
          • jdbcUrl - The JDBC database URL.
            • pass - The cluster admin password to connect to the database with.
              • user - The cluster admin username to connect to the database with.
            • maxAllowedMessageSize - The maximum size, in bytes, for messages. Corda breaks messages exceeding this size into smaller messages before sending. This value must be lower than the maximum message size configured on the message bus itself. If the Corda configuration value is set to a value higher than that of the message bus, messages will not be sent.
              Default value: 972800
              Minimum value: 512000
              Maximum value: 8388608
              • publisher - Settings for publishers that write messages to the underlying bus.
                • closeTimeout - The length of time in milliseconds that Corda waits when closing underlying bus objects.
                  Minimum value: 100.
                  Maximum value: 2147483647.
                  Default value: 600.
                  • transactional - Specifies if the publisher should send records as part of transactions. Set to false to send records asynchronously.
                    Default value: true.
                    • subscription - Settings for subscriptions that process messages on the underlying bus.
                      • commitRetries - The number of times Corda attempts to commit a transaction before throwing back to the client.
                        Minimum value: 0.
                        Maximum value: 1000.
                        Default value: 3.
                        • pollTimeout - The length of time in milliseconds that Corda waits for a response from the bus when calling poll.
                          Minimum value: 100.
                          Maximum value: 2147483647.
                          Default value: 500.
                          • processorRetries - The number of times Corda retries internal intermittent failures before throwing back to the client.
                            Minimum value: 0.
                            Maximum value: 1000.
                            Default value: 3.
                            • processorTimeout - The length of time in milliseconds that Corda waits for an individual event to process. This is applied if the subscription must also maintain a state that needs to be periodically serviced. If using KAFKA as the message bus. This value needs to be set lower than the kafka consumer max.poll.interval.ms config value.
                              Minimum value: 1000.
                              Maximum value: 2147483647.
                              Default value: 15000.
                              • subscribeRetries - The number of times Corda attempts to subscribe to the underlying bus before throwing back to the client.
                                Minimum value: 0.
                                Maximum value: 1000.
                                Default value: 3.
                                • threadStopTimeout - The length of time in milliseconds that Corda waits for the subscription processing thread to terminate on close.
                                  Minimum value: 100.
                                  Maximum value: 2147483647.
                                  Default value: 10000.

                                  Was this page helpful?

                                  Thanks for your feedback!

                                  Chat with us

                                  Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

                                  Propose documentation improvements directly

                                  Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

                                  We're sorry this page wasn't helpful. Let us know how we can make it better!

                                  Chat with us

                                  Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

                                  Create an issue

                                  Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

                                  Propose documentation improvements directly

                                  Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.