Ananga Mohan Bera created WW-4868:
-------------------------------------
Summary: createInstance method signature change of
TextProviderFactory from merged xwork-core code inside struts2-core-2.5.13.jar
which was present with xwork-core jar
Key: WW-4868
URL: https://issues.apache.org/jira/browse/WW-4868
Project: Struts 2
Issue Type: Bug
Components: Core
Affects Versions: 2.5.13, 2.5.12
Reporter: Ananga Mohan Bera
Priority: Critical
xwork-core-2.3.32 had these createInstance methods.
public TextProvider createInstance(Class clazz, LocaleProvider provider) {
TextProvider instance = getTextProvider(clazz, provider);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider)instance).setClazz(clazz);
((ResourceBundleTextProvider)instance).setLocaleProvider(provider);
}
return instance;
}
public TextProvider createInstance(ResourceBundle bundle, LocaleProvider
provider) {
TextProvider instance = getTextProvider(bundle, provider);
if (instance instanceof ResourceBundleTextProvider) {
((ResourceBundleTextProvider)instance).setBundle(bundle);
((ResourceBundleTextProvider)instance).setLocaleProvider(provider);
}
return instance;
}
struts2-core-2.5.13.jar has merged the xwork-core code and there only these
methods are available:
public abstract TextProvider createInstance(Class paramClass);
public abstract TextProvider createInstance(ResourceBundle
paramResourceBundle);
As We have called the createInstance method from many places of Our
Application, So migration to struts-2.5.13 is creating a problem. We are having
code like:
private final transient TextProvider textProvider = new
TextProviderFactory().createInstance(getClass(), this);
method signature should not be changed which has huge effect rather there
should be overloaded method with merged xwork-core code inside
struts2-core-2.5.13.jar.
We are getting such error:
2017-10-06|16:53:23,965|ERROR||[ACTIVE] ExecuteThread: '0' for queue:
'weblogic.kernel.Default
(self-tuning)'|com.tcs.bancs.filter.BancsServletFilter:210|:G:dl3xbKkVBfwQOly9zGyiU1g_MDVUFEoaUV5nTc3nKJP-btoWLMoK!183988368!1507288983829:0:0:0:0:0:0:0:1:
|Validation exception |
javax.servlet.ServletException: java.lang.InstantiationError:
com.opensymphony.xwork2.TextProviderFactory
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:387)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:483)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:372)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:587)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:481)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
org.springframework.security.web.firewall.RequestWrapper$FirewalledRequestAwareRequestDispatcher.include(RequestWrapper.java:136)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
com.tcs.bfsarch.security.action.AuthSuccessHandler.onAuthenticationSuccess(AuthSuccessHandler.java:211)
~[coreweb.jar:?]
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.successfulAuthentication(AbstractAuthenticationProcessingFilter.java:331)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.successfulAuthentication(AbstractAuthenticationProcessingFilter.java:298)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:235)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
com.tcs.mastercraft.userlib.AccessVerifierFilter.doFilter(AccessVerifierFilter.java:78)
~[coreweb.jar:?]
at
com.tcs.bancs.filter.BancsServletFilter.doFilter(BancsServletFilter.java:208)
[coreweb.jar:?]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
[weblogic.server.merged.jar:12.1.3.0.0]
at
com.tcs.bfsarch.filter.session.SessionSyncFilter.doFilter(SessionSyncFilter.java:38)
[coreweb.jar:?]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
[com.oracle.css.weblogic.security.wls_7.1.0.0.jar:CSS 7.1 0.0]
at
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
[weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
[weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
[weblogic.server.merged.jar:12.1.3.0.0]
Caused by: java.lang.InstantiationError:
com.opensymphony.xwork2.TextProviderFactory
at
com.tcs.bancs.repackaged.struts.taglib.TagUtils.<init>(TagUtils.java:357)
~[mc.jar:?]
at
com.tcs.bancs.repackaged.struts.taglib.TagUtils.<clinit>(TagUtils.java:61)
~[mc.jar:?]
at
com.tcs.bfsarch.tags.eh.bfsMessagesTag.doEndTag(bfsMessagesTag.java:195)
~[coreweb.jar:?]
at
jsp_servlet._common.__loginapimessages._jsp__tag0(__loginapimessages.java:145)
~[__loginapimessages.class:?]
at
jsp_servlet._common.__loginapimessages._jspService(__loginapimessages.java:96)
~[__loginapimessages.class:?]
at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
~[weblogic.server.merged.jar:12.1.3.0.0]
... 43 more
2017-10-06|16:53:38,620|ERROR||[ACTIVE] ExecuteThread: '0' for queue:
'weblogic.kernel.Default
(self-tuning)'|com.tcs.bancs.filter.BancsServletFilter:210|:G:dl3xbKkVBfwQOly9zGyiU1g_MDVUFEoaUV5nTc3nKJP-btoWLMoK!183988368!1507288983829:0:0:0:0:0:0:0:1:
|Validation exception |
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not
initialize class com.tcs.bancs.repackaged.struts.taglib.TagUtils
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:387)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:483)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:372)
~[weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
com.tcs.bancs.filter.BancsServletFilter.enableGZIP(BancsServletFilter.java:414)
~[coreweb.jar:?]
at
com.tcs.bancs.filter.BancsServletFilter.doFilter(BancsServletFilter.java:170)
~[coreweb.jar:?]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:588)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:273)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
org.springframework.security.web.firewall.RequestWrapper$FirewalledRequestAwareRequestDispatcher.forward(RequestWrapper.java:132)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
com.tcs.bfsarch.security.action.AuthSuccessHandler.onAuthenticationSuccess(AuthSuccessHandler.java:502)
~[coreweb.jar:?]
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.successfulAuthentication(AbstractAuthenticationProcessingFilter.java:331)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.successfulAuthentication(AbstractAuthenticationProcessingFilter.java:298)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:235)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
~[spring-security-web-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108)
~[spring-web-4.0.2.RELEASE.jar:4.0.2.RELEASE]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
com.tcs.mastercraft.userlib.AccessVerifierFilter.doFilter(AccessVerifierFilter.java:78)
~[coreweb.jar:?]
at
com.tcs.bancs.filter.BancsServletFilter.doFilter(BancsServletFilter.java:208)
[coreweb.jar:?]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
[weblogic.server.merged.jar:12.1.3.0.0]
at
com.tcs.bfsarch.filter.session.SessionSyncFilter.doFilter(SessionSyncFilter.java:38)
[coreweb.jar:?]
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
[com.oracle.css.weblogic.security.wls_7.1.0.0.jar:CSS 7.1 0.0]
at
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
[weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
[weblogic.server.merged.jar:12.1.3.0.0]
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
[weblogic.server.merged.jar:12.1.3.0.0]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class
com.tcs.bancs.repackaged.struts.taglib.TagUtils
at
com.tcs.mastercraft.taglib.MCJSLoadingTag.doStartTag(MCJSLoadingTag.java:61)
~[coreweb.jar:?]
at jsp_servlet._common.__mainframe._jsp__tag99(__mainframe.java:5928)
~[__mainframe.class:?]
at jsp_servlet._common.__mainframe._jspService(__mainframe.java:3556)
~[__mainframe.class:?]
at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
~[weblogic.server.merged.jar:12.1.3.0.0]
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
~[weblogic.server.merged.jar:12.1.3.0.0]
... 47 more
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)