In the james-config.file in the section Connection Manager Block, there is a comment about configuring the max-connections parameter. It suggests that setting it to 0 means unlimited connections.
In practice however, it turns out that setting the value to 0 effectively creates a maximum of 1 connection.
(Due to the use of the HardResourceLimiting thread pool by the ServerConnection class, which defaults to a size of 1 if a size of 0 is specified.)
I would suggest to remove the comment in question to prevent confusion.
<!-- The Connection Manager block -->
<!-- The max-connections parameter specifies the default maximum number of client -->
<!-- connections that this connection manager will allow per managed server socket. -->
<!-- This value can be overridden by each individual service. -->
<!-- If no value is specified, the value defaults to 30. -->
<!-- A value of 0 means that there is no limit imposed by the connection manager, although -->
<!-- resource limitations imposed by other components (i.e. max # of threads) may -->
<!-- serve to limit the number of open connections. -->