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:50 GMT
.... This is why Tomcat 9.0.1 has no connectors ....

sorry for the typo

On Wed, Nov 8, 2017 at 11:30 AM, Maxim Solodovnik <solomax666@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?
>
>
> 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).getAbs
>> olutePath());
>>         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).getAbs
>> olutePath());
>>         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/tom
>> cat-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
>



-- 
WBR
Maxim aka solomax

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