| Author |
Message |
|
|
When i worked(v 1.6) we hardly got any support from the forums... moreover i had other guy (from the forums) who also said that a page takes 6-8 MB.
How ever small is dev time .. 6MB is always unacceptable for a page. When i was badly in need of some support .... really badly.. like 1 week for delivery... i got a reply to take support and noting can be helped over forums... the documentation is very poor... you feel like its beating around the bush...
The help from the forums was nothing... you wait for weeks and get nothing ... i m sorry if this hurts you... may b now things have changed... i dont know... but i willnot recomend icefaces... atleast in view of the response i got from this forum.
|
 |
|
|
we left off with icefaces 2 years back and are coding our ajax by our own in house build components. if u didnt take support from the team... then i recomend u to leave the product at once... cos when we worked with this product... we faced serious performance issues... 1 page = 6 MB!!! and we could not get a proper documentation from the site/ help from the forum.
|
 |
|
|
there is one way to get this.
1. make a ajax call to the server from the Server.
2. let the server not return the reply till it gets an event. when an event happens at the server only then return the reply.
|
 |
|
|
no dude no luck.
ICEFACES is a fentastic idea: incorporating rich client features into jsf. but its a shame that the application behaves so bad esp: when the project is to its end and just before prod deployment you notice such ERRATIC ERRORS!
i am not sure how the clents (mentioned in one of the links) had an efficient applicatoin built! or may be that we need to get the support from icefaces and only then these issues get resolved!
The developer guide is only a 'getting started guide' and does nt answer the qns the developer gets! and i see the documentation HORRIBLE! also u hardly get any reply form the developers in the forums. :( (the number of posts per day is not more than 4 or max 5)
LESSON LEARN T: do not get fascinated by the home page of the application, but intelligently evaluate(:?) the product before using it.
i think my account would be deleted... but this is what i feel abt it.
|
 |
|
|
hi,
I could hardly makeout any thing from it. Could you give me the exact steps/ commands to do the same.
regards,
ravi c
|
 |
|
|
If "Yes", in which way?
i dont think so
If "No", what is to be done to have a functioning page nevertheless?
write pure jsf project with no icefaces in it.
|
 |
|
|
Hi edykory,
Thanks for your reply.
So, does this mean that icefaces is a heavy weight application?? if this is the case then how much should the component showcase absorb (it includes abt 20 pages!) does icefaces install 100s of gb of ram?
I had seen AHS (as one of the products) have you tried this??? can this be an answer? One thing that ididnt understand is if its configurable with tomcat 5.0? i couldn't find the answer.
please share any informatio that you have. It could be a good help to me.
regards,
ravi c
|
 |
|
|
hi,
does this require some configuration at web.xml or faces-config.xml?? can you share them for us?
cheers,
ravi c
|
 |
|
|
hi,
our project makes use of icefaces, facelets, spring, hibernate. We are getting heap over flow/ memory out of bound exceptions when we open 4/5 instances of the browser to the same server. We are not understanding where we are going wrong. (its a simple page with max-3 db hits with simple managed bean)
i had posted ths topic at: http://www.icefaces.org/JForum/posts/list/5238.page but hardly got any help and so posting again.
can some body share the project where icefaces, facelets, spring, hibernate are configured. This performance issue has become a show stopper to our project now and is stopping it form going live.
developers please help.
regards,
ravi c
|
 |
|
|
hi,
not sure but to my understanding and to the extent of my knowledge with icefaces i think icefaces is diffarent from jsp 'cos it handles everything by xmlhhttprequest when u say forward the server sends a request object to the icefaces.. probably by now the icefaes is expecting xmlhttp request instead of HTTPServlet request... because i see that even navigation rule does not work with icefaces .. until u specify <redirect /> in it. (so the reason above... correct me if i am wrong)
when u say redirect the brwoser creates a new request to which the server responds using all its life cycle.
hope this helps... atleast to soem extent
cheers,
ravi c
|
 |
|
|
Hi,
i think you didnt configure logger in your project. it would give pinpointedly where u made the mistake etc. try the following in ur log4j.properties
Code:
# logging icefaces
# Configure the logger to output info level messages into a rolling log file.
log4j.rootLogger=WARN, A1
log4j.appender.A1.File=../logs/Admin.log
log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.logger.org.apache=WARN
log4j.logger.com.sun.faces=WARN
log4j.logger.javax.faces=WARN
log4j.logger.com.icesoft=WARN
# To see server side updates being sent to the browser
log4j.logger.blocking.dom.update=WARN
#LOGGING FACELETS;
facelets.level = FINEST
facelets.compiler.level = WARN
facelets.tag.component.level = INFO
facelets.viewhandler.level = WARN
hope this helps.
cheers,
ravi c
|
 |
|
|
Code:
public Rooms[] getDataRooms() {
return dataRooms;
};
Hi,
note that the return type of dataRooms should be List<SelectItems> type. you are returning array type which may not help display the result. Try the following way:
Code:
package org.sample.portlet.hello.bean;
import javax.*;
import java.*;
import org.sample.portlet.hello.bean.*;
public class SelectRoomBean {
List<SelectItem> roomList = new ArrayList(); //if jdk 1.4 remove the<...>
private List<SelectItem> dataRoomsList()
{
roomList.add(new SelectItem("room 1"));
roomList.add(new SelectItem("room 2"));
roomList.add(new SelectItem("room 3"));
}
public List<SelectItem> getDataRooms() {
return this.dataRoomsList();
}
private String selectedRoom;
public String getSelectedRoom() {
return selectedRoom;
}
public void setSelectedRoom(String selectedRoom) {
this.selectedRoom = selectedRoom;
}
}
hope this helps.
cheers,
ravi c
|
 |
|
|
hi,
We have a page with client side javascript and what we observed is that when ever the page is updated the client side js is not being called as a result the js has the old data instead of the new once. How do we go about this problem??
one more thing. we had implemented fixed headers using div tag and some style sheet. supposing that we scorll the table to some row and then run an update over the page (say by some button) then the fixed header no longer stays over the table actual header area but instead flies off! How can we get over this strange behavor??
any help is greatly appreciated.
REgards,
ravi c
|
 |
|
|
Code:
could someone tell me what is meant by "selectedComponent" & "componentItems" ?
selectionTags is the managed bean;
componentItems: is the list of SelectItems type.
selectedComponents is the property in the bean. (its a field variable that need to have getters and setters generated). This decides which among the list of the selectItems should be shown by default.
example:
say list of select items is (room1,room2,room3 each string type) and say selectedComponent is of string type which holds room 2 then when the component is rendered bby default room2 would be selected.
hope this helps.
cheers,
ravi c
|
 |
|
|
Hi unsigned,
thanks for your reply.
As advised we tried with only one page that 'ui:includes' panel group and panel stack enclosing only 1 page in it. (i.e. one page called home.jspx which ui:defines one .jspx which ui:inserts into one.xhtml. One thing to note is that the .jspx has ui:insert nested 3 times -o(x3) complexity and x<10. )
now the memory consumption is about 5-6 MB per page. no where in the project we are using jsp includes. I am not understanding where we are going woring. I think its some configuration mistake.
We are having the following config files. can you share your config files??
web.xml
Code:
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>com.icesoft.faces.concurrentDOMViews</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>com.icesoft.faces.uploadDirectory</param-name>
<param-value>images</param-value>
</context-param>
<context-param>
<param-name>com.icesoft.faces.uploadMaxFileSize</param-name>
<param-value>4048576</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<context-param>
<param-name>com.icesoft.faces.connectionTimeout</param-name>
<param-value>60000</param-value>
</context-param>
<context-param>
<param-name>com.icesoft.faces.heartbeatTimeout</param-name>
<param-value>60000</param-value>
</context-param>
<context-param>
<param-name>com.icesoft.faces.heartbeatRetries</param-name>
<param-value>10</param-value>
</context-param>
<context-param>
<param-name>com.icesoft.faces.heartbeatInterval</param-name>
<param-value>60000</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jspx</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>
/WEB-INF/logicTag.taglib.xml;/WEB-INF/coreLibrary.taglib.xml
</param-value>
</context-param>
<filter>
<filter-name>uploadFilter</filter-name>
<filter-class>com.sierra.intranet.view.util.UploadMultipartFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>uploadFilter</filter-name>
<url-pattern>/uploadHtml</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.apache.myfaces.webapp.StartupServletContextListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
de.mindmatters.faces.spring.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
com.icesoft.faces.util.event.servlet.ContextEventRepeater
</listener-class>
</listener>
<!-- servlet>
<description>
This is the description of my J2EE component
</description>
<display-name>
This is the display name of my J2EE component
</display-name>
<servlet-name>LookupServlet</servlet-name>
<servlet-class>LookupServlet</servlet-class>
</servlet -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Persistent Faces Servlet</servlet-name>
<servlet-class>
com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Blocking Servlet</servlet-name>
<servlet-class>
com.icesoft.faces.webapp.xmlhttp.BlockingServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>uploadServlet</servlet-name>
<servlet-class>
com.icesoft.faces.component.inputfile.FileUploadServlet
</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet>
<servlet-name>downloadReport</servlet-name>
<servlet-class>
com.sierra.intranet.view.bean.admin.DownloadReportServlet
</servlet-class>
</servlet>
<!--servlet-mapping>
<servlet-name>LookupServlet</servlet-name>
<url-pattern>/servlet/LookupServlet</url-pattern>
</servlet-mapping -->
<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>/xmlhttp/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>*.iface</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Blocking Servlet</servlet-name>
<url-pattern>/block/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>uploadServlet</servlet-name>
<url-pattern>/uploadHtml</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>downloadReport</servlet-name>
<url-pattern>*.rep</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>10</session-timeout>
</session-config>
</web-app>
faces-config.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<application>
<view-handler>
com.icesoft.faces.facelets.D2DFaceletViewHandler
</view-handler>
</application>
<managed-bean>
...
</managed-bean>
<converter>
<converter-id>noNullStringConvertor</converter-id>
<converter-class>
com.sierra.intranet.view.util.converter.NoNullString
</converter-class>
</converter>
<navigation-rule>
<navigation-case>
<from-action>
#{empPublicDataController.transferController}
</from-action>
<from-outcome>successepdController</from-outcome>
<to-view-id>/jsf/ui/EmployeePublicData.faces</to-view-id>
<redirect></redirect>
</navigation-case>
</navigation-rule>
<navigation-rule>
<navigation-case>
<from-action>#{bannerMenuManagedBean.confSearchAction}</from-action>
<from-outcome>search</from-outcome>
<to-view-id>/jsf/ui/confroom/confRoomHome.faces</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<validator>
<description>All validations in LeaveApp</description>
<display-name>leaveAppValidator</display-name>
<validator-id>leaveAppValidator</validator-id>
<validator-class>
com.sierra.intranet.view.util.validator.LeaveAppValidator
</validator-class>
</validator>
<validator>
<description>Blank Space Validator</description>
<display-name>blankSpaceValidator</display-name>
<validator-id>blankSpaceValidator</validator-id>
<validator-class>
com.sierra.intranet.view.util.validator.BlankSpaceValidator
</validator-class>
</validator>
</faces-config>
Please help.
cheers,
ravi c
|
 |
|
|