Yeah, I've been thinking about this. Should be quite elegant using 
closure (anonymous class). But still, the problem with big session lock 
will raise, sooner or later :)

-Matej

Igor Vaynberg wrote:
> not really a solution, but something that might help, spin off the 
> thread in onclick and wait for it to finish for some number of 
> milliseconds - that should at least give you some control over a timeout.
> 
> -Igor
> 
> 
> On 6/21/06, *Matej Knopp* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> 
> wrote:
> 
>     I don't know if it can be considered a deadlock, but basicaly, if (for
>     any reason) a request doesn't complete (db problem, etc), no further
>     requests from the same session can be processed.
> 
>     Now maybe if you have perfect business objects that's not an issue, but
>     in our current project we depend on third party business objects and
>     sometimes they behave very funny.
> 
>     The "hack" with unlocking session would solve this, but I must admit, it
>     would be still a hack. But I can't think of any other solution except
>     for doing the operation in separate thread, which should be doable but
>     it would complicate the thing quite a lot.
> 
>     I'm I the only one with this issue?
> 
>     -Matej
> 
>     Eelco Hillenius wrote:
>      > I think providing unlocking functionality is not the way to go. You
>      > basically just provide a hack opportunity if you do that, and that's
>      > not what a framework should do. I'm not really getting the problem at
>      > this point, but if we have a possible deadlock in our request
>      > handling, that's obviously a bug. If we have not, it's not a bug, and
>      > any 'fixes' we do should be geared towards clean improvements, not
>      > workarounds.
>      >
>      > Eelco
>      >
>      >
>      > On 6/21/06, Matej Knopp < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>     wrote:
>      >> I'm also curious what other devs would say. New thread could
>     solve this
>      >> but it's not the solution i'm looking for.
>      >>
>      >> I think the locking should be more flexible then just
>      >>   synchronized(myBFLock) {
>      >>     processTheWholeRequest();
>      >>   }
>      >> even if it needs additional refactor.
>      >>
>      >> (Maybe RequestTarget#lock and RequestTarget#unlock?)
>      >>
>      >> But that's my humble opinion only.
>      >>
>      >> -Matej
>      >>
>      >> Igor Vaynberg wrote:
>      >>> the page targets are too flexible to support something like
>     this because
>      >>> they do not lock on session specifically - the implementation just
>      >>> happens to do that now. and this would also require us to
>     completely
>      >>> change how we do locking/refactor requesttargets possibly, etc.
>      >>>
>      >>> we should run this past other core devels and see their opinions.
>      >>>
>      >>> personally, if i knew i had a long running process i would spin
>     off a
>      >>> new thread, do it there, then notify the user when it is
>     complete. i
>      >>> know that is not always doable, just a suggestion.
>      >>>
>      >>> -Igor
>      >>>
>      >>>
>      >>> On 6/21/06, *Matej Knopp* <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>>> wrote:
>      >>>
>      >>>     If there was something like
>      >>>
>      >>>     RequestCycle.lockSession()
>      >>>     RequestCycle.unlockSession()
>      >>>
>      >>>     where in my onClock handler I could call
>      >>>
>      >>>     RequestCycle.get().unlockSession()
>      >>>     --do-my-stuff-and-don't-touch-the-session!
>      >>>     RequestCycle.get().lockSession()
>      >>>
>      >>>     I know this adds responsibility to the developer, but this
>     is only for
>      >>>     corner cases.
>      >>>
>      >>>     -Matej
>      >>>
>      >>>     Matej Knopp wrote:
>      >>>      > Sorry, i'm lost. How is overriding getlock() supposed to
>     help me?
>      >>>     I need
>      >>>      > to lock the session, but not for the whole request. Just
>     for a part
>      >>>      > before the db call and the part after.
>      >>>      >
>      >>>      > -Matej
>      >>>      >
>      >>>      > Igor Vaynberg wrote:
>      >>>      >> in that case we sort of already have a mechanism for
>     that, request
>      >>>      >> target has a getlock() which you can override and return
>      >>>     something other
>      >>>      >> then session, just need a way to encode a url so it is
>     resolved
>      >>>     to your
>      >>>      >> own target
>      >>>      >>
>      >>>      >> -Igor
>      >>>      >>
>      >>>      >>
>      >>>      >>
>      >>>      >>
>      >>>      >> On 6/21/06, *Matej Knopp* <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>
>      >>>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >
>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>      >>>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> wrote:
>      >>>      >>
>      >>>      >>     Well, it would be your responsibility not to touch
>      >>>     application or
>      >>>      >>     session if the mutex is unlocked. This is not
>     something an
>      >>>     average joe
>      >>>      >>     would do in every link handler. You would do that
>     only right
>      >>>     before a
>      >>>      >>     long db operation and lock it right after it.
>      >>>      >>
>      >>>      >>     I'm not looking for perfect solution. I'm looking
>     for one
>      >>>     that works. A
>      >>>      >>     solution when the application stops responding
>     until session
>      >>>     expires is
>      >>>      >>     not perfect either.
>      >>>      >>
>      >>>      >>     -Matej
>      >>>      >>
>      >>>      >>     Igor Vaynberg wrote:
>      >>>      >>      > but you wouldnt want to unlock the mutex, thats
>     kinda the
>      >>>     whole
>      >>>      >>     point!
>      >>>      >>      > what if both pages access session object? or
>     application
>      >>>     object?
>      >>>      >>     now you
>      >>>      >>      > have to start worrying about concurrency on
>     those. the
>      >>>     advantage of
>      >>>      >>      > letting only one page request through at a time
>     is that
>      >>>     users
>      >>>      >>     dont have
>      >>>      >>      > to think about concurrency, if we dont do that the
>      >>>     programming model
>      >>>      >>      > becomes much more complicated. it has its draw
>     backs for
>      >>>     sure, but i
>      >>>      >>      > dont think there is a perfect solution here.
>      >>>      >>      >
>      >>>      >>      > -Igor
>      >>>      >>      >
>      >>>      >>      >
>      >>>      >>      >
>      >>>      >>      > On 6/21/06, *Matej Knopp* <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>
>      >>>     <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> <mailto:
>     [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>>>
>      >>>      >>     <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>      >>>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:
>     [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>>> wrote:
>      >>>      >>      >
>      >>>      >>      >     Igor Vaynberg wrote:
>      >>>      >>      >      > not unless all page targets return the
>     same mutex
>      >>>     instance :)
>      >>>      >>      >     The mutex would be stored in session of
>     course :)
>      >>>      >>      >      >
>      >>>      >>      >      > the point is that only a single page is
>     processed
>      >>>     at a time
>      >>>      >>      >     because of
>      >>>      >>      >      > pagemap, etc. although i dont really know
>     if the
>      >>>     pagemap is
>      >>>      >>      >     affected all
>      >>>      >>      >      > that much in 2.0.
>      >>>      >>      >      >
>      >>>      >>      >      > but even then, lets say i double click a link
>      >>>     really fast,
>      >>>      >>     i get two
>      >>>      >>      >      > different instances of pagetarget that
>     are going to do
>      >>>      >>     processing
>      >>>      >>      >     on the
>      >>>      >>      >      > same page instance, so once again both of
>     those page
>      >>>      >>     targets have to
>      >>>      >>      >      > return the same mutex instance. dont know
>     how we
>      >>>     are going
>      >>>      >>     to do
>      >>>      >>      >     that or
>      >>>      >>      >      > if it will be simpler/better then locking
>     session.
>      >>>      >>      >     I don't think it would be simpler. But it
>     would be
>      >>>     better in
>      >>>      >>     a way that
>      >>>      >>      >     if you have an action that takes very long,
>     you can
>      >>>     "unlock"
>      >>>      >>     the mutex
>      >>>      >>      >     in you link handler, let other requests
>     process, and
>      >>>     after
>      >>>      >>     you are
>      >>>      >>      >     done,
>      >>>      >>      >     you lock the session again.
>      >>>      >>      >      >
>      >>>      >>      >      > the thing about the db locking up is that it
>      >>>     should have some
>      >>>      >>      >     sort of a
>      >>>      >>      >      > timeout that throws an error, and the
>     sync block
>      >>>     should
>      >>>      >>     then be
>      >>>      >>      >     broken.
>      >>>      >>      >      > that doesnt happen? sounds like more of a
>     fault in
>      >>>     your app?
>      >>>      >>      >     maybe we
>      >>>      >>      >      > should build a timeout for our sync block.
>      >>>      >>      >     Well, the db can either lock up, or it
>     really takes
>      >>>     that long
>      >>>      >>     to get the
>      >>>      >>      >     data (complicated statistics, reports, etc).
>     In the
>      >>>     meanwhile
>      >>>      >>     user would
>      >>>      >>      >     like to work with the rest of the
>     application but he
>      >>>     can't.
>      >>>      >>      >
>      >>>      >>      >     -Matej
>      >>>      >>      >      >
>      >>>      >>      >      > -Igor
>      >>>      >>      >      >
>      >>>      >>      >      >
>      >>>      >>      >      > On 6/21/06, *Matej Knopp* <
>     [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>      >>>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>      >>>      >>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> >
>      >>>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>      >>>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>>
>      >>>      >>      >     <mailto: [EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL 
> PROTECTED]>>
>      >>>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>
>      >>>      >>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>      >>>     <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>>>> wrote:
>      >>>      >>      >      >
>      >>>      >>      >      >     Hi,
>      >>>      >>      >      >
>      >>>      >>      >      >     we have a problem with session locking.
>      >>>     Sometimes, the
>      >>>      >>     underlying
>      >>>      >>      >      >     database just hangs and the response
>     is not
>      >>>     processed
>      >>>      >>      >     properly. The
>      >>>      >>      >      >     problem is that HttpSession remains
>     locked.
>      >>>      >>      >      >
>      >>>      >>      >      >     Wouldn't it be possible to replace
>     the current
>      >>>     locking
>      >>>      >>     mechanism
>      >>>      >>      >      >     ( synchronized(lock) { doEverything()
>     }   )
>      >>>      >>      >      >
>      >>>      >>      >      >     with something that would behave more
>     like a
>      >>>     mutex?
>      >>>      >>      >      >
>      >>>      >>      >      >     e.g.
>      >>>      >>      >      >
>      >>>      >>      >      >     Mutext mutex =
>     getRequestTarget().getMutex();
>      >>>      >>      >      >
>      >>>      >>      >      >     mutex.lock();
>      >>>      >>      >      >     processRequest();
>      >>>      >>      >      >     mutex.unlock ();
>      >>>      >>      >      >
>      >>>      >>      >      >     and the code running the operation
>     could look like
>      >>>      >>      >      >
>      >>>      >>      >      >
>      >>>      >>    
>     RequestCycle().get().getReqeustTarget().getMutex().unlock();
>      >>>      >>      >      >     doMySloooowOperation();
>      >>>      >>      >      >
>      >>>      >>    
>     RequestCycle().get().getReqeustTarget().getMutex().lock();
>      >>>      >>      >      >
>      >>>      >>      >      >     -Matej
>      >>>      >>      >      >
>      >>>      >>      >      >
>      >>>      >>      >      >    
>     _______________________________________________
>      >>>      >>      >      >     Wicket-develop mailing list
>      >>>      >>      >      >     Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>
>      >>>      >>      >     <mailto:
>     Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>>
>      >>>      >>      >      >     <mailto:
>     Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>
>      >>>      >>      >     <mailto:
>     Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>>>
>      >>>      >>      >      >
>      >>>      >>    
>     https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>>     < https://lists.sourceforge.net/lists/listinfo/wicket-develop>
>      >>>      >>      >     <
>      >>>     https://lists.sourceforge.net/lists/listinfo/wicket-develop
>     <https://lists.sourceforge.net/lists/listinfo/wicket-develop>>
>      >>>      >>      >      >
>      >>>      >>      >      >
>      >>>      >>      >      >
>      >>>      >>      >      >
>      >>>      >>      >
>      >>>      >>
>      >>>    
>     ------------------------------------------------------------------------
>      >>>      >>
>      >>>      >>      >      >
>      >>>      >>      >      >
>     _______________________________________________
>      >>>      >>      >      > Wicket-develop mailing list
>      >>>      >>      >      > Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>
>      >>>      >>      >     <mailto:
>     Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>>
>      >>>      >>      >      >
>      >>>      >>    
>     https://lists.sourceforge.net/lists/listinfo/wicket-develop
>     <https://lists.sourceforge.net/lists/listinfo/wicket-develop>
>      >>>      >>    
>     <https://lists.sourceforge.net/lists/listinfo/wicket-develop>
>      >>>      >>      >
>      >>>      >>      >
>      >>>      >>      >
>      >>>      >>      >     _______________________________________________
>      >>>      >>      >     Wicket-develop mailing list
>      >>>      >>      >     Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>
>      >>>      >>      >     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>>
>      >>>      >>      >
>      >>>     https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>>      >>     <
>     https://lists.sourceforge.net/lists/listinfo/wicket-develop
>     <https://lists.sourceforge.net/lists/listinfo/wicket-develop>>
>      >>>      >>      >
>      >>>     <https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>>     < https://lists.sourceforge.net/lists/listinfo/wicket-develop>>
>      >>>      >>      >
>      >>>      >>      >
>      >>>      >>      >
>      >>>      >>      >
>      >>>      >>
>      >>>    
>     ------------------------------------------------------------------------
>      >>>      >>
>      >>>      >>      >
>      >>>      >>      > _______________________________________________
>      >>>      >>      > Wicket-develop mailing list
>      >>>      >>      > Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>
>      >>>      >>      >
>     https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>>      >>
>      >>>      >>
>      >>>      >>
>      >>>      >>     _______________________________________________
>      >>>      >>     Wicket-develop mailing list
>      >>>      >>     Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto: Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>>
>      >>>      >>    
>     https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>>      >>
>      >>>      >>
>      >>>      >>
>      >>>      >>
>      >>>    
>     ------------------------------------------------------------------------
>      >>>
>      >>>      >>
>      >>>      >> _______________________________________________
>      >>>      >> Wicket-develop mailing list
>      >>>      >> Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      >> https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>>      >
>      >>>      >
>      >>>      >
>      >>>      > _______________________________________________
>      >>>      > Wicket-develop mailing list
>      >>>      > Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>      > https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>>     < https://lists.sourceforge.net/lists/listinfo/wicket-develop>
>      >>>      >
>      >>>
>      >>>
>      >>>
>      >>>     _______________________________________________
>      >>>     Wicket-develop mailing list
>      >>>     Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>>     <mailto:Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>>
>      >>>     https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>>
>      >>>
>      >>>
>      >>>
>     ------------------------------------------------------------------------
> 
>      >>>
>      >>> _______________________________________________
>      >>> Wicket-develop mailing list
>      >>> Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >>> https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>
>      >>
>      >> _______________________________________________
>      >> Wicket-develop mailing list
>      >> Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      >> https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >>
>      >
>      >
>      > _______________________________________________
>      > Wicket-develop mailing list
>      > Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>      > https://lists.sourceforge.net/lists/listinfo/wicket-develop
>      >
> 
> 
>     All the advantages of Linux Managed Hosting--Without the Cost and Risk!
>     Fully trained technicians. The highest number of Red Hat
>     certifications in
>     the hosting industry. Fanatical Support. Click to learn more
>     http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
>     <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642>
>     _______________________________________________
>     Wicket-develop mailing list
>     Wicket-develop@lists.sourceforge.net
>     <mailto:Wicket-develop@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/wicket-develop
> 
> 
> 
> ------------------------------------------------------------------------
> 
> All the advantages of Linux Managed Hosting--Without the Cost and Risk!
> Fully trained technicians. The highest number of Red Hat certifications in
> the hosting industry. Fanatical Support. Click to learn more
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Wicket-develop mailing list
> Wicket-develop@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-develop


All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Wicket-develop mailing list
Wicket-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to