Skip to content
This repository was archived by the owner on Nov 15, 2022. It is now read-only.

Commit 39c5c6c

Browse files
Backporting to 4.1.2 - GLASSFISH-21642 access-logging-bad-requests web devtests fails in Hudson
svn path=/branches/4.1.2/; revision=64499 Former-commit-id: dfa447c8b6a663026d5eaac18366c34726814e01
1 parent 4fe568c commit 39c5c6c

File tree

1 file changed

+49
-25
lines changed

1 file changed

+49
-25
lines changed

appserver/web/web-glue/src/main/java/com/sun/enterprise/web/VirtualServer.java

Lines changed: 49 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -488,8 +488,6 @@ public VirtualServer() {
488488

489489
private ActionReport report = null;
490490

491-
private HttpProbeImpl httpProbe = null;
492-
493491
// ------------------------------------------------------------- Properties
494492

495493
/**
@@ -1836,22 +1834,7 @@ void configureRemoteHostFilterValve(String allow, String deny) {
18361834

18371835
void addProbes(boolean globalAccessLoggingEnabled) {
18381836

1839-
List<String> listenerList = StringUtils.parseStringList(
1840-
vsBean.getNetworkListeners(), ",");
1841-
String[] listeners = (listenerList != null) ?
1842-
listenerList.toArray(new String[listenerList.size()]) :
1843-
new String[0];
1844-
List<NetworkListener> networkListeners = new ArrayList<NetworkListener>();
1845-
1846-
for (String listener : listeners) {
1847-
for (NetworkListener networkListener :
1848-
serverConfig.getNetworkConfig().getNetworkListeners().getNetworkListener()) {
1849-
if (networkListener.getName().equals(listener)) {
1850-
networkListeners.add(networkListener);
1851-
}
1852-
}
1853-
}
1854-
for (final NetworkListener listener : networkListeners) {
1837+
for (final NetworkListener listener : getGrizzlyNetworkListeners()) {
18551838
try {
18561839
final GrizzlyProxy proxy = (GrizzlyProxy) grizzlyService.lookupNetworkProxy(listener);
18571840
if (proxy != null) {
@@ -1866,7 +1849,7 @@ void addProbes(boolean globalAccessLoggingEnabled) {
18661849
} else {
18671850
for (HttpCodecFilter codecFilter : codecFilters) {
18681851
if (codecFilter.getMonitoringConfig().getProbes().length == 0) {
1869-
httpProbe = new HttpProbeImpl(listener, isAccessLoggingEnabled(globalAccessLoggingEnabled));
1852+
HttpProbeImpl httpProbe = new HttpProbeImpl(listener, isAccessLoggingEnabled(globalAccessLoggingEnabled));
18701853
codecFilter.getMonitoringConfig().addProbes(httpProbe);
18711854
}
18721855
}
@@ -1946,8 +1929,9 @@ void reconfigureAccessLog(
19461929
webcontainerFeatureFactory);
19471930
if (restart) {
19481931
accessLogValve.start();
1949-
if (httpProbe != null)
1950-
httpProbe.enableAccessLogging();
1932+
for (HttpProbeImpl p : getHttpProbeImpl()) {
1933+
p.enableAccessLogging();
1934+
}
19511935
}
19521936
} catch (LifecycleException le) {
19531937
_logger.log(Level.SEVERE, UNABLE_RECONFIGURE_ACCESS_LOG, le);
@@ -1975,8 +1959,9 @@ void enableAccessLogging() {
19751959
accessLogValve.stop();
19761960
}
19771961
accessLogValve.start();
1978-
if (httpProbe != null)
1979-
httpProbe.enableAccessLogging();
1962+
for (HttpProbeImpl p : getHttpProbeImpl()) {
1963+
p.enableAccessLogging();
1964+
}
19801965
} catch (LifecycleException le) {
19811966
_logger.log(Level.SEVERE, UNABLE_RECONFIGURE_ACCESS_LOG, le);
19821967
}
@@ -1989,8 +1974,9 @@ void enableAccessLogging() {
19891974
*/
19901975
void disableAccessLogging() {
19911976
removeValve(accessLogValve);
1992-
if (httpProbe != null)
1993-
httpProbe.disableAccessLogging();
1977+
for (HttpProbeImpl p : getHttpProbeImpl()) {
1978+
p.disableAccessLogging();
1979+
}
19941980
}
19951981

19961982
/**
@@ -2714,8 +2700,46 @@ public void updateWebXml(ContextFacade facade, File file) throws Exception {
27142700
}
27152701
}
27162702

2703+
private List<NetworkListener> getGrizzlyNetworkListeners() {
2704+
List<String> listenerList = StringUtils.parseStringList(vsBean.getNetworkListeners(), ",");
2705+
String[] listeners = (listenerList != null) ? listenerList.toArray(new String[listenerList.size()]) : new String[0];
2706+
List<NetworkListener> networkListeners = new ArrayList<NetworkListener>();
27172707

2708+
for (String listener : listeners) {
2709+
for (NetworkListener networkListener : serverConfig.getNetworkConfig().getNetworkListeners().getNetworkListener()) {
2710+
if (networkListener.getName().equals(listener)) {
2711+
networkListeners.add(networkListener);
2712+
}
2713+
}
2714+
}
27182715

2716+
return networkListeners;
2717+
}
2718+
2719+
private List<HttpProbeImpl> getHttpProbeImpl() {
2720+
List<HttpProbeImpl> httpProbes = new ArrayList<>();
2721+
for (final NetworkListener listener : getGrizzlyNetworkListeners()) {
2722+
final GrizzlyProxy proxy = (GrizzlyProxy) grizzlyService.lookupNetworkProxy(listener);
2723+
if (proxy != null) {
2724+
GenericGrizzlyListener grizzlyListener = (GenericGrizzlyListener) proxy.getUnderlyingListener();
2725+
List<HttpCodecFilter> codecFilters = grizzlyListener.getFilters(HttpCodecFilter.class);
2726+
if (codecFilters != null && !codecFilters.isEmpty()) {
2727+
for (HttpCodecFilter codecFilter : codecFilters) {
2728+
HttpProbe[] probes = codecFilter.getMonitoringConfig().getProbes();
2729+
if (probes != null) {
2730+
for (HttpProbe probe : probes) {
2731+
if (probe instanceof HttpProbeImpl) {
2732+
httpProbes.add((HttpProbeImpl)probe);
2733+
}
2734+
}
2735+
}
2736+
}
2737+
}
2738+
}
2739+
}
2740+
2741+
return httpProbes;
2742+
}
27192743

27202744
// ---------------------------------------------------------- Nested Classes
27212745

0 commit comments

Comments
 (0)