Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
d857323f
Commit
d857323f
authored
Dec 19, 2014
by
Phillip Webb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve logging of Jetty port(s)
Fixes gh-2194
parent
4e5ac2c1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
41 additions
and
14 deletions
+41
-14
JettyEmbeddedServletContainer.java
...context/embedded/jetty/JettyEmbeddedServletContainer.java
+41
-14
No files found.
spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainer.java
View file @
d857323f
...
...
@@ -16,6 +16,8 @@
package
org
.
springframework
.
boot
.
context
.
embedded
.
jetty
;
import
java.util.List
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.eclipse.jetty.server.Connector
;
...
...
@@ -27,6 +29,7 @@ import org.springframework.boot.context.embedded.EmbeddedServletContainer;
import
org.springframework.boot.context.embedded.EmbeddedServletContainerException
;
import
org.springframework.util.Assert
;
import
org.springframework.util.ReflectionUtils
;
import
org.springframework.util.StringUtils
;
/**
* {@link EmbeddedServletContainer} that can be used to control an embedded Jetty server.
...
...
@@ -40,7 +43,8 @@ import org.springframework.util.ReflectionUtils;
*/
public
class
JettyEmbeddedServletContainer
implements
EmbeddedServletContainer
{
private
final
Log
logger
=
LogFactory
.
getLog
(
JettyEmbeddedServletContainer
.
class
);
private
static
final
Log
logger
=
LogFactory
.
getLog
(
JettyEmbeddedServletContainer
.
class
);
private
final
Server
server
;
...
...
@@ -107,8 +111,9 @@ public class JettyEmbeddedServletContainer implements EmbeddedServletContainer {
Connector
[]
connectors
=
this
.
server
.
getConnectors
();
for
(
Connector
connector
:
connectors
)
{
connector
.
start
();
this
.
logger
.
info
(
"Jetty started on port: "
+
getLocalPort
(
connector
));
}
JettyEmbeddedServletContainer
.
logger
.
info
(
"Jetty started on port(s) "
+
getActualPortsDescription
());
}
catch
(
Exception
ex
)
{
throw
new
EmbeddedServletContainerException
(
...
...
@@ -116,18 +121,13 @@ public class JettyEmbeddedServletContainer implements EmbeddedServletContainer {
}
}
private
void
handleDeferredInitialize
(
Handler
...
handlers
)
throws
Exception
{
for
(
Handler
handler
:
handlers
)
{
if
(
handler
instanceof
JettyEmbeddedWebAppContext
)
{
((
JettyEmbeddedWebAppContext
)
handler
).
deferredInitialize
();
}
else
if
(
handler
instanceof
HandlerWrapper
)
{
handleDeferredInitialize
(((
HandlerWrapper
)
handler
).
getHandler
());
}
else
if
(
handler
instanceof
HandlerCollection
)
{
handleDeferredInitialize
(((
HandlerCollection
)
handler
).
getHandlers
());
}
private
String
getActualPortsDescription
()
{
StringBuilder
ports
=
new
StringBuilder
();
for
(
Connector
connector
:
this
.
server
.
getConnectors
())
{
ports
.
append
(
ports
.
length
()
==
0
?
""
:
", "
);
ports
.
append
(
getLocalPort
(
connector
)
+
getProtocols
(
connector
));
}
return
ports
.
toString
();
}
private
Integer
getLocalPort
(
Connector
connector
)
{
...
...
@@ -138,11 +138,38 @@ public class JettyEmbeddedServletContainer implements EmbeddedServletContainer {
connector
);
}
catch
(
Exception
ex
)
{
this
.
logger
.
info
(
"could not determine port ( "
+
ex
.
getMessage
()
+
")"
);
JettyEmbeddedServletContainer
.
logger
.
info
(
"could not determine port ( "
+
ex
.
getMessage
()
+
")"
);
return
0
;
}
}
private
String
getProtocols
(
Connector
connector
)
{
try
{
List
<
String
>
protocols
=
connector
.
getProtocols
();
return
" ("
+
StringUtils
.
collectionToDelimitedString
(
protocols
,
", "
)
+
")"
;
}
catch
(
NoSuchMethodError
ex
)
{
// Not available with Jetty 8
return
""
;
}
}
private
void
handleDeferredInitialize
(
Handler
...
handlers
)
throws
Exception
{
for
(
Handler
handler
:
handlers
)
{
if
(
handler
instanceof
JettyEmbeddedWebAppContext
)
{
((
JettyEmbeddedWebAppContext
)
handler
).
deferredInitialize
();
}
else
if
(
handler
instanceof
HandlerWrapper
)
{
handleDeferredInitialize
(((
HandlerWrapper
)
handler
).
getHandler
());
}
else
if
(
handler
instanceof
HandlerCollection
)
{
handleDeferredInitialize
(((
HandlerCollection
)
handler
).
getHandlers
());
}
}
}
@Override
public
synchronized
void
stop
()
{
try
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment