Configuring Lift with sbt-web and jRebel

51 views
Skip to first unread message

Evan Jehu

unread,
May 1, 2015, 10:47:16 PM5/1/15
to lif...@googlegroups.com
Hi All,

I'm not sure if this will be helpful to anyone but I have been trying to configure Lift with sbt-web and jRebel and have what I think is a decent setup.  The goal is to have hot class and ReactJS file reloading during development.

I would love to hear your feedback, currently the jRebel config is a bit weak, the sbt will fail if jRebel is not installed...

I have the code in github here https://github.com/babyman/lift-with-sbt-web-and-jrebel for review.

Thanks,

Evan

Matt Farmer

unread,
May 7, 2015, 10:39:09 AM5/7/15
to Lift
Hey, I’m not a huge jRebel user, but in absence of anyone else saying anything I wanted to thank you for the contribution for the list. May give jRebel another shot after looking at this. :-)


Matt Farmer Blog | Twitter

--
--
Lift, the simply functional web framework: http://liftweb.net
Code: http://github.com/lift
Discussion: http://groups.google.com/group/liftweb
Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code

---
You received this message because you are subscribed to the Google Groups "Lift" group.
To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Vasya Novikov

unread,
May 7, 2015, 6:47:48 PM5/7/15
to lif...@googlegroups.com, evan...@gmail.com
Most Scala users are probably not into JRebel because we have SBT and
the "revolver" plugin. These give a full reload cycle of 0.5-2 seconds
after compilation is complete.


On 2015-05-07 17:39, Matt Farmer wrote:
> Hey, I’m not a huge jRebel user, but in absence of anyone else saying anything I wanted to thank you for the contribution for the list. May give jRebel another shot after looking at this. :-)
>
> —
> Matt Farmer | Blog <http://farmdawgnation.com/> | Twitter <http://twitter.com/farmdawgnation>
>> On May 1, 2015, at 10:47 PM, Evan Jehu <evan...@gmail.com> wrote:
>>
>> Hi All,
>>
>> I'm not sure if this will be helpful to anyone but I have been trying to configure Lift with sbt-web and jRebel and have what I think is a decent setup. The goal is to have hot class and ReactJS file reloading during development.
>>
>> I would love to hear your feedback, currently the jRebel config is a bit weak, the sbt will fail if jRebel is not installed...
>>
>> I have the code in github here https://github.com/babyman/lift-with-sbt-web-and-jrebel for review.
>>
>> Thanks,
>>
>> Evan
>>
>>
>> --
>> --
>> Lift, the simply functional web framework: http://liftweb.net <http://liftweb.net/>
>> Code: http://github.com/lift <http://github.com/lift>
>> Discussion: http://groups.google.com/group/liftweb <http://groups.google.com/group/liftweb>
>> Stuck? Help us help you: https://www.assembla.com/wiki/show/liftweb/Posting_example_code <https://www.assembla.com/wiki/show/liftweb/Posting_example_code>
>>
>> ---
>> You received this message because you are subscribed to the Google Groups "Lift" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to liftweb+u...@googlegroups.com <mailto:liftweb+u...@googlegroups.com>.
>> For more options, visit https://groups.google.com/d/optout <https://groups.google.com/d/optout>.
>

--
Vasya Novikov

Evan Jehu

unread,
May 7, 2015, 10:27:39 PM5/7/15
to lif...@googlegroups.com, n1m5-goo...@yandex.ru
Hi Vasya,

The "revolver" plugin is new to me and looks really cool, does full reload cycle mean lift is stopped and restarted? jRebel (mostly) loads the changed classes into the running application but maintains its state so things like user sessions / actors are maintained which in my situation is really helpful.

I wish my whole app would load and initialize in 0.5-2 seconds, maybe I need a new computer ;)

Evan

Vasya Novikov

unread,
May 8, 2015, 2:33:47 AM5/8/15
to lif...@googlegroups.com, Evan Jehu
Yes, I mean a full server restart which can be made really quick, if you
try.. Sessions are lost, however (if they're not in cookies/database).

If not losing the state is a requirement for you, then you may really
need a thing like JRebel, and unfortunately I cannot help you.

BTW, in one of my hobby projects I just saved the actor state to a
database and restored it afterwards. This was good for UX anyway, and it
was good enough for me. (I had a simple actor state though..)



On 2015-05-08 05:27, Evan Jehu wrote:
> Hi Vasya,
>
> The "revolver" plugin is new to me and looks really cool, does full reload
> cycle mean lift is stopped and restarted? jRebel (mostly) loads the changed
> classes into the running application but maintains its state so things like
> user sessions / actors are maintained which in my situation is really
> helpful.
>
> I wish my whole app would load and initialize in 0.5-2 seconds, maybe I
> need a new computer ;)
>
> Evan
>
>
>
>
> On Thursday, May 7, 2015 at 6:47:48 PM UTC-4, Vasya Novikov wrote:
>>
>> Most Scala users are probably not into JRebel because we have SBT and
>> the "revolver" plugin. These give a full reload cycle of 0.5-2 seconds
>> after compilation is complete.
>>
>>
>> On 2015-05-07 17:39, Matt Farmer wrote:
>>> Hey, I’m not a huge jRebel user, but in absence of anyone else saying
>> anything I wanted to thank you for the contribution for the list. May give
>> jRebel another shot after looking at this. :-)
>>>
>>> —
>>> Matt Farmer | Blog <http://farmdawgnation.com/> | Twitter <
>> http://twitter.com/farmdawgnation>
>>>> On May 1, 2015, at 10:47 PM, Evan Jehu <evan...@gmail.com <javascript:>>
>> an email to liftweb+u...@googlegroups.com <javascript:> <mailto:
>> liftweb+u...@googlegroups.com <javascript:>>.
>>>> For more options, visit https://groups.google.com/d/optout <
>> https://groups.google.com/d/optout>.
>>>
>>
>> --
>> Vasya Novikov
>>
>

--
Vasya Novikov

Evan Jehu

unread,
May 8, 2015, 4:38:17 PM5/8/15
to Vasya Novikov, lif...@googlegroups.com
That's to bad (for me) but thanks for sharing, it's always great to hear how people are solving what I assume are common issues.  Hopefully I can use revolver on another project.

Evan


Reply all
Reply to author
Forward
0 new messages