我们想从WebLogic 12.1.3迁移到WebLogic 12.2.1.3。我们的应用在12.1.3上运行良好。但是在移至12.2.1.3。的每个页面后,我们将面临java.lang.IllegalStateException。
尽管应用程序似乎可以正常运行,但是每次单击某些链接并在控制台中访问任何页面结果到IllegalStateException都可以,
这是我们的weblogic.xml:
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd
http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.9/weblogic-web-app.xsd">
<wls:weblogic-version>12.2.1.3</wls:weblogic-version>
<wls:context-root>savet-jsf</wls:context-root>
faces-config.xml标头:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_2.xsd">
<managed-bean>
...
和web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
version="3.0">
<display-name>SAVE_T_JSF</display-name>
<description>SAVE T JSF</description>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>picloader</servlet-name>
<servlet-class>com.tsystems.savet.helper.PicLoader</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>picloader</servlet-name>
<url-pattern>/pic/*</url-pattern>
</servlet-mapping>
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/Redirect.xhtml</location>
</error-page>
<error-page>
<exception-type>java.lang.IllegalStateException</exception-type>
<location>/Redirect.xhtml</location>
</error-page>
<welcome-file-list>
<welcome-file>faces/Willkommen.xhtml</welcome-file>
</welcome-file-list>
<context-param>
<param-name>org.richfaces.skin</param-name>
<param-value>cicd</param-value>
</context-param>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>aristo</param-value>
</context-param>
<!-- Erweiterte Development Tools für Facelets - Fehlermeldungen und Konsorten -->
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<!-- Kommentare (wie dieses hier) in xhtml werden vom Faces Servlet ignoriert. -->
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<!-- Wird für ECSS (extended CSS) gebraucht -->
<mime-mapping>
<extension>ecss</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xhtml</extension>
<mime-type>application/xhtml+xml</mime-type>
</mime-mapping>
<!-- Richfaces issue. RF-11103 -->
<context-param>
<param-name>org.richfaces.enableControlSkinning</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<!-- SAVE-T Taglib (Diagramme u Co.) -->
<context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/savet-taglib.xml; /WEB-INF/functions.taglib.xml</param-value>
</context-param>
<!-- Listener, damit die statischen Enum Konstanten in SAVE-T richtig initialisiert
werden -->
<listener>
<listener-class>com.tsystems.helper.listener.SaveTServletContextListener</listener-class>
</listener>
<listener>
<listener-class>com.tsystems.savet.common.session.SaveTSessionHolder</listener-class>
</listener>
<!-- Extended Skinning level <context-param> <param-name>org.richfaces.CONTROL_SKINNING_LEVEL</param-name>
<param-value>extended</param-value> </context-param> <context-param> <param-name>org.richfaces.CONTROL_SKINNINGL</param-name>
<param-value>enable</param-value> </context-param> <context-param> <param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
<param-value>enable</param-value> </context-param> -->
异常看起来像
дек 27, 2018 6:47:21 PM org.primefaces.config.WebXmlParser toDocument
WARNING: DocumentBuilderFactory#setFeature not implemented. Skipping...
<дек 27, 2018 6:47:21,843 PM MSK> <Warning>
<org.primefaces.config.WebXmlParser> <BEA-000000>
<DocumentBuilderFactory#setFeature not implemented. Skipping...>
<дек 27, 2018 6:47:22,148 PM MSK> <Error> <HTTP> <BEA-101020>
<[ServletContext@2037446797[app:SAVE-T module:savet-jsf path:null spec-version:3.1]] Servlet failed with an Exception
java.lang.IllegalStateException
at com.sun.faces.context.FacesContextImpl.assertNotReleased(FacesContextImpl.java:712)
at com.sun.faces.context.FacesContextImpl.getAttributes(FacesContextImpl.java:239)
at org.richfaces.context.ExtendedPartialViewContext.setInstance(ExtendedPartialViewContext.java:55)
at org.richfaces.context.ExtendedPartialViewContext.release(ExtendedPartialViewContext.java:64)
at org.richfaces.context.ExtendedPartialViewContextImpl.release(ExtendedPartialViewContextImpl.java:424)
Truncated. see log file for complete stacktrace
进入每一页时可能会出现一次或多次。 我试图将标头中的web-app版本更改为3.1,在WebLogic控制台中安装了primefaces和javax.faces库。但这无济于事。