|
37 | 37 | import javax.naming.Reference; |
38 | 38 | import javax.naming.StringRefAddr; |
39 | 39 |
|
| 40 | +import org.apache.catalina.Container; |
40 | 41 | import org.apache.catalina.Context; |
41 | | -import org.apache.catalina.Engine; |
42 | 42 | import org.apache.catalina.Host; |
43 | 43 | import org.apache.catalina.Lifecycle; |
44 | 44 | import org.apache.catalina.LifecycleEvent; |
45 | 45 | import org.apache.catalina.LifecycleListener; |
46 | 46 | import org.apache.catalina.Server; |
| 47 | +import org.apache.catalina.Service; |
47 | 48 | import org.apache.catalina.deploy.NamingResourcesImpl; |
48 | 49 | import org.apache.juli.logging.Log; |
49 | 50 | import org.apache.juli.logging.LogFactory; |
@@ -1083,11 +1084,13 @@ public void addResourceLink(ContextResourceLink resourceLink) { |
1083 | 1084 |
|
1084 | 1085 | private javax.naming.Context getGlobalNamingContext() { |
1085 | 1086 | if (container instanceof Context) { |
1086 | | - Engine e = (Engine) ((Context) container).getParent().getParent(); |
1087 | | - Server s = e.getService().getServer(); |
1088 | | - // When the Service is an embedded Service, there is no Server |
1089 | | - if (s != null) { |
1090 | | - return s.getGlobalNamingContext(); |
| 1087 | + Service service = Container.getService((Context) container); |
| 1088 | + if (service != null) { |
| 1089 | + Server s = service.getServer(); |
| 1090 | + // When the Service is an embedded Service, there is no Server |
| 1091 | + if (s != null) { |
| 1092 | + return s.getGlobalNamingContext(); |
| 1093 | + } |
1091 | 1094 | } |
1092 | 1095 | } |
1093 | 1096 | return null; |
|
0 commit comments