Hi Mark,

Of course I tried with 

    <Executor name="tomcatThreadPoolVirtual" 
class="org.apache.catalina.core.StandardVirtualThreadExecutor"/>
    
    <Connector executor="tomcatThreadPoolVirtual" port="8080" 
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               useVirtualThreads="true"
               />

To reference the executor in the connector ;)

> Le 8 déc. 2023 à 10:51, Mark Thomas <ma...@apache.org> a écrit :
> 
> On 08/12/2023 02:49, Han Li wrote:
>> Hi Nicolas,
>> I took a quick look that Tomcat's VirtualThreadExecutor does not implement 
>> the ExecutorService interface, which leads to this result.
>> So I think this is a Tomcat bug.
> 
> +1
> 
>>> On Dec 8, 2023, at 03:55, Nicolas BONAMY <nicolas.bona...@gmail.com 
>>> <mailto:nicolas.bona...@gmail.com>> wrote:
>>> 
>>> Hi,
>>> 
>>> I try to use virtual thread on Apache Tomcat 10.1.16 with this 
>>> configuration on macOS or on Linux:
>>> 
>>>    <Executor name="tomcatThreadPoolVirtual" 
>>> class="org.apache.catalina.core.StandardVirtualThreadExecutor"/>
> 
> Note that the above configuration is a) unnecessary and b) doesn't do 
> anything as the following Connector does not reference the Executor
> 
> Mark
> 
> 
>>>    <Connector port="8080" 
>>> protocol="org.apache.coyote.http11.Http11Nio2Protocol"
>>>               connectionTimeout="20000"
>>>               redirectPort="8443"
>>>               maxParameterCount="1000"
>>>               useVirtualThreads="true"
>>>               />
>>> But when I make a request, I'm not on a virtual thread : 
>>> Thread[#76,Thread-14,5,main] . I profiled my application too but no virtual 
>>> threads are used.
>>> 
>>> If I use a Http11NioProtocol instead of Http11Nio2Protocol, all requests 
>>> are on virtual thread : 
>>> VirtualThread[#65,http-nio-8080-virt-0]/runnable@ForkJoinPool-1-worker-1
>>> 
>>>    <Executor name="tomcatThreadPoolVirtual" 
>>> class="org.apache.catalina.core.StandardVirtualThreadExecutor"/>
>>> 
>>> 
>>>    <Connector port="8080" 
>>> protocol="org.apache.coyote.http11.Http11NioProtocol"
>>>               connectionTimeout="20000"
>>>               redirectPort="8443"
>>>               maxParameterCount="1000"
>>>               useVirtualThreads="true"
>>>               />
>>> Http11Nio2Protocol is not working with virtual threads? Has anyone 
>>> encountered this problem before?
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org 
> <mailto:users-unsubscr...@tomcat.apache.org>
> For additional commands, e-mail: users-h...@tomcat.apache.org 
> <mailto:users-h...@tomcat.apache.org>

Reply via email to