myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard W. Smith, Jr." <smithh032...@gmail.com>
Subject Re: Random JSF error: no saved view state could be found
Date Tue, 01 Oct 2013 16:37:31 GMT
responses inline, below.

On Tue, Oct 1, 2013 at 3:45 AM, Zmirc <zmircmircea@gmail.com> wrote:

>
> set JAVA_OPTS=%JAVA_OPTS% -Dorg.apache.catalina.session.**
> StandardSession.ACTIVITY_**CHECK=true
> set JAVA_OPTS=%JAVA_OPTS% -Dopenejb.session-context=http
>

these two are definitely interesting, even though you stated, earlier, that
you are not really doing much/any session-management logic/checks. i don't
know the purpose of standardsession.activity_check and
openejb.session-context=http, but 'session' says a lot (to me).



> set JAVA_OPTS=%JAVA_OPTS% -Dfacebook4j.loggerFactory=**
> facebook4j.internal.logging.**NullLoggerFactory
>

facebook4j? wow, never heard of that. interesting.


>
> So...the error happens randomly (just sometimes to some users) for all
> pages that modify information and are backed by a @ViewScoped bean:
>

I looked at your bean, and it is quite interesting that this (JSF)
'managedbean',

@ManagedBean(name = "addItem")
@ViewScoped
public class AddItemB implements Serializable {


uses CDI to @Inject the following:

    @Inject
    UserDataB udB;
    @Inject
    ItemC itemC;
    @Inject
    ImageC imageC;
    @Inject
    UserC userC;

I don't know if MyFaces' implementation is expecting JSF managed beans to
do CDI @Inject. maybe MyFaces implementation does allow for this and does
'not' place assumption that JSF managedbean will 'never' have or allow for
CDI @Inject. I know, in my JSF/PrimeFaces/MyFaces/TomEE web app, I would
never try something like this. I would do CDI managed bean and do CDI
@Inject into other CDI managed beans. that is why i migrated 'from' JSF
managed beans to CDI managed beans, when I migrated from Glassfish/R.I. to
TomEE/OpenWebBeans.

also, the CDI @RequestScoped bean below,

@Named("editProfile")
@RequestScoped
public class EditProfileB {

looks more correct to me, since it is already a CDI managed bean doing the
following CDI @Inject,

    @Inject
    UserDataB udB;
    @Inject
    UserC userC;
    @Inject
    ImageC imageC;


maybe your JSF-managed ViewScoped bean is using CDI @Inject to reference
another bean, and the whole thing may be throwing MyFaces into a flux. but
i'm definitely not the expert here.

...my two cents. :)

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message