Upgrade to Primefaces 6.2, Primeface Extensions6.2.2, Atlantis 1.0.3

nicodemous
Posts: 8
Joined: 25 May 2014, 09:58

23 Mar 2018, 21:03

After upgrade my project to Primefaces 6.2 I am facing those messages:

Code: Select all

2018-03-23 19:38:24,777 WARNING [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 64) JSF1067: Resource /WEB-INF/primefaces-atlantis.taglib.xml specified by the javax.faces.CONFIG_FILES configuration option cannot be found.  The resource will be ignored.
And many of those messages

Code: Select all

2018-03-23 19:42:13,550 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-3) JSF1064: Unable to find or serve resource, theme.css, from library, primefaces-atlantis-blue.
2018-03-23 19:42:13,551 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-3) : java.io.IOException: Broken pipe
        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
        at sun.nio.ch.IOUtil.write(IOUtil.java:51)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
        at org.xnio.nio.NioSocketConduit.write(NioSocketConduit.java:152)
        at io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:598)
        at org.xnio.conduits.AbstractStreamSinkConduit.write(AbstractStreamSinkConduit.java:51)
        at org.xnio.conduits.ConduitStreamSinkChannel.write(ConduitStreamSinkChannel.java:150)
        at io.undertow.channels.DetachableStreamSinkChannel.write(DetachableStreamSinkChannel.java:240)
        at io.undertow.server.HttpServerExchange$WriteDispatchChannel.write(HttpServerExchange.java:2000)
        at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:567)
        at io.undertow.servlet.spec.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:220)
        at java.nio.channels.Channels$WritableByteChannelImpl.write(Channels.java:458)
        at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:358)
        at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:153)
        at org.primefaces.application.resource.PrimeResourceHandler.handleResourceRequest(PrimeResourceHandler.java:87)
        at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:153)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:655)
        at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
        at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
        at org.primefaces.atlantis.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:32)
        at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
        at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
        at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
        at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
        at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
        at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
        at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51)
        at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
        at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
        at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56)
        at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
        at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
        at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
        at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
        at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284)
        at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263)
        at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
        at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174)
        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
        at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
other examples:

Code: Select all

2018-03-23 08:44:09,423 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-3) JSF1064: Unable to find or serve resource, fa/font-awesome.css, from library, primefaces.
2018-03-23 19:42:16,814 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-18) JSF1064: Unable to find or serve resource, css/animate.css, from library, atlantis-layout.
2018-03-23 19:42:16,818 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-16) JSF1064: Unable to find or serve resource, css/layout-dark.css, from library, atlantis-layout.
2018-03-23 19:42:16,830 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-14) JSF1064: Unable to find or serve resource, components.css, from library, primefaces.
2018-03-23 19:42:16,828 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-13) JSF1064: Unable to find or serve resource, theme.css, from library, primefaces-atlantis-steel.
The i.e css/animate.css, css/layout-dark.css,... are located at WebContent\resources\atlantis-layout\css\ and the atlantis-theme-1.0.0.jar in WebContent\WEB-INF\lib\
The theme.css is not referenced in any of the file.

Currently I am using the template.xhtml as it is used within the atlantis-theme.

