[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2082) JMS Topic subscriptions never released
by Scott McNab (JIRA)
JMS Topic subscriptions never released
--------------------------------------
Key: JBSEAM-2082
URL: http://jira.jboss.com/jira/browse/JBSEAM-2082
Project: JBoss Seam
Issue Type: Bug
Components: Remoting
Affects Versions: 2.0.0.CR2, 2.0.0.CR1, 1.2.1.GA, 1.2.0.GA, 2.0.0.GA
Environment: JBossAS 4.2.0.GA, All platforms.
Reporter: Scott McNab
Assigned To: Shane Bryzak
In the current Seam remoting implementation, there is no mechanism to clean up and release JMS topic subscriptions for clients that may have subscribed to a JMS topic, but who do not explicitly unsubscribe() (e.g. due to a coding error or if the client simply disappears)
Unless a web-client specifically calls Seam.Remoting.unsubscribe(), the RemoteSubscriber object is never released, and the corresponding TopicSession and TopicSubscriber resources will be held open indefinitely. This will cause the JMS provider to store an ever-growing list of undelivered topic messages, which will eventually result in an out of memory crash.
Seam Remoting needs to be able to correctly identify situations whereby a RemoteSubscriber is no longer in use, and release resources accordingly.
One possible solution might be to periodically check all subscriptions in the SubscriptionRegistry and release any which have not had a recent poll request beyond a certain time limit.
--
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
14 years, 11 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2209) Improve ways to transfer state information from a nested conversation to the parent conversation context
by Wolfgang Schwendt (JIRA)
Improve ways to transfer state information from a nested conversation to the parent conversation context
--------------------------------------------------------------------------------------------------------
Key: JBSEAM-2209
URL: http://jira.jboss.com/jira/browse/JBSEAM-2209
Project: JBoss Seam
Issue Type: Bug
Components: Core
Reporter: Wolfgang Schwendt
Priority: Critical
When a nested conversation ends, it is difficult to transfer an ending result back to the parent conversation. The following approach is currently not viable with Seam: We cannot simply access a component from the parent conversation and call a property Setter of this component with the ending result of the nested conversation supplied as argument for this Setter. The reason is that when a component from the parent conversation is called while the nested conversation is still in progress, the ManagedEntityIdentityInterceptor saves wrappers for the called component in the scope of the nested conversation (!) and not the scope of the parent conversation. So once the nested conversation scope gets destroyed at the end of the nested conversation, the saved wrappers for the component from the parent conversation get destroyed as well.
Scenario:
Suppose that we have a component AA in the conversation context with a field reference named 'bb' to an another component Q. At some point of time this reference is moved by the ManagedEntityIdentityInterceptor to a conversation-scoped context variable with the name "AA.bb". Then we start a nested conversation. While the nested conversation is in progress, we can call a method of component AA and successfully access the field bb because at the time of the method invocation, the ManagedEntityIdentityInterceptor can retrieve the saved wrapper for field bb from the parent conversation context and put the contained reference into the component AA.
But then we call a method of component AA which changes the field bb. At the end of this method invocation, the ManagedEntityIdentityInterceptor moves the new value of reference field bb to a wrapper saved in the nested (!) conversation context. Afterwards we end the nested conversation and the parent conversation resumes again. When we then call a method of component AA again, the ManagedEntityIdentityInterceptor retrieves the wrapper for field bb from the conversation context. But this wrapper contains the old value for field bb, not the new value. Note that the wrapper with the new value for field bb got destroyed already at the time when the nested conversation context was destroyed.
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=118936&start=30
Feature request regarding nested conversations
Tue Sep 18, 2007 00:28 AM
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=121852
Nested Conversations (tricky interceptor)
Mon Oct 22, 2007 11:03 AM
--
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
14 years, 11 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1619) support for Glassfish in seam-gen
by Dan Allen (JIRA)
support for Glassfish in seam-gen
---------------------------------
Key: JBSEAM-1619
URL: http://jira.jboss.com/jira/browse/JBSEAM-1619
Project: JBoss Seam
Issue Type: Feature Request
Components: Tools
Affects Versions: 2.0.0.BETA1
Environment: Glassfish V2
Reporter: Dan Allen
I believe that adding support for Glassfish will help promote the adoption of Seam. In my mind, Tomcat is not nearly as important because it is not a Java EE-compliant environment and seam-gen is all about creating compliant projects.
Supporting Glassfish is actually quite straightforward. There are a couple of assumptions that are made by seam-gen that render it incompatible with a generic Java EE-compliant application server. Here is what needs to change:
1. The java:/ prefix on the data source causes problems with other servers. This can be easily brought into compliance by adding <use-java-context>false</use-java-context> to the *-ds.xml files and removing the java:/ prefix from the persistence-*.xml files in the seam-gen/resources/META-INF directory
2. Glassfish does not use Hibernate EntityManager as the default JPA provider, and therefore does not have any of its jar files. Of course, we could just make everyone copy necessary hibernate jar files into the glassfish installation directory, but that just isn't going to go over well. I think a better approach is to modify the build.xml file to copy the following three libraries if the property hibernate.needed=true is set:
hibernate-all.jar
thirdparty-all.jar
jboss-archive-browsing.jar (not currently in the seam distribution, but stuck inside the jboss-embedded-all.jar file)
3. Make the hibernate.transaction.manager_lookup_class parameterized, perhaps asking during setup
4. Removing the .war suffix on the exploded archive directory (so that Glassfish can deploy the directory using asadmin deploydir)
That's it! Then you can have Glassfish working.
--
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
14 years, 11 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1849) Exception handling broken
by Christian Bauer (JIRA)
Exception handling broken
-------------------------
Key: JBSEAM-1849
URL: http://jira.jboss.com/jira/browse/JBSEAM-1849
Project: JBoss Seam
Issue Type: Bug
Components: Core
Reporter: Christian Bauer
Looks like some work on the namespaces confused the exception handling:
<exception>
<redirect view-id="/message.xhtml">
<message severity="ERROR">Exception: #{org.jboss.seam.handledException.message}</message>
</redirect>
</exception>
or
<exception>
<redirect view-id="/message.xhtml">
<message severity="ERROR">Exception: #{org.jboss.seam.exception.message}</message>
</redirect>
</exception>
or (on message.xhtml):
Exception: #{org.jboss.seam.handledException}
produce:
(http-127.0.0.1-8080-2hread) 07:29:27,035 DEBUG [Exceptions] reading exception mappings from /WEB-INF/pages.xml
(http-127.0.0.1-8080-2hread) 07:29:27,039 DEBUG [Navigator] redirecting to: /message.xhtml
(http-127.0.0.1-8080-2hread) 07:29:27,041 DEBUG [FacesManager] redirecting to: /wiki/message.seam?cid=7
(http-127.0.0.1-8080-2hread) 07:29:27,043 ERROR [CachedConnectionValve] Application error: Faces Servlet did not complete its transaction
(http-127.0.0.1-8080-1hread) 07:29:27,046 TRACE [SeamPhaseListener] before phase: RESTORE_VIEW 1
(http-127.0.0.1-8080-1hread) 07:29:27,046 DEBUG [FacesLifecycle] >>> Begin JSF request
(http-127.0.0.1-8080-1hread) 07:29:27,047 DEBUG [SeamPhaseListener] beginning transaction prior to phase: RESTORE_VIEW 1
(http-127.0.0.1-8080-1hread) 07:29:27,047 DEBUG [UTTransaction] beginning JTA transaction
(http-127.0.0.1-8080-1hread) 07:29:27,048 TRACE [SeamPhaseListener] after phase: RESTORE_VIEW 1
(http-127.0.0.1-8080-1hread) 07:29:27,048 DEBUG [ConversationPropagation] Found conversation id in request parameter: 7
(http-127.0.0.1-8080-1hread) 07:29:29,048 DEBUG [Manager] No stored conversation, or concurrent call to the stored conversation
(http-127.0.0.1-8080-1hread) 07:29:29,049 DEBUG [SeamPhaseListener] committing transaction after phase: RESTORE_VIEW 1
(http-127.0.0.1-8080-1hread) 07:29:29,049 DEBUG [UTTransaction] committing JTA transaction
(http-127.0.0.1-8080-1hread) 07:29:29,050 TRACE [SeamPhaseListener] before phase: RENDER_RESPONSE 6
(http-127.0.0.1-8080-1hread) 07:29:29,050 DEBUG [SeamPhaseListener] beginning transaction prior to phase: RENDER_RESPONSE 6
(http-127.0.0.1-8080-1hread) 07:29:29,050 DEBUG [UTTransaction] beginning JTA transaction
(http-127.0.0.1-8080-1hread) 07:29:29,066 ERROR [STDERR] Aug 23, 2007 7:29:29 AM com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View[/message.xhtml]
javax.el.ELException: /message.xhtml: Property 'handledException' not found on type org.jboss.seam.Namespace
at com.sun.facelets.compiler.TextInstruction.write(TextInstruction.java:48)
at com.sun.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:39)
at com.sun.facelets.compiler.UILeaf.encodeAll(UILeaf.java:149)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:577)
at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:233)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
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:82)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:395)
at org.jboss.seam.wiki.core.ui.WikiUrlRewriteFilter.doFilter(WikiUrlRewriteFilter.java:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:72)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:68)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:149)
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:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
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:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
--
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
14 years, 11 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1206) improve i18n in seam-gen
by Pierre Raoul (JIRA)
improve i18n in seam-gen
------------------------
Key: JBSEAM-1206
URL: http://jira.jboss.com/jira/browse/JBSEAM-1206
Project: JBoss Seam
Issue Type: Feature Request
Components: Tools
Affects Versions: 1.2.1.GA
Reporter: Pierre Raoul
It would be great that seam-gen will generate crud pages and classes for an existing Entity class:
- with all the literals replaced with #{messages['key']}
- and i18n default messages generated
Herewith files of a draft version.
I used the jpaconfiguration propositions from JBSEAM-843.
It works under Eclipse: the target "updatecrud" in the project build.xml can be run from Eclipse.
Nota: to translated Enum type, test of this type had to be added. I did it through file inclusion. So it can be used with any other project specific types, e.g. in the attached zip with joda-time type.
--
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
14 years, 11 months