jbertram commented on code in PR #5258: URL: https://github.com/apache/activemq-artemis/pull/5258#discussion_r1779730331
########## docs/user-manual/large-messages.adoc: ########## @@ -2,35 +2,68 @@ :idprefix: :idseparator: - -Apache ActiveMQ Artemis can be configured to store messages as files when these messages are beyond a configured value. - -Instead of keeping these messages in memory ActiveMQ Artemis will hold just a thin object on the queues with a reference to a file into a specific folder configured as large-messages-directory. +Apache ActiveMQ Artemis can be configured to give special treatment to messages which are beyond a configured size. +Instead of keeping the entire contents of these messages _in memory_ the broker will hold just a thin object on the queues with a reference to the content (e.g. in a file or a database table). This is supported on Core Protocol and on the AMQP Protocol. == Configuring the server -Large messages are stored on a disk directory on the server side, as configured on the main configuration file. - +When using the xref:persistence.adoc#file-journal-default[file journal] large messages are stored on disk on the server. The configuration property `large-messages-directory` specifies where large messages are stored. -For JDBC persistence the `large-message-table` should be configured. [,xml] ---- -<configuration xmlns="urn:activemq" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd"> - <core xmlns="urn:activemq:core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:activemq:core"> +<configuration...> + <core...> + ... + <large-messages-directory>data/large-messages</large-messages-directory> + ... + </core> +</configuration> +---- + +By default the large message directory is `data/largemessages`. + +[NOTE] +==== +For the best performance we recommend using the file journal with the large messages directory on a different physical volume to the message journal or paging directory. +==== + +For xref:persistence.adoc#jdbc-persistence[JDBC persistence] the `large-message-table` should be configured. + +[,xml] +---- +<configuration...> + <core...> ... - <large-messages-directory>/data/large-messages</large-messages-directory> + <store> + <database-store> + ... + <large-message-table-name>LARGE_MESSAGES_TABLE</large-message-table-name> + ... + </database-store> + </store> ... </core> </configuration> ---- -By default the large message directory is `data/largemessages` and `large-message-table` is configured as "LARGE_MESSAGE_TABLE". +By default `large-message-table` is configured as `LARGE_MESSAGE_TABLE`. + +By default when writing the final bytes to a large message all writes are synchronized to the storage medium. +This can be configured via `large-message-sync`, e.g.: -For the best performance we recommend using file store with large messages directory stored on a different physical volume to the message journal or paging directory. +[,xml] +---- +<configuration...> + <core...> + ... + <large-message-sync>false</large-message-sync> Review Comment: Fixed, plus added the default explicitly. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@activemq.apache.org For additional commands, e-mail: gitbox-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact