IIS / Boncode / mod_cfml stops passing connections to Tomcat


Creating a new thread to stay on topic.
Original post:

We have a situation where Lucee appears to stop serving pages and we
constantly have to restart the service to get going again. Most of the time
a simple restart will do the trick.

Based on the previous post we have established that the problem is likely
with IIS / Boncode / mod_cfml because we can still reach pages on port 8888
so Tomcat is still serving correctly.

Igal gave me the following guidance “IIS is used widely by many users, so
if I have to guess which one of those components has a concurrency issue I
would put my money on the mod_cfml. mod_cfml for Windows is using the
BonCode connector – http://www.boncode.net/ – so first make sure that
you’re running the latest version of that, and try to troubleshoot by
logging requests etc.”

We already had basic logging in place on boncode and it does not show
anything in particular as far as I tell.

Creating this new post hoping that Bilal or Jordan may be able to offer
some further pointers.

Any guidance would be much appreciated.

Here are some environment / config settings:

*OS: *Windows Server 2012 (6.2) 64bit
*Servlet Container: *Apache Tomcat/8.0.24
*Java: *1.8.0_45 (Oracle Corporation) 64bit
*Architecture: *64bit

*Initial Memory Pool : *1024mb
Max Memory Pool: 4096mb

Boncode Version: 1.0.

Boncode Settings:


Server.xml settings:

I have been looking into this further.

I seem these errors in the logs:

2016-09-28 16:05:13 1.0.25 ERROR
TCP Client level – Server/Port:localhost/8009
Thread was being aborted.

2016-09-28 16:05:13 One Connection raised an error

2016-09-28 16:06:42 1.0.25 ERROR
TCP Client level – Server/Port:localhost/8009
Unable to read data from the transport connection: An existing connection
was forcibly closed by the remote host.

It feels like error 1) probably happens in the run up and potentially
linked to the cause of my problem. It feels like 2),3) and a symptom of
my forced restart and not the cause. Does that seem logical?

Does it seem likely that this extract from the docs will solve the issue I
am having? specifically maxThreads=“1000” connectionTimeout=“60000”???

It seems others solved their similar problems with this solution. However I
do not want to change things without understanding.

Connector Thoughts

The BonCode connector has been engineered for throughput in concert with
IIS7. Thus, it will efficiently create and destroy threads; however, it
will also maintain a larger number of threads for re-use then the,
previous, ISAPI based connector. This will allow it to handle demand spikes
gracefully. Consequently, it is recommended that some of the Apache Tomcat
default parameters are adjusted to allow higher level of concurrency in
production as well.

For example, in the tomcat server.xml file add the maxThreads,
connectionTimeout, and packetSize attributes to the AJP1.3 protocol like so:

<Connector port=“8009” protocol=“AJP/1.3” redirectPort=“8443” maxThreads=“1000”
connectionTimeout=“60000” packetSize=“65536”

Also a corresponding change is required on the connector for the packet
size. This is spelled differently (case sensitive). Find the active
BonCodeAJP13.setting file and add:


The instructions for upgrading connector can be found here: