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
d5c8caab
Commit
d5c8caab
authored
Dec 20, 2018
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '1.5.x' into 2.0.x
parents
86280f1d
aa9945c8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
37 additions
and
45 deletions
+37
-45
pom.xml
spring-boot-project/spring-boot-dependencies/pom.xml
+1
-1
JettyWebServer.java
...ringframework/boot/web/embedded/jetty/JettyWebServer.java
+14
-2
ServletContextInitializerConfiguration.java
...mbedded/jetty/ServletContextInitializerConfiguration.java
+22
-42
No files found.
spring-boot-project/spring-boot-dependencies/pom.xml
View file @
d5c8caab
...
...
@@ -99,7 +99,7 @@
<jedis.version>
2.9.1
</jedis.version>
<jersey.version>
2.26
</jersey.version>
<jest.version>
5.3.4
</jest.version>
<jetty.version>
9.4.1
2.v20180830
</jetty.version>
<jetty.version>
9.4.1
4.v20181114
</jetty.version>
<jetty-jsp.version>
2.2.0.v201112011158
</jetty-jsp.version>
<jetty-el.version>
8.5.35.1
</jetty-el.version>
<jmustache.version>
1.14
</jmustache.version>
...
...
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/jetty/JettyWebServer.java
View file @
d5c8caab
...
...
@@ -16,6 +16,7 @@
package
org
.
springframework
.
boot
.
web
.
embedded
.
jetty
;
import
java.io.IOException
;
import
java.net.BindException
;
import
java.util.Arrays
;
import
java.util.List
;
...
...
@@ -145,8 +146,9 @@ public class JettyWebServer implements WebServer {
try
{
connector
.
start
();
}
catch
(
BindException
ex
)
{
if
(
connector
instanceof
NetworkConnector
)
{
catch
(
IOException
ex
)
{
if
(
connector
instanceof
NetworkConnector
&&
findBindException
(
ex
)
!=
null
)
{
throw
new
PortInUseException
(
((
NetworkConnector
)
connector
).
getPort
());
}
...
...
@@ -169,6 +171,16 @@ public class JettyWebServer implements WebServer {
}
}
private
BindException
findBindException
(
Throwable
ex
)
{
if
(
ex
==
null
)
{
return
null
;
}
if
(
ex
instanceof
BindException
)
{
return
(
BindException
)
ex
;
}
return
findBindException
(
ex
.
getCause
());
}
private
String
getActualPortsDescription
()
{
StringBuilder
ports
=
new
StringBuilder
();
for
(
Connector
connector
:
this
.
server
.
getConnectors
())
{
...
...
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/jetty/ServletContextInitializerConfiguration.java
View file @
d5c8caab
...
...
@@ -18,7 +18,6 @@ package org.springframework.boot.web.embedded.jetty;
import
javax.servlet.ServletException
;
import
org.eclipse.jetty.util.component.AbstractLifeCycle
;
import
org.eclipse.jetty.webapp.AbstractConfiguration
;
import
org.eclipse.jetty.webapp.Configuration
;
import
org.eclipse.jetty.webapp.WebAppContext
;
...
...
@@ -50,54 +49,35 @@ public class ServletContextInitializerConfiguration extends AbstractConfiguratio
@Override
public
void
configure
(
WebAppContext
context
)
throws
Exception
{
context
.
addBean
(
new
Initializer
(
context
),
true
);
}
/**
* Jetty {@link AbstractLifeCycle} to call the {@link ServletContextInitializer
* ServletContextInitializers}.
*/
private
class
Initializer
extends
AbstractLifeCycle
{
private
final
WebAppContext
context
;
Initializer
(
WebAppContext
context
)
{
this
.
context
=
context
;
ClassLoader
classLoader
=
Thread
.
currentThread
().
getContextClassLoader
();
Thread
.
currentThread
().
setContextClassLoader
(
context
.
getClassLoader
());
try
{
callInitializers
(
context
);
}
@Override
protected
void
doStart
()
throws
Exception
{
ClassLoader
classLoader
=
Thread
.
currentThread
().
getContextClassLoader
();
Thread
.
currentThread
().
setContextClassLoader
(
this
.
context
.
getClassLoader
());
try
{
callInitializers
();
}
finally
{
Thread
.
currentThread
().
setContextClassLoader
(
classLoader
);
}
finally
{
Thread
.
currentThread
().
setContextClassLoader
(
classLoader
);
}
}
private
void
callInitializers
()
throws
ServletException
{
try
{
setExtendedListenerTypes
(
true
);
for
(
ServletContextInitializer
initializer
:
ServletContextInitializerConfiguration
.
this
.
initializers
)
{
initializer
.
onStartup
(
this
.
context
.
getServletContext
());
}
}
finally
{
setExtendedListenerTypes
(
false
);
private
void
callInitializers
(
WebAppContext
context
)
throws
ServletException
{
try
{
setExtendedListenerTypes
(
context
,
true
);
for
(
ServletContextInitializer
initializer
:
this
.
initializers
)
{
initializer
.
onStartup
(
context
.
getServletContext
());
}
}
private
void
setExtendedListenerTypes
(
boolean
extended
)
{
try
{
this
.
context
.
getServletContext
().
setExtendedListenerTypes
(
extended
);
}
catch
(
NoSuchMethodError
ex
)
{
// Not available on Jetty 8
}
finally
{
setExtendedListenerTypes
(
context
,
false
);
}
}
private
void
setExtendedListenerTypes
(
WebAppContext
context
,
boolean
extended
)
{
try
{
context
.
getServletContext
().
setExtendedListenerTypes
(
extended
);
}
catch
(
NoSuchMethodError
ex
)
{
// Not available on Jetty 8
}
}
}
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