| ================================================================================ |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ================================================================================ |
| |
| Notes of things to consider for the next major Tomcat release (9.0.x) |
| |
| 1. DONE. |
| Fix Java 8 Javadoc warnings. |
| |
| 2. DONE. |
| Remove BIO AJP and HTTP connector. |
| |
| 3. DONE. |
| Remove Comet support. |
| |
| 4. DONE. |
| Refactor the connectors to minimise code duplication. |
| - All implementation specific per connector code -> Endpoint |
| - All implementation specific per connection code -> SocketWrapper |
| |
| 5. DONE |
| SNI support for JSSE. |
| |
| 6. See what Java 8 language features we want to use. |
| |
| 7. Connector refactoring required for HTTP/2 APIs that might be exposed in |
| the Servlet API. |
| |
| 8. Keep an eye on the other Java EE 8 EGs (no sign of any movement apart |
| from the Servlet EG so far). |
| |
| 9. DONE |
| Refactor WebSocket I/O to go directly to Tomcat's internals rather than via |
| the Servlet API. |
| |
| 10. Remove the use of system properties to control configuration wherever |
| possible. |
| |
| 11. Reduce instances of setters and getters for the same property existing on an |
| object and its parent. This may require new objects to be exposed via JMX. |
| |
| 12. Consider wrapping the SocketWrapper with a facade to detect / prevent |
| components retaining references longer than they should. |
| |
| 13. Asynchronous NIO2 styled alternate HTTP/2 implementation. Frame parsing logic |
| would be in completion handlers. |