[
https://jira.jboss.org/jira/browse/JBSEAM-3262?page=com.atlassian.jira.pl...
]
Dan Allen commented on JBSEAM-3262:
-----------------------------------
That's a bit unnerving ;)
Must frustration is just shining through here. I just don't understand why this is so
hard to explain. In Seam, as it stands now, the stateless scope doesn't store the
result. It is an "unscope" because after the creation process happens, it
returns the result to the caller and doesn't keep a reference to it. Yes, Seam is
contextual by nature, but the stateless scope falls outside of that nature. Frankly, the
stateless scope is a perfect scope for creating prototypes because its kind of like a
static method (the closest thing I can come up with).
Now, do we need what I am asking for? Maybe I am the only person who finds it useful.
I'm willing to accept that. But I found some way to use Seam that appears like a
perfectly good use case. I like that Seam doesn't force designs on me, yet here we are
trying to force a design.
I completely agree that the stateless scope might not work this way in the future because
the idea was perhaps to be more like stateless session beans. In that case, I would be
referring to another scope, perhaps something like "prototype" scope in Spring,
which, by the way, is exactly like Seam's stateless scope as it stands now.
Allow entity class component to be assigned stateless scope
-----------------------------------------------------------
Key: JBSEAM-3262
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3262
Project: Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.0.3.CR1, 2.1.0.A1
Reporter: Dan Allen
Assignee: Pete Muir
Priority: Minor
Fix For: 2.0.3.GA, 2.1.0.GA
Attachments: JBSEAM-3262-branch20.txt, JBSEAM-3262-trunk.txt
Original Estimate: 5 minutes
Remaining Estimate: 5 minutes
There is no reason for not allowing an entity class component to be assigned to the
stateless context like JavaBean and stateless session bean components. In fact, you could
argue that there is no difference between a JavaBean and an entity class based on the fact
that they are both vanilla Java classes.
There is a perfect use case for this feature that comes right from the heart of Seam.
When using the Home component, it is perfectly natural to create a component role for an
entity class that is wired to the newInstance property to be used as a prototype. For
instance, here is an example:
<component name="roundPrototype" class="org.open18.model.Round"
scope="stateless">
<property name="golfer">#{currentGolfer}</property>
<property name="date">#{currentDate}</property>
</component>
<framework:entity-home name="roundHome"
class="org.open18.action.RoundHome"
new-instance="#{roundPrototype}"/>
You don't want the roundPrototype to be stored in a scope since it is only used
internally to produce the instance managed by the roundHome component. However, with this
configuration, Seam throws an exception at startup.
--
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