Thanks for the clarifications! I'll update my code On Wed, Nov 8, 2017 at 1:49 PM, Rémy Maucherat <r...@apache.org> wrote:
> On Wed, Nov 8, 2017 at 5:30 AM, Maxim Solodovnik <solomax...@gmail.com> > wrote: > > > OK :) > > I finally found the difference :))) > > > > Tomcat.java 8.5.23: > > public void start() throws LifecycleException { > > getServer(); > > getConnector(); > > server.start(); > > } > > > > Tomcat.java 9.0.1: > > public void start() throws LifecycleException { > > getServer(); > > server.start(); > > } > > > > This is why Tomcat 9.0.2 has no connectors .... > > Is it bug or feature? > > > > The automatic connector creation, among other tings, was conflicting with > other more sophisticated uses so it was refactored. It was not possible to > start Tomcat without a connector so that capability was added in Tomcat 9. > If you want to get a default connector, you have to call getConnector > yourself. > BZ60297, BZ60368, then a Tomcat 9 specific change. > > Rémy > > > > > > > On Wed, Nov 8, 2017 at 12:07 AM, Tobias Soloschenko < > > tobiassolosche...@googlemail.com> wrote: > > > > > Hi Maxim, > > > > > > same for me I just created a simple setup like this: > > > > > > String baseDir ="."; > > > String webappDirLocation = "src/main/webapp/"; > > > String webxmlDirLocation = "src/main/webapp/WEB-INF/web.xml"; > > > Tomcat tomcat = new Tomcat(); > > > tomcat.setPort(8080); > > > tomcat.setBaseDir(baseDir); > > > tomcat.getHost().setAppBase(baseDir); > > > tomcat.getHost().setDeployOnStartup(true); > > > tomcat.getHost().setAutoDeploy(true); > > > tomcat.enableNaming(); > > > StandardContext ctx = (StandardContext) > > > tomcat.addWebapp("/project", new File(webappDirLocation). > > > getAbsolutePath()); > > > File additionWebInfClasses = new File("target/classes"); > > > WebResourceRoot resources = new StandardRoot(ctx); > > > resources.addPreResources(new DirResourceSet(resources, > > > "/WEB-INF/classes", > > > additionWebInfClasses.getAbsolutePath(), "/")); > > > ctx.setResources(resources); > > > ctx.setDefaultWebXml(new File(webxmlDirLocation). > > > getAbsolutePath()); > > > tomcat.start(); > > > tomcat.getServer().await(); > > > > > > I just placed in a Servlet into my classpath and applied the mapping in > > > the web.xml - with the dependencies of tomcat-embed-core and > > > tomcat-embed-jasper of version 9.0.1 it is not working and with 8.5.23 > it > > > does. > > > > > > Here is the log of both. > > > > > > 8.5.23 > > > > > > Nov. 07, 2017 6:02:44 NACHM. org.apache.coyote.AbstractProtocol init > > > INFORMATION: Initializing ProtocolHandler ["http-nio-8080"] > > > Nov. 07, 2017 6:02:44 NACHM. org.apache.tomcat.util.net. > NioSelectorPool > > > getSharedSelector > > > INFORMATION: Using a shared selector for servlet write/read > > > Nov. 07, 2017 6:02:44 NACHM. org.apache.catalina.core.StandardService > > > startInternal > > > INFORMATION: Starting service [Tomcat] > > > Nov. 07, 2017 6:02:44 NACHM. org.apache.catalina.core.StandardEngine > > > startInternal > > > INFORMATION: Starting Servlet Engine: Apache Tomcat/8.5.23 > > > Nov. 07, 2017 6:02:44 NACHM. org.apache.catalina.startup.ContextConfig > > > getDefaultWebXmlFragment > > > INFORMATION: No global web.xml found > > > Nov. 07, 2017 6:02:45 NACHM. org.apache.coyote.AbstractProtocol start > > > INFORMATION: Starting ProtocolHandler ["http-nio-8080“] > > > > > > 9.0.1 > > > > > > Nov. 07, 2017 6:06:56 NACHM. org.apache.catalina.core.StandardService > > > startInternal > > > INFORMATION: Starting service [Tomcat] > > > Nov. 07, 2017 6:06:56 NACHM. org.apache.catalina.core.StandardEngine > > > startInternal > > > INFORMATION: Starting Servlet Engine: Apache Tomcat/9.0.1 > > > Nov. 07, 2017 6:06:56 NACHM. org.apache.catalina.startup.ContextConfig > > > getDefaultWebXmlFragment > > > INFORMATION: No global web.xml found > > > > > > kind regards > > > > > > Tobias > > > > > > > Am 07.11.2017 um 15:56 schrieb Maxim Solodovnik < > solomax...@gmail.com > > >: > > > > > > > > Thanks for the hints :) > > > > > > > > I have created sample project: https://github.com/solomax/ > > > tomcat-from-java > > > > > > > > I have compared detailed logs. > > > > > > > > Following lines appears in logs while Tomcat8 is used > > > > Nov 07, 2017 9:1 PM org.apache.catalina.util.LifecycleBase > > > > setStateInternal > > > > FINE: Setting state for [Connector[HTTP/1.1-8080]] to > > > > [INITIALIZING] > > > > Nov 07, 2017 9:1 PM org.apache.tomcat.util.modeler.Registry > > > > registerComponent > > > > FINE: Managed= Tomcat:type=Connector,port=8080 > > > > > > > > These lines are missing while Tomcat9 is used > > > > > > > > Maybe you can tell me why? > > > > > > > > On Mon, Nov 6, 2017 at 7:55 PM, Mark Thomas <ma...@apache.org> > wrote: > > > > > > > >> On 04/11/17 15:25, Maxim Solodovnik wrote: > > > >>> Maybe I can set breakpoint somewhere? and check what is wrong? > > > >>> Could you point me to the correct class? > > > >> > > > >> No idea where to look at this point. I'd probably start with the > > start() > > > >> method and go from there. > > > >> > > > >> Maybe try turning on debug logging? > > > >> > > > >> Mark > > > >> > > > >> > > > >>> > > > >>> On Fri, Nov 3, 2017 at 5:26 PM, Maxim Solodovnik < > > solomax...@gmail.com > > > > > > > >>> wrote: > > > >>> > > > >>>> I'm OK to add missing code to my tests, > > > >>>> but I'm not sure what need to be added :( > > > >>>> > > > >>>> On Fri, Nov 3, 2017 at 3:24 PM, Maxim Solodovnik < > > > solomax...@gmail.com> > > > >>>> wrote: > > > >>>> > > > >>>>> I see no errors, > > > >>>>> Using debugger I can see tomcat.server.state == STARTED > > > >>>>> > > > >>>>> Everything works as expected if I'm switching back to 8.5.23 > > without > > > >> any > > > >>>>> other changes > > > >>>>> > > > >>>>> nestat reports: > > > >>>>> *netstat -an |grep 8080* > > > >>>>> tcp6 0 0 :::8080 :::* > > > >>>>> LISTEN > > > >>>>> > > > >>>>> for 8.5.23 > > > >>>>> > > > >>>>> > > > >>>>> On Fri, Nov 3, 2017 at 3:08 PM, Mark Thomas <ma...@apache.org> > > > wrote: > > > >>>>> > > > >>>>>> On 03/11/17 04:51, Maxim Solodovnik wrote: > > > >>>>>>> Hello, > > > >>>>>>> > > > >>>>>>> I recently migrated from Tomcat 8.5.23 to Tomcat 9.0.1 > > > >>>>>>> Everything works as expected except tests :( > > > >>>>>>> > > > >>>>>>> I'm using following code to start embedded Tomcat and test CXF > > web > > > >>>>>> services [1]. > > > >>>>>>> With Tomcat 9.0.1 tests failed, netstat -an displays port 8080 > is > > > not > > > >>>>>>> being listened > > > >>>>>>> What need to be changed? > > > >>>>>> > > > >>>>>> If Tomcat isn't listening then there should be an exception or > > error > > > >>>>>> message reported at some point. Do you see anything in the logs? > > > >>>>>> > > > >>>>>> Mark > > > >>>>>> > > > >>>>>> > > > >>>>>>> > > > >>>>>>> > > > >>>>>>> [1] https://github.com/apache/openmeetings/blob/master/ > openmeeti > > > >>>>>> ngs-web/src/test/java/org/apache/openmeetings/webservice/ > > > >>>>>> AbstractWebServiceTest.java#L98 > > > >>>>>>> > > > >>>>>> > > > >>>>>> > > > >>>>>> ------------------------------------------------------------ > > > --------- > > > >>>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > > >>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org > > > >>>>>> > > > >>>>>> > > > >>>>> > > > >>>>> > > > >>>>> -- > > > >>>>> WBR > > > >>>>> Maxim aka solomax > > > >>>>> > > > >>>> > > > >>>> > > > >>>> > > > >>>> -- > > > >>>> WBR > > > >>>> Maxim aka solomax > > > >>>> > > > >>> > > > >>> > > > >>> > > > >> > > > >> > > > >> ------------------------------------------------------------ > --------- > > > >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > > >> For additional commands, e-mail: users-h...@tomcat.apache.org > > > >> > > > >> > > > > > > > > > > > > -- > > > > WBR > > > > Maxim aka solomax > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > > > > > > > > -- > > WBR > > Maxim aka solomax > > > -- WBR Maxim aka solomax