[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-2419) IAE: factory method with defined scope outjected a value: guestRole
Devon Hillard (JIRA)
jira-events at lists.jboss.org
Sun Jan 18 19:07:04 EST 2009
[ https://jira.jboss.org/jira/browse/JBSEAM-2419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12448451#action_12448451 ]
Devon Hillard commented on JBSEAM-2419:
---------------------------------------
I also think it is a concurrency issue. I have the same error from my application.
I have a rich:column which is filtered based on user input. If I type too quickly in the filter box I get the error:
java.lang.IllegalArgumentException: factory method with defined scope outjected a value:
If I type slowly, I do not get the error. The only difference is how rapidly the AJAX requests are made to the server.
> IAE: factory method with defined scope outjected a value: guestRole
> -------------------------------------------------------------------
>
> Key: JBSEAM-2419
> URL: https://jira.jboss.org/jira/browse/JBSEAM-2419
> Project: Seam
> Issue Type: Bug
> Components: Core
> Reporter: Christian Bauer
> Priority: Minor
>
> I can see this on the log on seamframework.org but can't reproduce it:
> java.lang.IllegalArgumentException: factory method with defined scope outjected a value: guestRole
> at org.jboss.seam.Component.handleFactoryMethodResult(Component.java:1953)
> at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1927)
> at org.jboss.seam.Component.getInstance(Component.java:1863)
> at org.jboss.seam.Component.getInstance(Component.java:1840)
> at org.jboss.seam.Component.getInstance(Component.java:1834)
> at org.jboss.seam.wiki.core.action.Authenticator.getGuestAccessLevel(Authenticator.java:199)
> 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.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
> 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.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
> 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.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
> at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
> at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
> at org.jboss.seam.wiki.core.action.Authenticator_$$_javassist_9.getGuestAccessLevel(Authenticator_$$_javassist_9.java)
> 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.util.Reflections.invokeAndWrap(Reflections.java:125)
> at org.jboss.seam.Component.callComponentMethod(Component.java:2082)
> at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1926)
> at org.jboss.seam.Component.getInstance(Component.java:1863)
> at org.jboss.seam.Component.getInstance(Component.java:1840)
> at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55)
> at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50)
> at org.jboss.seam.el.SeamELResolver.resolveBase(SeamELResolver.java:166)
> at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:53)
> at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
> at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:44)
> at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
> at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:111)
> at org.jboss.seam.persistence.HibernatePersistenceProvider.enableFilter(HibernatePersistenceProvider.java:205)
> at org.jboss.seam.persistence.ManagedPersistenceContext.initEntityManager(ManagedPersistenceContext.java:88)
> at org.jboss.seam.persistence.ManagedPersistenceContext.getEntityManager(ManagedPersistenceContext.java:108)
> This is thrown from the FeedServlet.
> The code doesn't do what the exception says it is doing:
> /**
> * Assigns the context variable 'currentAccessLevel' when no user is logged in.
> * @return Integer Guest access level.
> */
> @Factory(value = "currentAccessLevel", scope = ScopeType.SESSION, autoCreate = true)
> public Integer getGuestAccessLevel() {
> return ((Role)Component.getInstance("guestRole")).getAccessLevel();
> }
> This has to be investigated further.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list