Ruslan Hryn created CXF-8943: -------------------------------- Summary: Adding a listener for Container events is not working on Jetty 9 Key: CXF-8943 URL: https://issues.apache.org/jira/browse/CXF-8943 Project: CXF Issue Type: Bug Affects Versions: 3.6.2 Environment: Spring Boot 2.7 Camel 3.21.1 CXF 3.6.2 Reporter: Ruslan Hryn Attachments: Screenshot from 2023-10-10 20-01-23.png
Adding a listener for Container events is not working on Jetty 9 For example. Add listener using JettyHTTPServerEngine {code:java} @Bean public JettyHTTPServerEngineFactory jettyHTTPServerEngineFactory() { JettyHTTPServerEngineFactory engineFactory = new JettyHTTPServerEngineFactory(); JettyHTTPServerEngine engine = new JettyHTTPServerEngine( new Container.Listener() { @Override public void beanAdded(Container parent, Object child) { // } @Override public void beanRemoved(Container parent, Object child) { // } }, "localhost", 8080); engineFactory.setEnginesList(Collections.singletonList(engine)); return engineFactory; }{code} The JettyHTTPServerEngine can't add this listener after the start of the server because Server class does not implement addEventListener method directly, this method comes from the parent class. Therefore ReflectionUtil.getDeclaredMethods(container.getClass()) does not return the method addEventListener because this call does not consider methods from parent classes. The issue was caused by this commit [https://github.com/apache/cxf/commit/2ff109358027653d1afd6f252cf6f25048cafbb9] !Screenshot from 2023-10-10 20-01-23.png! -- This message was sent by Atlassian Jira (v8.20.10#820010)