You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "James H. H. Lampert" <ja...@touchtonecorp.com.INVALID> on 2023/03/03 17:44:51 UTC

Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

On 3/2/23 3:50 PM, jonmcalexander@wellsfargo.com.INVALID wrote:
> Yes, Tomcat9 runs under Java8 and above.

Ok, another question: will Tomcat 9 accept a "legacy" connector 
definition in the form as shown below?

  <Connector port="443" 
protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" 
SSLEnabled="true" scheme="https" secure="true" 
keystoreFile="/foo/tomcat/bar.ks" keyAlias="baz" clientAuth="false" 
sslProtocol="TLS" />

--
JHHL

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: catalina.out, was Re: Connector definitions

Posted by Rob Sargent <rs...@xmission.com>.

On 3/8/23 13:47, Rob Sargent wrote:
>
>
> On 3/8/23 12:54, James H. H. Lampert wrote:
>> On 3/8/23 11:35 AM, Mark Thomas wrote:
>>
>>> Check logging.properties and/or how you have stdout redirected in 
>>> your start-up scripts.
>>
>> Thanks.
>> All I see different in logging.properties is that on the Midrange box 
>> (installed from the ZIP file from Apache's Tomcat site), it has 
>> "catalina.org.apache.juli.AsyncFileHandler.maxDays = 90" clauses, 
>> whereas on the cloud Linux (probably installed with yum or apt), it 
>> doesn't.
>>
>> And if (adopting root authority) I do a "find -name catalina.sh" or a 
>> "find -name startup.sh" on a cloud Linux box, I find *nothing.* Which 
>> is remarkable in itself.
>>
>
> Assuming you're starting in the right place, try "find-name catalina.\*"

"find -name" of course



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: catalina.out, was Re: Connector definitions

Posted by Rob Sargent <rs...@xmission.com>.

On 3/8/23 12:54, James H. H. Lampert wrote:
> On 3/8/23 11:35 AM, Mark Thomas wrote:
>
>> Check logging.properties and/or how you have stdout redirected in 
>> your start-up scripts.
>
> Thanks.
> All I see different in logging.properties is that on the Midrange box 
> (installed from the ZIP file from Apache's Tomcat site), it has 
> "catalina.org.apache.juli.AsyncFileHandler.maxDays = 90" clauses, 
> whereas on the cloud Linux (probably installed with yum or apt), it 
> doesn't.
>
> And if (adopting root authority) I do a "find -name catalina.sh" or a 
> "find -name startup.sh" on a cloud Linux box, I find *nothing.* Which 
> is remarkable in itself.
>

Assuming you're starting in the right place, try "find-name catalina.\*"

> Not that it's of more than academic interest.
>
> -- 
> JHHL
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: catalina.out, was Re: Connector definitions

Posted by "James H. H. Lampert" <ja...@touchtonecorp.com.INVALID>.
On 3/8/23 4:06 PM, Christopher Schultz wrote:
> SOP for systemd is to redirect stdout/stderr for the process into its 
> own logs similar to syslog (but different, of course, because #systemd).
> 
> This could also happen on Linux is you are using "jsvc" to launch 
> Tomcat. If you use the standard shell scripts to launch Tomcat, you'll 
> get stdout/stderr redirected to catalina.out and it will grow indefinitely.
> 
> If you use jsvc, you get log-file rotation out of the box. Instead of 
> one giant catalina.out file, you'll get daily catalina-stdout.txt and 
> catalina-stderr.txt files. I'm not sure why you have a zero-length 
> catalina.out in those circumstances.

Thank you very much. Especially given that I had no practical reason for 
knowing the answer, and had asked purely out of morbid curiosity.

--
JHHL

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: catalina.out, was Re: Connector definitions

Posted by Christopher Schultz <ch...@christopherschultz.net>.
James,

On 3/8/23 17:05, James H. H. Lampert wrote:
> On 3/8/23 1:34 PM, Zerro wrote:
> 
>> On the Linux box Tomcat is probably started by systemd, therefore no 
>> catalina.out
> 
> Very likely, but can you elaborate on that? I'm much more of a DOS (to 
> the point of having gone to great lengths to set up a refurbished 
> vintage notebook as a functioning DOSbook) and OS/400 person.

SOP for systemd is to redirect stdout/stderr for the process into its 
own logs similar to syslog (but different, of course, because #systemd).

This could also happen on Linux is you are using "jsvc" to launch 
Tomcat. If you use the standard shell scripts to launch Tomcat, you'll 
get stdout/stderr redirected to catalina.out and it will grow indefinitely.

If you use jsvc, you get log-file rotation out of the box. Instead of 
one giant catalina.out file, you'll get daily catalina-stdout.txt and 
catalina-stderr.txt files. I'm not sure why you have a zero-length 
catalina.out in those circumstances.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: catalina.out, was Re: Connector definitions

Posted by "James H. H. Lampert" <ja...@touchtonecorp.com.INVALID>.
On 3/8/23 1:34 PM, Zerro wrote:

> On the Linux box Tomcat is probably started by systemd, therefore no 
> catalina.out

Very likely, but can you elaborate on that? I'm much more of a DOS (to 
the point of having gone to great lengths to set up a refurbished 
vintage notebook as a functioning DOSbook) and OS/400 person.

--
JHHL

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: catalina.out, was Re: Connector definitions

Posted by Zerro <hz...@gmail.com>.
On 3/8/23 20:54, James H. H. Lampert wrote:
> On 3/8/23 11:35 AM, Mark Thomas wrote:
>
>> Check logging.properties and/or how you have stdout redirected in 
>> your start-up scripts.
>
> Thanks.
> All I see different in logging.properties is that on the Midrange box 
> (installed from the ZIP file from Apache's Tomcat site), it has 
> "catalina.org.apache.juli.AsyncFileHandler.maxDays = 90" clauses, 
> whereas on the cloud Linux (probably installed with yum or apt), it 
> doesn't.
>
> And if (adopting root authority) I do a "find -name catalina.sh" or a 
> "find -name startup.sh" on a cloud Linux box, I find *nothing.* Which 
> is remarkable in itself.
>
> Not that it's of more than academic interest.
>
> -- 
> JHHL
>
On the Linux box Tomcat is probably started by systemd, therefore no 
catalina.out


~Z


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


catalina.out, was Re: Connector definitions

Posted by "James H. H. Lampert" <ja...@touchtonecorp.com.INVALID>.
On 3/8/23 11:35 AM, Mark Thomas wrote:

> Check logging.properties and/or how you have stdout redirected in your 
> start-up scripts.

Thanks.
All I see different in logging.properties is that on the Midrange box 
(installed from the ZIP file from Apache's Tomcat site), it has 
"catalina.org.apache.juli.AsyncFileHandler.maxDays = 90" clauses, 
whereas on the cloud Linux (probably installed with yum or apt), it doesn't.

And if (adopting root authority) I do a "find -name catalina.sh" or a 
"find -name startup.sh" on a cloud Linux box, I find *nothing.* Which is 
remarkable in itself.

Not that it's of more than academic interest.

--
JHHL

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by Mark Thomas <ma...@apache.org>.
On 08/03/2023 17:24, James H. H. Lampert wrote:
> Curious about one thing: on our IBM Midrange installations, log entries 
> go into catalina.out. On our Cloud Linux installations, catalina.out is 
> almost always completely empty, and I have to go into the dated catalina 
> log files to see any entries. Does anybody have an explanation for this 
> difference?

Check logging.properties and/or how you have stdout redirected in your 
start-up scripts.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by Pete Helgren <pe...@valadd.com>.
James,

I have been running Tomcat on earlier versions of IBM i for years.  I'd 
have dig through my Common Presentations but it might go back a couple 
of decades.  I don't presume to know as much as you but my CL (probably 
similar to yours) generates two jobs each time I invoke the catalina.sh 
script:  1 job resides in PASE and the other is a JVM job.  Makes sense 
since catalina.sh invokes Tomcat running in a JVM and each time a Java 
program is invoked on IBM i, it gets its own JVM and job (as you most 
likely know).

Tomcat on IBM i has always worked for me so I haven't had to dig into 
deeper details like you have so I can't weigh in on the log issues 
except to say that catalina.out is always in EBCDIC.  The 
catalina.[date].log files and all the other log files generated by 
Tomcat are in ASCII (and there are a bunch of them).

Pete Helgren
www.petesworkshop.com
GIAC Secure Software Programmer-Java
GIAC Cloud Penetration Tester
AWS Certified Cloud Practitioner
Microsoft Certified: Azure Fundamentals

On 3/8/2023 11:24 AM, James H. H. Lampert wrote:
> FYI:
>
> The operating system on IBM Midrange boxes ("AS/400," "iSeries," "IBM 
> i," or whatever they're calling it this week) is "OS/400," "IBM i," or 
> whatever  they're calling the operating system this week. These 
> machines are the descendants of the IBM S/3, which IBM Rochester 
> developed in the late 1960s as a successor to plugboard-programmable 
> unit record machines.
>
> Because of their heritage, IBM Midrange boxes traditionally use a 
> block-mode, EBCDIC-based terminal protocol called 5250 Data Stream. 
> The architecture is based on a compiled abstraction layer (the 
> "Machine Interface") built on top of the hardware; it was doing the 
> "virtual machine" thing long before the coffee-crazed folks at Sun 
> came up with the Java Virtual Machine.
>
> At any rate, given that I manage multiple customer installations, I 
> probably have as much experience installing and running Tomcat on IBM 
> Midrange boxes as anybody, and I've noticed a number of things that 
> work differently on that platform than elsewhere. In particular, 
> Tomcat configuration changes that take effect immediately under Linux 
> require a Tomcat restart on IBM Midrange boxes. And I have, in turn, 
> developed a number of IBM-Midrange-centric tools for managing those 
> installations, most notably, a CL program (CL programs being the 
> platform's *compiled* command scripts) to launch Tomcat, and another 
> one to shut it down (forcibly if it fails to respond to a shutdown 
> command in a reasonable amount of time). And I've noted that when 
> Tomcat is running on an IBM Midrange box, there are two jobs 
> associated with the server: the CATALINA job, and a JVM job called 
> "QP0ZSPWT" (I have no idea why, but at least it's consistent)
>
> And I tend to be very cautious about changes, adopting an "if it ain't 
> broke, don't fix it" attitude, so I'm not terribly inclined to even 
> investigate converting to from JSSE to OpenSSL.
>
> Thanks for all the help. This List rivals the IBM Midrange Lists in 
> terms of having knowlegable people who are eager to help, and blows a 
> great many other developer/user communities completely out of the 
> water in that regard.
>
> Curious about one thing: on our IBM Midrange installations, log 
> entries go into catalina.out. On our Cloud Linux installations, 
> catalina.out is almost always completely empty, and I have to go into 
> the dated catalina log files to see any entries. Does anybody have an 
> explanation for this difference?
>
> -- 
> JHHL
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by "James H. H. Lampert" <ja...@touchtonecorp.com.INVALID>.
FYI:

The operating system on IBM Midrange boxes ("AS/400," "iSeries," "IBM 
i," or whatever they're calling it this week) is "OS/400," "IBM i," or 
whatever  they're calling the operating system this week. These machines 
are the descendants of the IBM S/3, which IBM Rochester developed in the 
late 1960s as a successor to plugboard-programmable unit record machines.

Because of their heritage, IBM Midrange boxes traditionally use a 
block-mode, EBCDIC-based terminal protocol called 5250 Data Stream. The 
architecture is based on a compiled abstraction layer (the "Machine 
Interface") built on top of the hardware; it was doing the "virtual 
machine" thing long before the coffee-crazed folks at Sun came up with 
the Java Virtual Machine.

At any rate, given that I manage multiple customer installations, I 
probably have as much experience installing and running Tomcat on IBM 
Midrange boxes as anybody, and I've noticed a number of things that work 
differently on that platform than elsewhere. In particular, Tomcat 
configuration changes that take effect immediately under Linux require a 
Tomcat restart on IBM Midrange boxes. And I have, in turn, developed a 
number of IBM-Midrange-centric tools for managing those installations, 
most notably, a CL program (CL programs being the platform's *compiled* 
command scripts) to launch Tomcat, and another one to shut it down 
(forcibly if it fails to respond to a shutdown command in a reasonable 
amount of time). And I've noted that when Tomcat is running on an IBM 
Midrange box, there are two jobs associated with the server: the 
CATALINA job, and a JVM job called "QP0ZSPWT" (I have no idea why, but 
at least it's consistent)

And I tend to be very cautious about changes, adopting an "if it ain't 
broke, don't fix it" attitude, so I'm not terribly inclined to even 
investigate converting to from JSSE to OpenSSL.

Thanks for all the help. This List rivals the IBM Midrange Lists in 
terms of having knowlegable people who are eager to help, and blows a 
great many other developer/user communities completely out of the water 
in that regard.

Curious about one thing: on our IBM Midrange installations, log entries 
go into catalina.out. On our Cloud Linux installations, catalina.out is 
almost always completely empty, and I have to go into the dated catalina 
log files to see any entries. Does anybody have an explanation for this 
difference?

--
JHHL

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by Christopher Schultz <ch...@christopherschultz.net>.
James,

On 3/7/23 16:09, James H. H. Lampert wrote:
> (I have the general impression that APR is not an option on IBM Midrange 
> boxes, but I could be mistaken.)

It might be.

https://www.ibm.com/docs/en/ibm-http-server/9.0.5?topic=chs-apache-apr-apr-util-libraries-included-withibm-http-server

Are you running directly on AIX/xOS/whatever or are you running on a 
Linux OS hosted by that stuff? I seem to recall at one point you at 
least experimented with running Tomcat inside a Linux container.

If you have a compiler and toolchain, you can probably build APR and 
then libtcnative.

For my money, you would only want to use libtcnative if the following apply:

1. You are terminating TLS in Tomcat. If you have clients connecting 
directly to your Tomcat server, this *should* be the case. If you have 
clients connecting through a reverse-proxy, load-balancer, etc. then 
this *might* be the case. I would argue that traffic between a RP/LB 
ought to be encrypted even if it's on a "trusted" network.

2. You have lots of traffic. This is subjective, of course.

Jean-Frederic has some metrics on JSSE-vs-OpenSSL but all comparisons 
I've ever seen show OpenSSL beating the crap out of JSSE. In *some* JVMs 
(I think all he tested), there were bugs which caused the JVM not to use 
the local CPU's hardware-implementation of AES and other handy ciphers, 
meaning that software was being used to perform the cryptographic 
operations instead of hardware. This had a significant performance impact.

"Significant" is relative. If you get 10000 requests per day, this kind 
of thing doesn't matter. If you get 100M, your opinion may change.

The rare bugs that do occur in APR and libtcnative can cause the whole 
JVM to crash, rather then just throwing an exception saying "oops" and 
allowing the server to continue. This is another consideration when 
deciding to use libtcnative or not.

Using NIO+OpenSSL still uses libtcnative, but it is slightly safer than 
using APR+OpenSSL just because there is even less native code involved.

Rémy's work with Panama in recent JVMs is exciting because it would mean 
that libtcnative would no longer be necessary; Java would call OpenSSL 
directly without the native-glue that libtcnative provides. OpenSSL is 
probably far better-tested than libtcnative, so removing yet another 
native component from the mix is a definite win.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by Christopher Schultz <ch...@christopherschultz.net>.
Mark,

On 3/8/23 03:31, Mark Thomas wrote:
> On 07/03/2023 21:09, James H. H. Lampert wrote:
>> Dear Mesrs. Thomas, Schultz, et al.:
>>
>> Changing it to "org.apache.coyote.http11.Http11NioProtocol" did the 
>> trick. The Tomcat 9 server launched, on our cloud Midrange box, and 
>> both it and the webapp contexts we have running seem to be working. It 
>> will, of course, require a bit more exercise before we start switching 
>> customer installations over to it.
>>
>> Tomcat 8.5 gives a warning message:
>>
>>> 15-Nov-2022 14:12:55.341 WARNING [main] 
>>> org.apache.coyote.http11.Http11Protocol.<init> The HTTP BIO connector 
>>> has been removed in Tomcat 8.5.x onwards. The HTTP BIO connector 
>>> configuration has been automatically switched to use the HTTP NIO 
>>> connector instead.
>>
>> and so I'm taking that to mean that 8.5 did automatically what I had 
>> to do by manually changing the configuration file.
> 
> Correct.
> 
>> Looking at the comparison chart on the protocols, I don't see any 
>> difference between NIO and NIO2. Could somebody point me to an 
>> explanation of what the difference is between BIO, NIO, and NIO2?
> 
> BIO uses blocking IO so it doesn't scale that well. You need one thread 
> per current connection (including idle connections kept open with 
> keep-alive).

Also, just in case it's not clear, BIO can't be used for non-blocking stuff.

> NIO and NIO2 use non-blocking IO. It scales better as you need one 
> thread per currently active connection.
> 
> NIO and NIO2 just use different ways of doing the same thing. Experience 
> to date is that there isn't much difference between them.

AIUI, NIO2 had wild changes in performance during its maturation 
process, but these days is roughly equivalent to NIO in terms of 
performance and reliability.

At some point, it looked like it would be "the *new* NIO" but there has 
been a lot of refactoring under the hood of the NIO implementation to 
improve performance so it seems that NIO2 is left with a sort of a niche 
market. I'm sure there are certain things there NIO2 is much better than 
NIO but it doesn't seem to have much or a performance impact on the 
Tomcat-related use-cases.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by Mark Thomas <ma...@apache.org>.
On 07/03/2023 21:09, James H. H. Lampert wrote:
> Dear Mesrs. Thomas, Schultz, et al.:
> 
> Changing it to "org.apache.coyote.http11.Http11NioProtocol" did the 
> trick. The Tomcat 9 server launched, on our cloud Midrange box, and both 
> it and the webapp contexts we have running seem to be working. It will, 
> of course, require a bit more exercise before we start switching 
> customer installations over to it.
> 
> Tomcat 8.5 gives a warning message:
> 
>> 15-Nov-2022 14:12:55.341 WARNING [main] 
>> org.apache.coyote.http11.Http11Protocol.<init> The HTTP BIO connector 
>> has been removed in Tomcat 8.5.x onwards. The HTTP BIO connector 
>> configuration has been automatically switched to use the HTTP NIO 
>> connector instead.
> 
> and so I'm taking that to mean that 8.5 did automatically what I had to 
> do by manually changing the configuration file.

Correct.

> Looking at the comparison chart on the protocols, I don't see any 
> difference between NIO and NIO2. Could somebody point me to an 
> explanation of what the difference is between BIO, NIO, and NIO2?

BIO uses blocking IO so it doesn't scale that well. You need one thread 
per current connection (including idle connections kept open with 
keep-alive).

NIO and NIO2 use non-blocking IO. It scales better as you need one 
thread per currently active connection.

NIO and NIO2 just use different ways of doing the same thing. Experience 
to date is that there isn't much difference between them.

Mark


> (I have the general impression that APR is not an option on IBM Midrange 
> boxes, but I could be mistaken.)
> 
> -- 
> JHHL
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by "James H. H. Lampert" <ja...@touchtonecorp.com.INVALID>.
Dear Mesrs. Thomas, Schultz, et al.:

Changing it to "org.apache.coyote.http11.Http11NioProtocol" did the 
trick. The Tomcat 9 server launched, on our cloud Midrange box, and both 
it and the webapp contexts we have running seem to be working. It will, 
of course, require a bit more exercise before we start switching 
customer installations over to it.

Tomcat 8.5 gives a warning message:

> 15-Nov-2022 14:12:55.341 WARNING [main] org.apache.coyote.http11.Http11Protocol.<init> The HTTP BIO connector has been removed in Tomcat 8.5.x onwards. The HTTP BIO connector configuration has been automatically switched to use the HTTP NIO connector instead.

and so I'm taking that to mean that 8.5 did automatically what I had to 
do by manually changing the configuration file.

Looking at the comparison chart on the protocols, I don't see any 
difference between NIO and NIO2. Could somebody point me to an 
explanation of what the difference is between BIO, NIO, and NIO2?

(I have the general impression that APR is not an option on IBM Midrange 
boxes, but I could be mistaken.)

--
JHHL

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by Christopher Schultz <ch...@christopherschultz.net>.
James,

On 3/7/23 03:35, Mark Thomas wrote:
> On 06/03/2023 23:58, James H. H. Lampert wrote:
>> On 03/03/2023 17:44, I wrote:
>>
>>>> Ok, another question: will Tomcat 9 accept a "legacy" connector 
>>>> definition in the form as shown below?
>>>>
>>>> <Connector port="443" 
>>>> protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150"
>>>>  SSLEnabled="true" scheme="https" secure="true" 
>>>> keystoreFile="/foo/tomcat/bar.ks" keyAlias="baz" clientAuth="false"
>>>>  sslProtocol="TLS" />
>>
>> To which Mark Thomas replied:
>>
>>> Yes.
>>
>> This afternoon, I realized that I had a guinea pig available for testing
>> our webapp under Tomcat 9, on an IBM Midrange box.
>>
>> With a connector defined according to the above form, I tried launching,
>> and got this:
>>> 06-Mar-2023 18:42:08.677 SEVERE [main] 
>>> org.apache.catalina.connector.Connector.<init> Protocol handler 
>>> instantiation failed java.lang.ClassNotFoundException: 
>>> org.apache.coyote.http11.Http11Protocol at 
>>> java.lang.Class.forNameImpl(Native Method) at 
>>> java.lang.Class.forName(Class.java:339) at 
>>> org.apache.coyote.ProtocolHandler.create(ProtocolHandler.java:260) 
>> . . .
>>
>> So I'm guessing I need to change the class given in the protocol 
>> clause. To what?
> 
> Sorry, I didn't check the values provided in the example. I was just 
> looking at the overall style.
> 
> You need one of the following:
> 
> org.apache.coyote.http11.Http11NioProtocol
> org.apache.coyote.http11.Http11Nio2Protocol
> org.apache.coyote.http11.Http11AprProtocol

The significant change here is that HTTP BIO is no longer available in 
Tomcat 9. Actually... HTTP BIO should not have been available to you in 
Tomcat 8.5 either. Are you upgrading from 8.0.something?

These days, NIO is the default so unless you have a specific reason to 
override that, I wouldn't even bother specifying the protocol.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by Mark Thomas <ma...@apache.org>.
On 06/03/2023 23:58, James H. H. Lampert wrote:
> On 03/03/2023 17:44, I wrote:
> 
>>> Ok, another question: will Tomcat 9 accept a "legacy" connector 
>>> definition in the form as shown below?
>>>
>>> <Connector port="443" 
>>> protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150"
>>>  SSLEnabled="true" scheme="https" secure="true" 
>>> keystoreFile="/foo/tomcat/bar.ks" keyAlias="baz" clientAuth="false"
>>>  sslProtocol="TLS" />
> 
> To which Mark Thomas replied:
> 
>> Yes.
> 
> This afternoon, I realized that I had a guinea pig available for testing
> our webapp under Tomcat 9, on an IBM Midrange box.
> 
> With a connector defined according to the above form, I tried launching,
> and got this:
>> 06-Mar-2023 18:42:08.677 SEVERE [main] 
>> org.apache.catalina.connector.Connector.<init> Protocol handler 
>> instantiation failed java.lang.ClassNotFoundException: 
>> org.apache.coyote.http11.Http11Protocol at 
>> java.lang.Class.forNameImpl(Native Method) at 
>> java.lang.Class.forName(Class.java:339) at 
>> org.apache.coyote.ProtocolHandler.create(ProtocolHandler.java:260) 
> . . .
> 
> So I'm guessing I need to change the class given in the protocol clause. 
> To what?

Sorry, I didn't check the values provided in the example. I was just 
looking at the overall style.

You need one of the following:

org.apache.coyote.http11.Http11NioProtocol
org.apache.coyote.http11.Http11Nio2Protocol
org.apache.coyote.http11.Http11AprProtocol

See the protocol attribute here:
https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by James Boggs <jb...@rightdirectiontech.com.INVALID>.
I think your protocol line needs to include "Nio" or "apr", depending on which one you use:
protocol="org.apache.coyote.http11.Http11NioProtocol"
or
protocol="org.apache.coyote.http11.Http11AprProtocol"
see documentation here https://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html



-----Original Message-----
From: James H. H. Lampert <ja...@touchtonecorp.com.INVALID> 
Sent: Monday, March 6, 2023 6:58 PM
To: Tomcat Users List <us...@tomcat.apache.org>
Subject: Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

On 03/03/2023 17:44, I wrote:

>> Ok, another question: will Tomcat 9 accept a "legacy" connector 
>> definition in the form as shown below?
>> 
>> <Connector port="443" 
>> protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150"
>>  SSLEnabled="true" scheme="https" secure="true" 
>> keystoreFile="/foo/tomcat/bar.ks" keyAlias="baz" clientAuth="false"
>>  sslProtocol="TLS" />

To which Mark Thomas replied:

> Yes.

This afternoon, I realized that I had a guinea pig available for testing our webapp under Tomcat 9, on an IBM Midrange box.

With a connector defined according to the above form, I tried launching, and got this:
> 06-Mar-2023 18:42:08.677 SEVERE [main] org.apache.catalina.connector.Connector.<init> Protocol handler instantiation failed 
> java.lang.ClassNotFoundException: org.apache.coyote.http11.Http11Protocol                                                   
> at java.lang.Class.forNameImpl(Native Method)                                                                              
> at java.lang.Class.forName(Class.java:339)                                                                                 
> at org.apache.coyote.ProtocolHandler.create(ProtocolHandler.java:260)                                                      
. . .

So I'm guessing I need to change the class given in the protocol clause. 
To what?

--
JHHL


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by "James H. H. Lampert" <ja...@touchtonecorp.com.INVALID>.
On 03/03/2023 17:44, I wrote:

>> Ok, another question: will Tomcat 9 accept a "legacy" connector 
>> definition in the form as shown below?
>> 
>> <Connector port="443" 
>> protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150"
>>  SSLEnabled="true" scheme="https" secure="true" 
>> keystoreFile="/foo/tomcat/bar.ks" keyAlias="baz" clientAuth="false"
>>  sslProtocol="TLS" />

To which Mark Thomas replied:

> Yes.

This afternoon, I realized that I had a guinea pig available for testing
our webapp under Tomcat 9, on an IBM Midrange box.

With a connector defined according to the above form, I tried launching,
and got this:
> 06-Mar-2023 18:42:08.677 SEVERE [main] org.apache.catalina.connector.Connector.<init> Protocol handler instantiation failed 
> java.lang.ClassNotFoundException: org.apache.coyote.http11.Http11Protocol                                                   
> at java.lang.Class.forNameImpl(Native Method)                                                                              
> at java.lang.Class.forName(Class.java:339)                                                                                 
> at org.apache.coyote.ProtocolHandler.create(ProtocolHandler.java:260)                                                      
. . .

So I'm guessing I need to change the class given in the protocol clause. 
To what?

--
JHHL


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by "James H. H. Lampert" <ja...@touchtonecorp.com.INVALID>.
On 3/3/23 9:51 AM, Mark Thomas wrote:
> Yes.

Thanks. That simplifies things.

--
JHHL

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Connector definitions, Re: Tomcat 8 impending EOL -- what's the minimum Java for Tomcat 9?

Posted by Mark Thomas <ma...@apache.org>.
On 03/03/2023 17:44, James H. H. Lampert wrote:
> On 3/2/23 3:50 PM, jonmcalexander@wellsfargo.com.INVALID wrote:
>> Yes, Tomcat9 runs under Java8 and above.
> 
> Ok, another question: will Tomcat 9 accept a "legacy" connector 
> definition in the form as shown below?
> 
>   <Connector port="443" 
> protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" 
> SSLEnabled="true" scheme="https" secure="true" 
> keystoreFile="/foo/tomcat/bar.ks" keyAlias="baz" clientAuth="false" 
> sslProtocol="TLS" />

Yes.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org