tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maxim Solodovnik <solomax...@gmail.com>
Subject Re: Start embedded Tomcat 9.0.1 server from java code
Date Wed, 08 Nov 2017 04:30:22 GMT
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?


On Wed, Nov 8, 2017 at 12:07 AM, Tobias Soloschenko <
tobiassoloschenko@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 <solomax666@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 <markt@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 <solomax666@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 <
> solomax666@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 <markt@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-unsubscribe@tomcat.apache.org
> >>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> WBR
> >>>>> Maxim aka solomax
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> WBR
> >>>> Maxim aka solomax
> >>>>
> >>>
> >>>
> >>>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> >> For additional commands, e-mail: users-help@tomcat.apache.org
> >>
> >>
> >
> >
> > --
> > WBR
> > Maxim aka solomax
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>


-- 
WBR
Maxim aka solomax

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message