Code: Select all

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <h:head>
        <f:facet name="first">
            <meta http-equiv="X-UA-Compatible" content="IE=edge" />
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
            <meta name="apple-mobile-web-app-capable" content="yes" />
            <meta name="theme-color" content="#{userPreferences.themeColors[userPreferences.layout]}" />
            <link rel="shortcut icon" type="image/x-icon" href="#{resource['images/favicon.ico']}"/>
        </f:facet>
        <title><ui:insert name="title">Property Management</ui:insert></title>
        <h:outputScript name="js/nanoscroller.js" library="atlantis-layout" />
        <h:outputScript name="js/layout.js" library="atlantis-layout" />
        <ui:insert name="head"/>
    </h:head>

    <h:body styleClass="main-body">
        <script type="text/javascript">
        PrimeFaces.locales['de'] = {
                closeText: 'Schließen',
                prevText: 'Zurück',
                nextText: 'Weiter',
                monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
                monthNamesShort: ['Jan', 'Feb', 'März', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
                dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
                dayNamesShort: ['Son', 'Mon', 'Die', 'Mit', 'Don', 'Fre', 'Sam'],
                dayNamesMin: ['S', 'M', 'D', 'M ', 'D', 'F ', 'S'],
                weekHeader: 'Woche',
                firstDay: 1,
                isRTL: false,
                showMonthAfterYear: false,
                yearSuffix: '',
                timeOnlyTitle: 'Nur Zeit',
                timeText: 'Zeit',
                hourText: 'Stunde',
                minuteText: 'Minute',
                secondText: 'Sekunde',
                currentText: 'Aktuelles Datum',
                ampm: false,
                month: 'Monat',
                week: 'Woche',
                day: 'Tag',
                allDayText: 'Ganzer Tag'
            };
        </script>
        <div class="layout-wrapper #{userPreferences.overlayMenu ? 'layout-overlay-menu' : null}">
            <ui:include src="./topbar.xhtml" />
            <ui:include src="./menu.xhtml" />
            
            <div class="layout-main">
                <h:form id="formMessage">
                	<p:growl id="growl" showDetail="true">
                		<p:autoUpdate />
                	</p:growl>
                </h:form>
                <div class="layout-main-content">
					<ui:insert name="content"/>
                </div>
                <ui:include src="./footer.xhtml" />
            </div>
        </div>
        
        <p:ajaxStatus style="width:32px;height:32px;position:fixed;right:7px;bottom:7px">
	        <f:facet name="start">
	            <i class="fa fa-circle-o-notch fa-spin ajax-loader" aria-hidden="true"></i>
	        </f:facet>
	
	        <f:facet name="complete">
	            <h:outputText value="" />
	        </f:facet>
		</p:ajaxStatus>
		<ui:include src="/user/dialogs/DlgCmdStart.xhtml"/>
        
        <h:outputStylesheet name="css/nanoscroller.css" library="atlantis-layout" />
        <h:outputStylesheet name="css/animate.css" library="atlantis-layout" />
        <h:outputStylesheet name="css/layout-#{userPreferences.layout}.css" library="atlantis-layout" />
        <h:outputStylesheet name="css/default.css"/>
    </h:body>

</html>
Additional the web.xml

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>PropertyMgmt</display-name>
	<welcome-file-list>
		<welcome-file>login.xhtml</welcome-file>
	</welcome-file-list>
	<context-param>
		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
		<param-value>server</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.PROJECT_STAGE</param-name>
		<param-value>Production</param-value>
	</context-param>
	<context-param>
		<param-name>primefaces.THEME</param-name>
		<param-value>atlantis-#{userPreferences.theme}</param-value>
	</context-param>
	<context-param>
		<param-name>primefaces.FONT_AWESOME</param-name>
		<param-value>true</param-value>
	</context-param>
	<context-param>
		<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
		<param-value>/WEB-INF/primefaces-atlantis.taglib.xml</param-value>
	</context-param>
    <filter>
        <filter-name>Character Encoding Filter</filter-name>
        <filter-class>org.primefaces.atlantis.filter.CharacterEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>Character Encoding Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
	<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.jsf</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.xhtml</url-pattern>
	</servlet-mapping>
    <mime-mapping>
        <extension>ttf</extension>
        <mime-type>application/font-sfnt</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>woff</extension>
        <mime-type>application/font-woff</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>woff2</extension>
        <mime-type>application/font-woff2</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>eot</extension>
        <mime-type>application/vnd.ms-fontobject</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>eot?#iefix</extension>
        <mime-type>application/vnd.ms-fontobject</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>svg</extension>
        <mime-type>image/svg+xml</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>svg#exosemibold</extension>
        <mime-type>image/svg+xml</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>svg#exobolditalic</extension>
        <mime-type>image/svg+xml</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>svg#exomedium</extension>
        <mime-type>image/svg+xml</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>svg#exoregular</extension>
        <mime-type>image/svg+xml</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>svg#fontawesomeregular</extension>
        <mime-type>image/svg+xml</mime-type>
    </mime-mapping>
	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>*.xhtml</url-pattern>
	</servlet-mapping>
	<security-role>
		<role-name>Administrator</role-name>
	</security-role>
	<security-role>
		<role-name>Manager</role-name>
	</security-role>
	<security-role>
		<role-name>User</role-name>
	</security-role>
	<security-constraint>
		<display-name>reports</display-name>
		<web-resource-collection>
			<web-resource-name>No Access</web-resource-name>
			<url-pattern>/reports/*</url-pattern>
		</web-resource-collection>
	</security-constraint>
	<security-constraint>
		<display-name>Administrator</display-name>
		<web-resource-collection>
			<web-resource-name>Admin Area</web-resource-name>
			<description />
			<url-pattern>/admin/*</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<description>Administrator</description>
			<role-name>Administrator</role-name>
		</auth-constraint>
	</security-constraint>
	<security-constraint>
		<display-name>User</display-name>
		<web-resource-collection>
			<web-resource-name>User Operations</web-resource-name>
			<description />
			<url-pattern>/user/*</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<description>User</description>
			<role-name>Manager</role-name>
			<role-name>Administrator</role-name>
			<role-name>User</role-name>
		</auth-constraint>
	</security-constraint>
	<login-config>
		<auth-method>FORM</auth-method>
		<realm-name>propertyMgmtRealm</realm-name>
		<form-login-config>
			<form-login-page>/login.xhtml</form-login-page>
			<form-error-page>/login.xhtml</form-error-page>
		</form-login-config>
	</login-config>
	<error-page>
		<error-code>404</error-code>
		<location>/404.xhtml</location>
	</error-page>
	<error-page>
		<error-code>403</error-code>
		<location>/access.xhtml</location>
	</error-page>
	<error-page>
		<error-code>500</error-code>
		<location>/error.xhtml</location>
	</error-page>
	<error-page>
		<exception-type>javax.faces.application.ViewExpiredException</exception-type>
		<location>/access.xhtml</location>
	</error-page>
</web-app>
Currently I have no idea, where the issue is located, since everything (and that is the confusing part) worked fine, including the Font-Awesome Icons.

A hint where I can look for or what the source could be, whould be appreciated.

Update:

I'm running on wildfly 10 and could workaround, if I provide the atlantis-theme-1.0.3.jar within the modules/system/layers of wildfly. It worked a few times, and then the issue come back. I increased the JVM-Memory Size with no success.

Depending on the tries to get the source of the issue, the outcome differs. I.e.

18:03:58,414 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-8) JSF1064: Unable to find or serve resource, images/LOGO_HV.svg.
18:03:58,417 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (default task-7) JSF1064: Unable to find or serve resource, fa/font-awesome.css, from library, primefaces.

And it is independend of the OS (windows and linux, same issue).

thanks
Nic

nicodemous
Posts: 8
Joined: 25 May 2014, 09:58

25 Mar 2018, 17:51

I could reproduce it, and it is NOT related to the upgrade, only with the Mozilla-Firefox V59.0.1 those messages are raised within the wildfly-log.

The Firefox-Console signals:

Code: Select all

Source-Map-Fehler: request failed with status 404 Ressourcen-Adresse: 
http://localhost:28080/xxxxxxxxxxx/javax.faces.resource/primefaces-extensions.js.xhtml?ln=primefaces-extensions&v=6.2 
Source-Map-Adresse: https://raw.githubusercontent.com/primefaces-extensions/core/master/src/sourcemap/6.2.1/primefaces-extensions.js.map
Nic

User avatar
Melloware
Posts: 760
Joined: 22 Apr 2013, 15:48

25 Mar 2018, 18:44

Nic,

So you should definitely not have to add it to /system/modules/layers/base this should definitely work from inside your WAR.

Are you saying it only gives this error from Firefox?
PrimeFaces Extensions Developer
GitHub Profile: https://github.com/melloware
PrimeFaces Elite 6.2.10 / PF Extensions 6.2.9

nicodemous
Posts: 8
Joined: 25 May 2014, 09:58

25 Mar 2018, 23:38

Melloware,

That is correct. I tried Chrome and Edge, both without any issue. Only Firefox produced those errors at the server. Since it doesn't made sense to me, I tried multiple times.

Nikolas

PS: the jar I had removed from the modules directory.

User avatar
Melloware
Posts: 760
Joined: 22 Apr 2013, 15:48

26 Mar 2018, 00:05

That is a really strange. Hopefully the PF team will respond as I use this template too.
PrimeFaces Extensions Developer
GitHub Profile: https://github.com/melloware
PrimeFaces Elite 6.2.10 / PF Extensions 6.2.9

User avatar
aragorn
Posts: 3164
Joined: 29 Jun 2013, 12:38

26 Mar 2018, 11:05

I couldn't replicate it. Could you please try our sample project after changing primefaces version in pom.xml?
-> sass -w src/main/webapp/resources/ --sourcemap=none
-> mvn jetty:run

nicodemous
Posts: 8
Joined: 25 May 2014, 09:58

26 Mar 2018, 19:40

A short update:

Of course the demo is working and I tried a RepCase (using my project and reduce it to the login-page/dashboard). With the issue, without the issue with a bit more "randomized behaviour". I dig a bit on Google and found an entry at developer.jboss.org, which describes the same issue:

https://developer.jboss.org/thread/273834

I'll upgrade the wildfly and give a try next weekend.

Thx,
Nic

User avatar
aragorn
Posts: 3164
Joined: 29 Jun 2013, 12:38

28 Mar 2018, 09:51

Ok, thanks a lot for the update!

nicodemous
Posts: 8
Joined: 25 May 2014, 09:58

29 Mar 2018, 23:09

Last Update:

On Wildfly 10x => The workaround is working (upgrade the undertow jars to 1.4.23-Final + disable HTTP/2)
On Wildfly 11 => No workaround is needed, it is working out of the box.

Nic

User avatar
aragorn
Posts: 3164
Joined: 29 Jun 2013, 12:38

10 Apr 2018, 13:25

Thanks a lot for the update!

Post Reply

Return to “Atlantis - PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest