noep, there since 1.3.6 and enabled by default. if you use
httpsessionstore the problem will only appear when clustering or when
servlet container spools sessions to disk.

-igor

On Thu, May 28, 2009 at 7:26 PM, Chris Colman
<chr...@stepaheadsoftware.com> wrote:
> Is that a relatively new feature because we're still on 1.4m2
> (2008/05/24) and haven't had any trouble with non serializeable model
> objects when going back to pages that have been spooled to disk.
>
> Maybe if it's a newer feature and we upgrade to the latest wicket we
> might start seeing some problems due to the lack of serializability of
> our model objects.... hmmm
>
> Chris
>
>> to keep memory overhread low only the last visisted page is stored in
>> http session. the rest of the pages are spooled to disk for long-term
>> storage in case the user uses the back button, and are cleaned up on
>> session expiration.
>>
>> -igor
>>
>> On Thu, May 28, 2009 at 6:54 PM, Chris Colman
>> <chr...@stepaheadsoftware.com> wrote:
>> > When you say "offline storage" do you mean that the user has chosen
> to
>> > save pages for future offline reference or do you mean a more
>> > 'automated' process that wicket performs when system memory becomes
> too
>> > low?
>> >
>> > Chris
>> >
>> >> -----Original Message-----
>> >> From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com]
>> >> Sent: Friday, 29 May 2009 11:43 AM
>> >> To: users@wicket.apache.org
>> >> Subject: Re: Anemic domain model and are @SpringBean's compatible
> with
>> > the
>> >> solution in "Spring 2.0 vs. the Anemic Domain Model"?
>> >>
>> >> well, this is why salve removes the dependency field to at least
> help
>> >> with those.
>> >>
>> >> other then that you can use a loadabledetachablemodel to release
> the
>> >> reference when the page is not used.
>> >>
>> >> -igor
>> >>
>> >> On Thu, May 28, 2009 at 6:40 PM, Chris Colman
>> >> <chr...@stepaheadsoftware.com> wrote:
>> >> > Is that controllable?
>> >> >
>> >> > What if I have complex object models referenced from wicket UI
>> >> > components that I don't want (can't reasonably with Java's non
>> > optimal
>> >> > serialization) serialized?
>> >> >
>> >> > If we're serializing for offline storage aren't we going to
> require
>> > the
>> >> > underlying model objects to get serialized as well?
>> >> >
>> >> >> -----Original Message-----
>> >> >> serialization in the context when you need to serialize the
> object
>> > -
>> >> >> eg wicket serializes its pages for offline storage, etc.
>> >> >>
>> >> >> -igor
>> >> >>
>> >> >> On Thu, May 28, 2009 at 5:51 PM, Chris Colman
>> >> >> <chr...@stepaheadsoftware.com> wrote:
>> >> >> > Another extremely light weight IoC with ORM wrapping (JDO and
>> >> > Hibernate)
>> >> >> > is exPOJO at http://www.expojo.com
>> >> >> >
>> >> >> > No need for old fashioned DAOs etc., just POJOs being
> persisted
>> >> >> > transparently the way they should be.
>> >> >> >
>> >> >> > In terms of serialization:
>> >> >> >
>> >> >> > Is that for the purpose of scaling in a cluster environment? I
>> > vote
>> >> > for
>> >> >> > 'session affinity' every time - it's almost necessary when you
>> > have
>> >> >> > anything more sophisticated than an anemic domain model. Do
> you
>> >> > really
>> >> >> > want to be shifting complex object models from server to
> server
>> > via
>> >> >> > serialization?
>> >> >> >
>> >> >> > If it's not for a cluster environment but for a single server
> to
>> >> > allow
>> >> >> > stale sessions to be swapped out then let the garbage
> collection
>> >> > clean
>> >> >> > out the ORM's object cache instead.
>> >> >> >
>> >> >> >> -----Original Message-----
>> >> >> >> From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com]
>> >> >> >> Sent: Friday, 29 May 2009 3:38 AM
>> >> >> >> To: users@wicket.apache.org
>> >> >> >> Subject: Re: Anemic domain model and are @SpringBean's
>> > compatible
>> >> > with
>> >> >> > the
>> >> >> >> solution in "Spring 2.0 vs. the Anemic Domain Model"?
>> >> >> >>
>> >> >> >> On Thu, May 28, 2009 at 10:09 AM, Kent Larsson
>> >> >> > <kent.lars...@gmail.com>
>> >> >> >> wrote:
>> >> >> >> > Nice! I think Salve looks great! And it solves more than
> this
>> >> >> > problem,
>> >> >> >> > I like the design by contract module too as it allows me to
>> >> > validate
>> >> >> >> > parameters in a bit more declarative way.
>> >> >> >> >
>> >> >> >> > Do you think Salve is ready to be used in production? I'm a
>> > bit
>> >> >> >> > concerned by "Although already usable, Salve is still in
> its
>> >> >> > infancy.
>> >> >> >> > Not all features have been implemented and not all problems
>> >> > worked
>> >> >> >> > out.". I only see one open issue and it doesn't seem too
> major
>> >> > for
>> >> >> > me
>> >> >> >> > to pick it up.
>> >> >> >>
>> >> >> >> we have been using it in production for a while without any
>> >> > problems.
>> >> >> >> i just need to find the time to update the website text :)
>> >> >> >>
>> >> >> >> > If I'm not mistaken Salve may be used (for lots of things,
> but
>> >> > one
>> >> >> > is)
>> >> >> >> > to solve serialization issues with Spring beans in Wicket
>> >> >> > components?
>> >> >> >> > But isn't that the same issue that the Wicket IOC and it's
>> >> >> > @SpringBean
>> >> >> >> > annotation solves?
>> >> >> >>
>> >> >> >> wicket ioc can only take it so far. because it has to
> generate a
>> >> > proxy
>> >> >> >> there are limitations to what classes can be proxies - eg no
>> > final
>> >> >> >> methods, default constructor, etc. salve doesnt use a proxy
> so
>> > it
>> >> >> >> doesnt have any problems.
>> >> >> >>
>> >> >> >> although small, wicket ioc does have an overhead of having to
>> >> >> >> serialize the proxy with the componnet. since salve removes
> the
>> >> > field
>> >> >> >> it has no such overhead, this is more important when you are
>> >> > returning
>> >> >> >> large resultsets of entities that use dependencies.
>> >> >> >>
>> >> >> >> > If that's the case: Could I use Spring to inject my
> entities
>> > with
>> >> >> >> > DAO's for now, and use the @SpringBean annotation on those
> as
>> >> > well
>> >> >> > in
>> >> >> >> > my Wicket components (In those cases I have entities as
> class
>> >> > vars)?
>> >> >> >> > And the @SpringBean will solve the serialization issue?
>> >> >> >>
>> >> >> >> you can use whatever works for you. salve is an alternative
> :)
>> >> >> >>
>> >> >> >> > By just looking at Salve a bit it seems I could migrate to
>> > Salve
>> >> > in
>> >> >> >> > two steps that way. And it might be a pretty smooth path to
>> > take?
>> >> > It
>> >> >> >> > would mean that I inject 1000 entities for no good reason.
> But
>> > if
>> >> > I
>> >> >> >> > see a performance problem in doing so I could just migrate
> to
>> >> > Salve?
>> >> >> >> > By smooth path I mean that I would have access to my DAO's
> in
>> > my
>> >> >> >> > entities and would essentially only change the dependency
>> >> >> > annotations
>> >> >> >> > and setup Salve.
>> >> >> >>
>> >> >> >> as long as you do not use spring-specific injection rules you
>> >> > should
>> >> >> >> be fine. salve uses lookup by type primarily, but also does
> have
>> >> >> >> @SpringBeanId that can be used as a qualifier.
>> >> >> >>
>> >> >> >>
>> >> >> >> > Of course, if Salve is production ready. Then could I throw
>> > out
>> >> >> > Wicket
>> >> >> >> > IOC and the @SpringBean annotation and use Salve instead to
>> > solve
>> >> >> >> > serialization issues? In this case I would use Salve for my
>> >> >> >> > presentation/Wicket -layer as well as dependency injection
> in
>> > my
>> >> >> >> > entities and Spring as I already do for my service/business
>> >> > -layer
>> >> >> > and
>> >> >> >> > my persistence/DTO -layer. Or would it be nicer to have
> Salve
>> >> > handle
>> >> >> >> > dependencies in the last two layers as well?
>> >> >> >>
>> >> >> >> we use salve to inject across all layers. it gives you a
>> > consistent
>> >> >> >> approach to use and mock in unit tests. we have a spring
> context
>> >> > that
>> >> >> >> contains true services - eg session factory, mail sender,
> credit
>> >> > card
>> >> >> >> processor, etc. all of our domain model then uses salve to
>> > inject
>> >> >> >> these wherever needed.
>> >> >> >>
>> >> >> >> -igor
>> >> >> >>
>> >> >> >> > A lot of questions and text. Thanks for reading this far!
> :-)
>> >> >> >> >
>> >> >> >> > Best regards, Kent
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >
>> >> >> >> > On Thu, May 28, 2009 at 5:36 PM, Igor Vaynberg
>> >> >> > <igor.vaynb...@gmail.com>
>> >> >> >> wrote:
>> >> >> >> >> this is why i built salve.googlecode.com
>> >> >> >> >>
>> >> >> >> >> you can easily hook it into spring and have all your
> objects
>> >> > (doman
>> >> >> >> >> objects or wicket components) injected via @Dependency
>> > without
>> >> >> >> >> worrying about serialization issues or eager injection -
> eg
>> > if
>> >> > you
>> >> >> >> >> load a result set of 1000 hibernate entities that need
>> > injection
>> >> >> > you
>> >> >> >> >> dont want all those injected for no reason.
>> >> >> >> >>
>> >> >> >> >> -igor
>> >> >> >> >>
>> >> >> >> >> On Thu, May 28, 2009 at 6:38 AM, Kent Larsson
>> >> >> > <kent.lars...@gmail.com>
>> >> >> >> wrote:
>> >> >> >> >>> Hi,
>> >> >> >> >>>
>> >> >> >> >>> Our current architecture:
>> >> >> >> >>> ---
>> >> >> >> >>>
>> >> >> >> >>> We're currently using a 3-tier architecture
> (presentation,
>> >> >> >> >>> service/business and persistence) consisting of Wicket (+
> a
>> >> > little
>> >> >> >> >>> Spring), Spring and Spring + Hibernate:
>> >> >> >> >>>
>> >> >> >> >>> Wicket:
>> >> >> >> >>>
>> >> >> >> >>> Does presentation, we're not inside a transaction /
>> > Hibernate
>> >> >> > session
>> >> >> >> >>> so all used fields must be loaded by Spring. We call
> Spring
>> >> >> > singleton
>> >> >> >> >>> beans and annotate those fields with @SpringBean.
>> >> >> >> >>>
>> >> >> >> >>> Spring:
>> >> >> >> >>>
>> >> >> >> >>> In the service layer we have Spring singleton beans,
>> > services,
>> >> >> > which
>> >> >> >> >>> are called from the Wicket layer. We have our transaction
> /
>> >> >> > Hibernate
>> >> >> >> >>> session boundary at this layer. We call DAO's from this
>> > layer.
>> >> >> >> >>>
>> >> >> >> >>> Spring + Hibernate:
>> >> >> >> >>>
>> >> >> >> >>> Our DAO's are Spring singleton beans which performs
> database
>> >> >> >> >>> operations using HibernateTemplate.
>> >> >> >> >>>
>> >> >> >> >>> And common to all the layers are our entities. We use the
>> >> > @Entity
>> >> >> >> >>> annotation on them (not XML), from the Wicket layer we
> just
>> > use
>> >> >> > the
>> >> >> >> >>> accessor methods making sure that the relevant fields are
>> >> > loaded
>> >> >> > (as
>> >> >> >> >>> we would get an exception if they were Lazy and not yet
>> >> > loaded).
>> >> >> > Our
>> >> >> >> >>> entities are stupid, they lack logic and are used mostly
>> > like a
>> >> >> > struct
>> >> >> >> >>> in C/C++.
>> >> >> >> >>>
>> >> >> >> >>> I think the general pattern is pretty common for Java EE
> and
>> >> >> > Spring
>> >> >> >> >>> based web applications (feel free to disagree!). Yet it's
>> >> >> > classified
>> >> >> >> >>> as an anti-pattern by Martin Fowler as we are using
> mostly
>> >> >> > procedural
>> >> >> >> >>> programming and have an anemic domain model (
>> >> >> >> >>> http://en.wikipedia.org/wiki/Anemic_Domain_Model ).
>> >> >> >> >>>
>> >> >> >> >>> What I would like:
>> >> >> >> >>> ---
>> >> >> >> >>>
>> >> >> >> >>> I would like to use a more OOP approach and have logic in
>> > our
>> >> >> > current
>> >> >> >> >>> entities, creating a rich domain model. For that to work
> in
>> > all
>> >> >> > cases
>> >> >> >> >>> they need to be able to load and save data. I would still
>> > use a
>> >> >> > Spring
>> >> >> >> >>> singleton bean's for different services. But instead of
>> >> > changing
>> >> >> > the
>> >> >> >> >>> entities like structs they would be rich objects capable
> of
>> >> >> > chaning
>> >> >> >> >>> themself's and other objects.
>> >> >> >> >>>
>> >> >> >> >>> I found this article very interesting:
>> >> >> >> >>>
>> > http://www.nofluffjuststuff.com/blog_detail.jsp?rssItemId=96860
>> >> >> >> >>>
>> >> >> >> >>> But how would something like that work with Wicket? Could
> I
>> >> > just
>> >> >> > use
>> >> >> >> >>> @SpringBean like I'm currently doing but use it on both
>> >> > "entities"
>> >> >> > and
>> >> >> >> >>> Spring singleton services?
>> >> >> >> >>>
>> >> >> >> >>> For me this has a purely practical benefit, as I could
> use
>> > some
>> >> >> >> >>> inheritance in the domain object model to create
> different
>> >> >> > variations
>> >> >> >> >>> of logic and not just data. Wicket feels quite agile and
>> > nice
>> >> > to
>> >> >> > work
>> >> >> >> >>> with, but I still feel that the current architecture is a
>> > bit
>> >> >> > stale
>> >> >> >> >>> and seldom supports elegant OO solutions (that said, of
>> > course
>> >> >> > things
>> >> >> >> >>> can still be solved elegantly, I just think it would be
>> > easier
>> >> > if
>> >> >> > I
>> >> >> >> >>> could do it in a more OO oriented way).
>> >> >> >> >>>
>> >> >> >> >>> Comments? What are the pros and cons of this kind of
>> >> > architecture?
>> >> >> >> >>>
>> >> >> >> >>> All comments are greatly appreciated!
>> >> >> >> >>>
>> >> >> >> >>> Best regards, Kent
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >
>> >> >
>> >
> ---------------------------------------------------------------------
>> >> >> >> >>> To unsubscribe, e-mail:
> users-unsubscr...@wicket.apache.org
>> >> >> >> >>> For additional commands, e-mail:
>> > users-h...@wicket.apache.org
>> >> >> >> >>>
>> >> >> >> >>>
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >
>> >> >
>> >
> ---------------------------------------------------------------------
>> >> >> >> >> To unsubscribe, e-mail:
> users-unsubscr...@wicket.apache.org
>> >> >> >> >> For additional commands, e-mail:
> users-h...@wicket.apache.org
>> >> >> >> >>
>> >> >> >> >>
>> >> >> >> >
>> >> >> >> >
>> >> >> >
>> >> >
>> >
> ---------------------------------------------------------------------
>> >> >> >> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> >> >> > For additional commands, e-mail:
> users-h...@wicket.apache.org
>> >> >> >> >
>> >> >> >> >
>> >> >> >>
>> >> >> >>
>> >> >
>> >
> ---------------------------------------------------------------------
>> >> >> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> >> >> For additional commands, e-mail: users-h...@wicket.apache.org
>> >> >> >>
>> >> >> >>
>> >> >> >> No virus found in this incoming message.
>> >> >> >> Checked by AVG - www.avg.com
>> >> >> >> Version: 8.5.339 / Virus Database: 270.12.44/2140 - Release
>> > Date:
>> >> >> > 05/28/09
>> >> >> >> 18:09:00
>> >> >> >
>> >> >> >
>> >> >
>> >
> ---------------------------------------------------------------------
>> >> >> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> >> > For additional commands, e-mail: users-h...@wicket.apache.org
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >
> ---------------------------------------------------------------------
>> >> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> >> For additional commands, e-mail: users-h...@wicket.apache.org
>> >> >>
>> >> >>
>> >> >> No virus found in this incoming message.
>> >> >> Checked by AVG - www.avg.com
>> >> >> Version: 8.5.339 / Virus Database: 270.12.44/2140 - Release
> Date:
>> >> > 05/28/09
>> >> >> 18:09:00
>> >> >
>> >> >
>> >
> ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> > For additional commands, e-mail: users-h...@wicket.apache.org
>> >> >
>> >> >
>> >>
>> >>
> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> >> For additional commands, e-mail: users-h...@wicket.apache.org
>> >>
>> >>
>> >> No virus found in this incoming message.
>> >> Checked by AVG - www.avg.com
>> >> Version: 8.5.339 / Virus Database: 270.12.44/2140 - Release Date:
>> > 05/28/09
>> >> 18:09:00
>> >
>> >
> ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> > For additional commands, e-mail: users-h...@wicket.apache.org
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>> No virus found in this incoming message.
>> Checked by AVG - www.avg.com
>> Version: 8.5.339 / Virus Database: 270.12.44/2140 - Release Date:
> 05/28/09
>> 18:09:00
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to