[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3481) components.xml is read twice if the jboss-seam.jar is declared in application.xml as well as in manifest classpath
by Jay Balunas (JIRA)
components.xml is read twice if the jboss-seam.jar is declared in application.xml as well as in manifest classpath
------------------------------------------------------------------------------------------------------------------
Key: JBSEAM-3481
URL: https://jira.jboss.org/jira/browse/JBSEAM-3481
Project: Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.1.0.BETA1
Reporter: Jay Balunas
Assignee: Pete Muir
Fix For: 2.1.0.GA
This issue was exposed while working on JBSEAM-3363, and using patched jsf jars from Ryan Lubke which fixes the initial problem (see note below on using Ryan's patch).
We do not see the duplicate seam phase listener issue any longer, but we continue to see this error.
08:50:53,573 ERROR [[/Stantest]] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
java.lang.IllegalStateException: duplicate factory for: org.jboss.seam.web.webSession (duplicate is specified in components.xml)
at org.jboss.seam.core.Init.checkDuplicateFactoryExpressions(Init.java:222)
at org.jboss.seam.core.Init.checkDuplicateFactory(Init.java:215)
at org.jboss.seam.core.Init.addFactoryValueExpression(Init.java:278)
This is because we are reading in the components.xml file from the jboss-seam.jar twice as this log shows:
2008-09-30 10:21:08,245 INFO [org.jboss.seam.init.Initialization] reading /WEB-INF/components.xml
2008-09-30 10:21:08,396 INFO [org.jboss.seam.init.Initialization] reading jar:file:/jboss/apps/jboss-4.2.3.GA/server/default/deploy/Stantest.ear/jboss-seam.jar!/META-INF/components.xml
2008-09-30 10:21:08,400 INFO [org.jboss.seam.init.Initialization] reading jar:file:/jboss/apps/jboss-4.2.3.GA/server/default/tmp/deploy/tmp3645jboss-seam.jar!/META-INF/components.xml
To use Ryan's patch:
----------------------
Use the attached jsf jars in the jsf-libs directory, and update JBOSS_HOME/server/default/deploy/jboss-web.deployer/conf/web.xml to include the following context param:
<context-param>
<param-name>com.sun.faces.duplicateJARPattern</param-name>
<param-value>^tmp\d+(\S*\.jar)</param-value>
</context-param>
--
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
15 years, 8 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3211) Serialization of transient fields on converstion scoped components in clustered enviroment
by Tomaz Cerar (JIRA)
Serialization of transient fields on converstion scoped components in clustered enviroment
------------------------------------------------------------------------------------------
Key: JBSEAM-3211
URL: https://jira.jboss.org/jira/browse/JBSEAM-3211
Project: Seam
Issue Type: Bug
Components: Core, EJB3
Affects Versions: 2.0.3.CR1
Environment: jboss 4.2.2.GA
java 6 x64
windows vista 64bit
Reporter: Tomaz Cerar
I was debuging one of problems that has shown up on our tests when running in cluster.
After adding some debuging code to jbossweb I have finally tracked it down and I am almost 100% sure it is a bug in Seam.
here is scenario:
I have SFSB that runs in Conversation scope and I have injected lots of various components.
and some of those components aren't serializable, so I marked them transient so I wouldnt get any exceptions while serialization.
But when I run this code with <distributable /> enabled I allways get exception Non Serializable attribute.
But if serialization is done manualy(just to try) everything goes trough fine.
I have modifed jbossweb so I got better exception reporting for this scenarios(as naming which parameter),
as I found out that seam is trying to put also my transient field in session scope for needs of conversation:
error message I got was:
{noformat}
12:32:51,903 ERROR [SeamPhaseListener] [] uncaught exception
java.lang.IllegalArgumentException: attribute: 'org.jboss.seam.CONVERSATION#12$podporaProdaji' of value: 'si.banka_koper.ws.ppbackend.PodporaProdajiCaching@5092eb76' is not serializable!
at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1293)
at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1254)
at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130)
at com.sun.faces.context.SessionMap.put(ExternalContextImpl.java:972)
at org.jboss.seam.contexts.ServerConversationContext.flush(ServerConversationContext.java:298)
at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:371)
at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:112)
at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:513)
at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:245)
at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:192)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
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 com.parsek.debug.TimingFilter.doFilter(TimingFilter.java:42)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
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.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:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:42)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
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.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
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)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:674)
{noformat}
as I understand seam trys to put everything that is in converstion scope in session event even it is not marked with @Out or marked transient.
the compononent is marked only with @In and in that case I don't see why seam sould put it in session as it can be injected anytime...
sample code:
{code}
Scope(ScopeType.CONVERSATION)
@Local
@Stateful
public class DepozitWizardAction implements DepozitWizard,
Serializable { private transient static final Logger log = Logger.getLogger(DepozitWizardAction.class);
@In
private transient PodporaProdaji podporaProdaji;
public void someMethod(){
podporaProdaji.callSomeMethod();
}
}
{code}
--
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
15 years, 8 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2471) add s:concat and s:range functions
by Dan Allen (JIRA)
add s:concat and s:range functions
----------------------------------
Key: JBSEAM-2471
URL: http://jira.jboss.com/jira/browse/JBSEAM-2471
Project: JBoss Seam
Issue Type: Feature Request
Components: Core
Affects Versions: 2.0.1.CR1
Reporter: Dan Allen
Assigned To: Dan Allen
Priority: Minor
Fix For: 2.0.x
Attachments: JBSEAM-2471-v1.txt
My #1 EL pet peeve is that there is no way to concatenate a string. This is like serious basic stuff and it is perfectly reasonable to want to perform this task in EL. I realize I could invent my own solution (and I have), but we want to sweep those common cases under the rug like what was done with the magic collection functions (size, isEmpty, etc).
How about s:concat('one', 'two')?
I am going to squeeze one more in here. I can't tell you the number of times I have needed to quickly create an iteration loop in the UI over a range of numbers, only to realize that there isn't an easy way aside from creating a component. Can we add an s:range() function that creates a collection on the fly?
s:range(1, 5)
This is somewhat of a precedence since the only two functions in s: right now are security related.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 8 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1982) Improved documentation for Nested Conversations
by Jacob Orshalick (JIRA)
Improved documentation for Nested Conversations
-----------------------------------------------
Key: JBSEAM-1982
URL: http://jira.jboss.com/jira/browse/JBSEAM-1982
Project: JBoss Seam
Issue Type: Feature Request
Components: Core
Affects Versions: 2.0.0.CR1
Reporter: Jacob Orshalick
Nested conversations have been discussed at length on several occasions on the forum. The documentation states:
"A conversation may be thought of as a continuable state. Nested conversations allow the application to capture a consistent continuable state at various points in a user interaction, thus insuring truly correct behavior in the face of backbuttoning and workspace management."
This gives the impression of use of nested conversations to achieve a continuation server approach. This approach is possible and is described at the forum reference, but it seems that most developers use nested conversations for sub-flows ending the conversation at the end of the sub-flow. This does not allow back-buttoning to the sub-flow (which seems to be in conflict with the documentation above).
(I will add a link to an article describing the continuation approach in a few weeks, perhaps it could serve as a patch)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 8 months