Skip to content

Commit 29d119d

Browse files
authored
Merge pull request #482 from francescomari/fix/jmx-mbean-leak-on-restart
Fix JMX MBean leak during Jetty restart cycle
2 parents 86ac32f + ed7f4af commit 29d119d

4 files changed

Lines changed: 14 additions & 12 deletions

File tree

http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyService.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,12 @@ private void stopJetty()
252252
this.loadBalancerCustomizerTracker = null;
253253
}
254254

255+
if (this.mbeanServerTracker != null)
256+
{
257+
this.mbeanServerTracker.close();
258+
this.mbeanServerTracker = null;
259+
}
260+
255261
try
256262
{
257263
this.server.stop();
@@ -262,12 +268,6 @@ private void stopJetty()
262268
{
263269
SystemLogger.LOGGER.error("Exception while stopping Jetty", e);
264270
}
265-
266-
if (this.mbeanServerTracker != null)
267-
{
268-
this.mbeanServerTracker.close();
269-
this.mbeanServerTracker = null;
270-
}
271271
}
272272
}
273273

http/jetty/src/main/java/org/apache/felix/http/jetty/internal/MBeanServerTracker.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ public void removedService(ServiceReference<MBeanServer> reference, MBeanContain
5959
{
6060
if ( service != null )
6161
{
62+
service.destroy();
6263
this.server.removeEventListener(service);
6364
super.removedService(reference, service);
6465
}

http/jetty12/src/main/java/org/apache/felix/http/jetty/internal/JettyService.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,12 @@ private void stopJetty()
262262
this.loadBalancerCustomizerTracker = null;
263263
}
264264

265+
if (this.mbeanServerTracker != null)
266+
{
267+
this.mbeanServerTracker.close();
268+
this.mbeanServerTracker = null;
269+
}
270+
265271
try
266272
{
267273
this.server.stop();
@@ -272,12 +278,6 @@ private void stopJetty()
272278
{
273279
SystemLogger.LOGGER.error("Exception while stopping Jetty", e);
274280
}
275-
276-
if (this.mbeanServerTracker != null)
277-
{
278-
this.mbeanServerTracker.close();
279-
this.mbeanServerTracker = null;
280-
}
281281
}
282282
}
283283

http/jetty12/src/main/java/org/apache/felix/http/jetty/internal/MBeanServerTracker.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ public void removedService(ServiceReference<MBeanServer> reference, MBeanContain
5959
{
6060
if ( service != null )
6161
{
62+
service.destroy();
6263
this.server.removeEventListener(service);
6364
super.removedService(reference, service);
6465
}

0 commit comments

Comments
 (0)