1 2 Previous Next 22 Replies Latest reply on Oct 24, 2007 5:08 PM by Pete Muir

    @in(create=true) not working !

    pandu purnama Newbie

      hi...

      in my authenticator login i wrote

      @In(create = true)
      Actor actor;
      


      then i got an error stated that actor requires non null value,
      isn't that 'create' means it'll instantiate itself automatically ?

      is it because my seam version ?
      i'm using jboss seam2.0.0 beta1
      i'm not yet to try another version of seam due to my slow connection speed
      internet...
      so i kinda need some confirmation before i download another version

      thank's in advance

        • 1. Re: @in(create=true) not working !
          Joshua Jackson Master

          Have you configured your jBPM correctly? AFAIK you need to configure jBPM with Seam in order to use the Actor instance.

          • 2. Re: @in(create=true) not working !
            pandu purnama Newbie

            yes, i did
            but i don't think it's related to jbpm
            i've tried using another type like String, etc
            and it gives same error, i think the create=true doesn't work
            i could be wrong though...

            • 3. Re: @in(create=true) not working !
              Joshua Jackson Master

              No way, I use @In(create=true) too and it works. Did you create your project using seam-gen?

              • 4. Re: @in(create=true) not working !
                pandu purnama Newbie

                yes, i created the project using seam setup command..

                • 5. Re: @in(create=true) not working !
                  Pete Muir Master

                  It's related to jbpm. Post your startup log.

                  • 6. Re: @in(create=true) not working !
                    Polly McEldowney Newbie

                    i've just tried upgrading to 2.0.0CR1 from 2.0.0BETA1, and now i'm getting this problem too..

                    nothing obvious in the startup logs - it looks virtually identical to how it was before upgrading.

                    do i need to change any of the jbpm config for this new release?

                    I've got the new jbpm.jar in the lib directory of my ear... here's the relevant bit of build.xml. I've changed this to put the files in the lib directory rather than specify them in the application.xml.

                     <target name="ear" description="Build the EAR">
                     <copy todir="${ear.dir}">
                     <fileset dir="${basedir}/resources">
                     <include name="*jpdl.xml" />
                     <include name="hibernate.cfg.xml" />
                     <include name="jbpm.cfg.xml" />
                     <include name="*.drl" />
                     </fileset>
                     <fileset dir="${lib.dir}">
                     <include name="jboss-seam.jar" />
                     </fileset>
                     <fileset dir="${basedir}">
                     <!-- seam libraries -->
                     <include name="lib/jbpm*.jar" />
                     <include name="lib/jboss-el.jar" />
                     <include name="lib/drools-*.jar"/>
                     <include name="lib/janino-*.jar"/>
                     <include name="lib/antlr-*.jar"/>
                     <include name="lib/mvel*.jar"/>
                    
                     <!-- other libs -->
                     <include name="lib/jfreechart-*.jar"/>
                     <include name="lib/chartcreator-*.jar"/>
                     <include name="lib/jcommon-*.jar"/>
                     <include name="lib/dbunit-*.jar"/>
                     <include name="lib/richfaces-api*.jar" />
                     </fileset>
                     </copy>
                     <copy todir="${ear.dir}/META-INF">
                     <fileset dir="${basedir}/resources/META-INF">
                     <include name="application.xml" />
                     <include name="jboss-app.xml" />
                     </fileset>
                     </copy>
                     <copy todir="${ear.dir}/META-INF" overwrite="true">
                     <fileset dir="${jar.dir}/META-INF">
                     <include name="version.txt" />
                     </fileset>
                     </copy>
                     </target>
                    




                    • 7. Re: @in(create=true) not working !
                      Matthew Lieder Apprentice

                      Maybe instead of @In(create = true), try
                      @In(create = true, required = false)?

                      • 8. Re: @in(create=true) not working !
                        David Spark Newbie

                        I get the same problem after upgrading from Seam 2 Beta to CR1. I also the same error for @Out annotated variables too. The full error trace is:

                        14:25:21,093 ERROR [SeamPhaseListener] uncaught exception
                        javax.el.ELException: javax.ejb.EJBTransactionRolledbackException: In attribute requires non-null value: bookingManager.event
                         at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
                         at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:338)
                         at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
                         at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
                         at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
                         at org.jboss.seam.core.Expressions$2.invoke(Expressions.java:174)
                         at org.jboss.seam.navigation.Pages.callAction(Pages.java:636)
                         at org.jboss.seam.navigation.Pages.preRender(Pages.java:289)
                         at org.jboss.seam.jsf.SeamPhaseListener.preRenderPage(SeamPhaseListener.java:544)
                         at org.jboss.seam.jsf.SeamPhaseListener.beforeRenderResponse(SeamPhaseListener.java:455)
                         at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:146)
                         at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:116)
                         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:222)
                         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                         at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
                         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                         at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                         at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                         at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
                         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                         at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
                         at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
                         at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
                         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                         at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                        Caused by: javax.ejb.EJBTransactionRolledbackException: In attribute requires non-null value: bookingManager.event
                         at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:87)
                         at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
                         at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
                         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                         at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
                         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                         at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
                         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                         at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
                         at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
                         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                         at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
                         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                         at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                         at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:204)
                         at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:100)
                         at $Proxy126.bookNewEvent(Unknown Source)
                         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                         at java.lang.reflect.Method.invoke(Method.java:585)
                         at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
                         at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                         at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
                         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
                         at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
                         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                         at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
                         at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
                        Caused by: org.jboss.seam.RequiredException: In attribute requires non-null value: bookingManager.event
                         at org.jboss.seam.Component.getValueToInject(Component.java:2169)
                         at org.jboss.seam.Component.injectAttributes(Component.java:1599)
                         at org.jboss.seam.Component.inject(Component.java:1417)
                         at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:45)
                         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                         at org.jboss.seam.persistence.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:48)
                         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                         at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
                         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                         at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:56)
                         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                         at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
                         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                         at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
                         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                         at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
                         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                         at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
                         at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
                         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                         at java.lang.reflect.Method.invoke(Method.java:585)
                         at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
                         at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
                         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                         at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
                         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                         at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
                         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                        14:25:21,858 ERROR [STDERR] 24-Sep-2007 14:25:21 com.sun.facelets.compiler.TagLibraryConfig loadImplicit


                        • 9. Re: @in(create=true) not working !
                          Polly McEldowney Newbie

                          this looks like the same error i was getting.

                          i couldn't fix it, so have postponed attempts to upgrade to 2.0.0CR1 for now.

                          i fear @In(create = true, required = false) isn't much help, as I need the injected value to not be null... unless i undertake a massive refactoring where i create everything manually, which i don't really have much stomach for....

                          has anyone else had any joy with @In(create=true) in CR1?

                          • 10. Re: @in(create=true) not working !
                            David Spark Newbie

                            I managed to fix my error by explicitly naming the bean using the @Name annotation. In the past Seam has inferred the bean name from the class name (i.e. they are the same) but it appears this is no longer the case?

                            • 11. Re: @in(create=true) not working !
                              Polly McEldowney Newbie

                              interesting - this certainly sounds plausible, i was relying on the Seam default bean name too... thanks for the info! i'll give it a try...

                              • 12. Re: @in(create=true) not working !
                                Jacob Orshalick Apprentice

                                It is important to note that beans are not Seam components unless named. As it states in the Seam documentation:

                                @Name is not the only way to define a component name, but we always need to specify the name somewhere. If we don't, then none of the other Seam annotations will function.


                                I ran into the same issue the first time I used @In(create=true) and resolved it by naming my component. Hope that helps.

                                • 13. Re: @in(create=true) not working !
                                  Polly McEldowney Newbie

                                  hmmm. Actually, i lied... i have got @Names on my beans... so it's not that. Curses!

                                  Not sure if i'm allowed any more time to look at upgrading, but if i am i'll get some sample code together to post...

                                  • 14. Re: @in(create=true) not working !
                                    Polly McEldowney Newbie

                                    right... i'm having another try at upgrading to seam 2.0.0CR1!

                                    I've narrowed the problem down to being something to with the RichFaces integration. Specifically, the RichFaces tab panel doesn't seem to be able to access Seam components through the EL. I've changed the RichFaces jar files to the 3.1.1 snapshot release and it is displaying the RichFaces tab panel correctly - it's just getting hold of seam components that is failing. This is giving the 'In attribute requires non-null value' error.

                                    The xhtml file snippet is:

                                    <h:form class="homepage" id="homepageform" enctype="multipart/form-data">
                                    
                                    <h:inputText value="#{userView.selectedTab}" id="selectedTab"/>
                                    
                                    <rich:tabPanel switchType="client" selectedTab="#{userView.selectedTab}">
                                    
                                    ...
                                    


                                    The standard jsf inputText component above the tab panel picks up the #{userView.selectedTab} fine, and if I put debug output in the selectedTab getter for the userView bean I can see it is being called without any problems by the jsf widget. But with the richfaces tab panel i get this stack trace:

                                    15:28:18,282 admin WARN [lifecycle] executePhase(RESTORE_VIEW 1,com.sun.faces.context.FacesContextImpl@8bfd35) threw exception
                                    javax.faces.FacesException: javax.el.ELException: /admin/adminhome.xhtml @25,78 selectedTab="#{userView.selectedTab}": Error reading 'selectedTab' on type org.javassist.tmp.java.lang.Object_$$_javassist_3
                                     at javax.faces.component.UIOutput.getValue(UIOutput.java:176)
                                     at org.richfaces.component.UITabPanel.getValue(UITabPanel.java:70)
                                     at org.richfaces.component.UITabPanel.getRenderedValue(UITabPanel.java:96)
                                     at org.richfaces.component.UITabPanel.restoreState(UITabPanel.java:119)
                                     at org.richfaces.component.html.HtmlTabPanel.restoreState(HtmlTabPanel.java:985)
                                     at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1138)
                                     at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1154)
                                     at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1154)
                                     at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1154)
                                     at org.ajax4jsf.application.AjaxStateManager.restoreView(AjaxStateManager.java:245)
                                     at com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:287)
                                     at org.jboss.seam.jsf.SeamViewHandler.restoreView(SeamViewHandler.java:93)
                                     at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:316)
                                     at org.ajax4jsf.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:116)
                                     at org.ajax4jsf.application.AjaxViewHandler.restoreView(AjaxViewHandler.java:159)
                                     at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:141)
                                     at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                                     at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
                                     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
                                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                                     at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                                     at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                                     at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                                     at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                                     at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                                     at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
                                     at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                                     at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
                                     at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
                                     at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
                                     at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                                     at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                                     at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                                     at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
                                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                                     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                                     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                                     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                                     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
                                    
                                    <snip>
                                    
                                    Caused by: org.jboss.seam.RequiredException: In attribute requires non-null value: userView.entityController
                                     at org.jboss.seam.Component.getValueToInject(Component.java:2169)
                                     at org.jboss.seam.Component.injectAttributes(Component.java:1599)
                                     at org.jboss.seam.Component.inject(Component.java:1417)
                                     at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:45)
                                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                     at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
                                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                     at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
                                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                     at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
                                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                                     at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
                                     at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
                                     at sun.reflect.GeneratedMethodAccessor1494.invoke(Unknown Source)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:597)
                                     at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
                                     at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
                                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                                     at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                                     ... 96 more
                                    
                                    
                                    


                                    It seems to be complaining about the injected EntityController object, which gets created fine everywhere else it is accessed apart from in this tabpanel. This is how i inject it:

                                     @In(create=true)
                                     private EntityController ec;
                                    


                                    Do I need to change anything in my web.xml maybe for this release? I currently have:

                                     <!-- Ajax4jsf -->
                                     <context-param>
                                     <param-name>org.richfaces.SKIN</param-name>
                                     <param-value>blueSky</param-value>
                                     </context-param>
                                    
                                     <context-param>
                                     <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
                                     <param-value>com.sun.facelets.FaceletViewHandler</param-value>
                                     </context-param>
                                    
                                     <!-- Seam -->
                                    
                                     <listener>
                                     <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
                                     </listener>
                                    
                                     <filter>
                                     <filter-name>Seam Filter</filter-name>
                                     <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
                                     </filter>
                                    
                                     <filter-mapping>
                                     <filter-name>Seam Filter</filter-name>
                                     <url-pattern>/*</url-pattern>
                                     </filter-mapping>
                                    
                                     <servlet>
                                     <servlet-name>Seam Resource Servlet</servlet-name>
                                     <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
                                     </servlet>
                                    
                                     <servlet-mapping>
                                     <servlet-name>Seam Resource Servlet</servlet-name>
                                     <url-pattern>/seam/resource/*</url-pattern>
                                     </servlet-mapping>
                                    
                                     ...
                                    
                                    


                                    I looked at the seam-examples for seamdiscs, which has richfaces integrated, and there is no richfaces filter defined in the web.xml - just a comment to say it is now handled by the seam filter, so I took the richfaces filter part out.

                                    The tab panel renders ok if I put a static value in like
                                    <rich:tabPanel switchType="client" selectedTab="homePage">


                                    and I can access seam components through other widgets, it's just the two things together that don't seem to play nicely!

                                    so has anyone got any bright ideas about this one? any help at all would be greatly appreciated! :)

                                    1 2 Previous Next