You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "willem Jiang (JIRA)" <ji...@apache.org> on 2007/08/12 16:31:43 UTC
[jira] Assigned: (CXF-906) ClassCastException in
CXFServlet.loadSpringBus when context initialization fails
[ https://issues.apache.org/jira/browse/CXF-906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
willem Jiang reassigned CXF-906:
--------------------------------
Assignee: willem Jiang
> ClassCastException in CXFServlet.loadSpringBus when context initialization fails
> --------------------------------------------------------------------------------
>
> Key: CXF-906
> URL: https://issues.apache.org/jira/browse/CXF-906
> Project: CXF
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0
> Environment: using Spring Framework 2.1 m2
> Reporter: Karl Goldstein
> Assignee: willem Jiang
> Priority: Minor
>
> CXFServlet.java line 136 obtains the Spring application context from the servlet context:
> if (ctx == null) {
> ctx = (ApplicationContext)svCtx
> .getAttribute("org.springframework.web.context.WebApplicationContext.ROOT");
> }
> If the Spring application context failed to load however, Spring (somewhat inexplicably) sets this attribute to be the exception rather than the context. See org/springframework/web/context/ContextLoader.java line 202:
> catch (RuntimeException ex) {
> logger.error("Context initialization failed", ex);
> servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, ex);
> throw ex;
> }
> To avoid repeated ClassCastExceptions that obscure the underlying problem with the Spring application context, CXFServlet should check the type of the attribute before attempting to cast to ApplicationContext:
> if (ctx == null) {
> Object ctxObject = svCtx
> .getAttribute("org.springframework.web.context.WebApplicationContext.ROOT");
> if (ctxObject instanceof ApplicationContext) {
> ctx = (ApplicationContext) ctxObject;
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.