Live reload in production?

classic Classic list List threaded Threaded
34 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Live reload in production?

Howard Lewis Ship
Out of curiosity ... does anyone out there rely on live class
(template, message catalog, whatever) reloading in their live,
production application?  Now, normally, I'd think not, because the
deployed app will be packaged in a WAR and the unit of redeployment is
the entire WAR ... but I suppose some people could be using the
"exploded WAR" format, which would allow classes and templates to be
updated while the application runs.

Live reloading is a feature that was originally intended for
development only; Tapestry 5.2 supports live reloading in the live
application, but as of yesterday, Tapestry 5.3 does NOT. I'm hoping to
see some improvements in throughput and a reduction in memory
utilization in production applications ... but it's not too late to
shift things so that 5.3 can support production reloading as well.
I'd prefer not to, however.

--
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Thiago H de Paula Figueiredo
I'm not using 5.2 yet (sigh), but I do use exploded WARs in deployment.

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Howard Lewis Ship
On Tue, Apr 19, 2011 at 11:23 AM, Thiago H. de Paula Figueiredo
<[hidden email]> wrote:

> On Tue, 19 Apr 2011 15:21:44 -0300, Howard Lewis Ship <[hidden email]>
> wrote:
>
>> On Tue, Apr 19, 2011 at 11:07 AM, Thiago H. de Paula Figueiredo
>> <[hidden email]> wrote:
>>>
>>> I'm not using 5.2 yet (sigh), but I do use exploded WARs in deployment.
>>
>> Well then, you better add support for that back in, with a new symbol
>> perhaps ;-}
>
> The ideal solution was to have a symbol for enabling the live class
> reloading . . . But I won't ask you that. :)

No, you are right about adding Yet Another Symbol.  However, I have a
philosophical problem with make every change subject to some
configuration: it basically abdicates responsibility of the framework
developers (us), forcing framework users to make critical decisions.
This came up in the excellent book "The Paradox of Choice", which is
recommended reading. If you look at, for example, Mac/iPhone apps,
you'll see consistently that they have fewer options and less
configuration than equivalent Windows apps ... and people love them
more (I've just seen this with my wife, who starting using Pages after
years of Word).

Now this specific case is one that treads onto hallowed ground of
backwards compatibility, so it may be something where we introduce a
symbol, and mark it immediately as deprecated (I always introduce a
SymbolConstant static value, to provide documentation, and as a place
to hang @Deprecated), so that people have a release to get used to the
change.

>>
>>>
>>> --
>>> Thiago H. de Paula Figueiredo
>>> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
>>> and
>>> instructor
>>> Owner, Ars Machina Tecnologia da Informação Ltda.
>>> http://www.arsmachina.com.br
>>>
>>
>>
>>
>
>
> --
> Thiago H. de Paula Figueiredo
> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and
> instructor
> Owner, Ars Machina Tecnologia da Informação Ltda.
> Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
> Coordenador e professor da Especialização em Engenharia de Software com
> Ênfase em Java da Faculdade Pitágoras
> http://www.arsmachina.com.br
>



--
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

bobharner
On Tue, Apr 19, 2011 at 2:53 PM, Howard Lewis Ship <[hidden email]> wrote:
> On Tue, Apr 19, 2011 at 11:23 AM, Thiago H. de Paula Figueiredo
> <[hidden email]> wrote:
>> On Tue, 19 Apr 2011 15:21:44 -0300, Howard Lewis Ship <[hidden email]>
>> wrote:
>>
>>> On Tue, Apr 19, 2011 at 11:07 AM, Thiago H. de Paula Figueiredo
>>> <[hidden email]> wrote:
>>>>
>>>> I'm not using 5.2 yet (sigh), but I do use exploded WARs in deployment.

Just to be specific: Thiago said he is using exploded WARs in
deployment, but I didn't see where he said whether he depends on live
class reloading in production.

>>>
>>> Well then, you better add support for that back in, with a new symbol
>>> perhaps ;-}
>>
>> The ideal solution was to have a symbol for enabling the live class
>> reloading . . . But I won't ask you that. :)
>
> No, you are right about adding Yet Another Symbol.  However, I have a
> philosophical problem with make every change subject to some
> configuration: it basically abdicates responsibility of the framework
> developers (us), forcing framework users to make critical decisions.
> This came up in the excellent book "The Paradox of Choice", which is
> recommended reading. If you look at, for example, Mac/iPhone apps,
> you'll see consistently that they have fewer options and less
> configuration than equivalent Windows apps ... and people love them
> more (I've just seen this with my wife, who starting using Pages after
> years of Word).
>
> Now this specific case is one that treads onto hallowed ground of
> backwards compatibility, so it may be something where we introduce a
> symbol, and mark it immediately as deprecated (I always introduce a
> SymbolConstant static value, to provide documentation, and as a place
> to hang @Deprecated), so that people have a release to get used to the
> change.
>
>>>
>>>>
>>>> --
>>>> Thiago H. de Paula Figueiredo
>>>> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
>>>> and
>>>> instructor
>>>> Owner, Ars Machina Tecnologia da Informação Ltda.
>>>> http://www.arsmachina.com.br
>>>>
>>>
>>>
>>>
>>
>>
>> --
>> Thiago H. de Paula Figueiredo
>> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and
>> instructor
>> Owner, Ars Machina Tecnologia da Informação Ltda.
>> Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
>> Coordenador e professor da Especialização em Engenharia de Software com
>> Ênfase em Java da Faculdade Pitágoras
>> http://www.arsmachina.com.br
>>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Igor Drobiazko
In reply to this post by Howard Lewis Ship
I never used live reloading in production, but it might be a cool marketing
weapon. We could promote it as seomthing similar to ZeroTurnaround's
LiveRebel:

http://www.zeroturnaround.com/liverebel/

Imagine a new slogan on Tapestry's webpage: "With Tapestry you can roll out
and roll back changes to live applications instantly -  without Downtime"

On Tue, Apr 19, 2011 at 7:11 PM, Howard Lewis Ship <[hidden email]> wrote:

> Out of curiosity ... does anyone out there rely on live class
> (template, message catalog, whatever) reloading in their live,
> production application?  Now, normally, I'd think not, because the
> deployed app will be packaged in a WAR and the unit of redeployment is
> the entire WAR ... but I suppose some people could be using the
> "exploded WAR" format, which would allow classes and templates to be
> updated while the application runs.
>
> Live reloading is a feature that was originally intended for
> development only; Tapestry 5.2 supports live reloading in the live
> application, but as of yesterday, Tapestry 5.3 does NOT. I'm hoping to
> see some improvements in throughput and a reduction in memory
> utilization in production applications ... but it's not too late to
> shift things so that 5.3 can support production reloading as well.
> I'd prefer not to, however.
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


--
Best regards,

Igor Drobiazko
http://tapestry5.de
Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Howard Lewis Ship
On Tue, Apr 19, 2011 at 4:00 PM, Igor Drobiazko
<[hidden email]> wrote:
> I never used live reloading in production, but it might be a cool marketing
> weapon. We could promote it as seomthing similar to ZeroTurnaround's
> LiveRebel:
>
> http://www.zeroturnaround.com/liverebel/
>
> Imagine a new slogan on Tapestry's webpage: "With Tapestry you can roll out
> and roll back changes to live applications instantly -  without Downtime"

I don't like to over-promise. Live reloading has some limitations in
terms of reloading of service layer objects. I think having a seamless
redeploy model is for the application servers to handle, not the
framework.

Basically, in production, you want to hype "fast and stable".  In
development you want to hype, "agile and testable."

>
> On Tue, Apr 19, 2011 at 7:11 PM, Howard Lewis Ship <[hidden email]> wrote:
>
>> Out of curiosity ... does anyone out there rely on live class
>> (template, message catalog, whatever) reloading in their live,
>> production application?  Now, normally, I'd think not, because the
>> deployed app will be packaged in a WAR and the unit of redeployment is
>> the entire WAR ... but I suppose some people could be using the
>> "exploded WAR" format, which would allow classes and templates to be
>> updated while the application runs.
>>
>> Live reloading is a feature that was originally intended for
>> development only; Tapestry 5.2 supports live reloading in the live
>> application, but as of yesterday, Tapestry 5.3 does NOT. I'm hoping to
>> see some improvements in throughput and a reduction in memory
>> utilization in production applications ... but it's not too late to
>> shift things so that 5.3 can support production reloading as well.
>> I'd prefer not to, however.
>>
>> --
>> Howard M. Lewis Ship
>>
>> Creator of Apache Tapestry
>>
>> The source for Tapestry training, mentoring and support. Contact me to
>> learn how I can get you up and productive in Tapestry fast!
>>
>> (971) 678-5210
>> http://howardlewisship.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>
>
> --
> Best regards,
>
> Igor Drobiazko
> http://tapestry5.de
>



--
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Adam Zimowski
Excuse me asking, but with class reloading disabled in production,
template reloading still works, correct?

My designer who mostly does TML's expects templates be reloadable in production.

Adam

PS.

On a side note, what about a hybrid switch? Like component class
reloading but disable service reloading?


On Tue, Apr 19, 2011 at 6:14 PM, Howard Lewis Ship <[hidden email]> wrote:

> On Tue, Apr 19, 2011 at 4:00 PM, Igor Drobiazko
> <[hidden email]> wrote:
>> I never used live reloading in production, but it might be a cool marketing
>> weapon. We could promote it as seomthing similar to ZeroTurnaround's
>> LiveRebel:
>>
>> http://www.zeroturnaround.com/liverebel/
>>
>> Imagine a new slogan on Tapestry's webpage: "With Tapestry you can roll out
>> and roll back changes to live applications instantly -  without Downtime"
>
> I don't like to over-promise. Live reloading has some limitations in
> terms of reloading of service layer objects. I think having a seamless
> redeploy model is for the application servers to handle, not the
> framework.
>
> Basically, in production, you want to hype "fast and stable".  In
> development you want to hype, "agile and testable."
>
>>
>> On Tue, Apr 19, 2011 at 7:11 PM, Howard Lewis Ship <[hidden email]> wrote:
>>
>>> Out of curiosity ... does anyone out there rely on live class
>>> (template, message catalog, whatever) reloading in their live,
>>> production application?  Now, normally, I'd think not, because the
>>> deployed app will be packaged in a WAR and the unit of redeployment is
>>> the entire WAR ... but I suppose some people could be using the
>>> "exploded WAR" format, which would allow classes and templates to be
>>> updated while the application runs.
>>>
>>> Live reloading is a feature that was originally intended for
>>> development only; Tapestry 5.2 supports live reloading in the live
>>> application, but as of yesterday, Tapestry 5.3 does NOT. I'm hoping to
>>> see some improvements in throughput and a reduction in memory
>>> utilization in production applications ... but it's not too late to
>>> shift things so that 5.3 can support production reloading as well.
>>> I'd prefer not to, however.
>>>
>>> --
>>> Howard M. Lewis Ship
>>>
>>> Creator of Apache Tapestry
>>>
>>> The source for Tapestry training, mentoring and support. Contact me to
>>> learn how I can get you up and productive in Tapestry fast!
>>>
>>> (971) 678-5210
>>> http://howardlewisship.com
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>
>>
>> --
>> Best regards,
>>
>> Igor Drobiazko
>> http://tapestry5.de
>>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Howard Lewis Ship
On Tue, Apr 19, 2011 at 4:22 PM, Adam Zimowski <[hidden email]> wrote:
> Excuse me asking, but with class reloading disabled in production,
> template reloading still works, correct?
>
> My designer who mostly does TML's expects templates be reloadable in production.
>

Well, then, you're screwed in Tapestry 5.3 :-)  Looks like we'll
probably have to introduce a new symbol to allow this to be enabled in
production. But I think the vast majority of deployments will not need
this (and may like the increased throughput and lowered memory
utilization).


> Adam
>
> PS.
>
> On a side note, what about a hybrid switch? Like component class
> reloading but disable service reloading?
>
>
> On Tue, Apr 19, 2011 at 6:14 PM, Howard Lewis Ship <[hidden email]> wrote:
>> On Tue, Apr 19, 2011 at 4:00 PM, Igor Drobiazko
>> <[hidden email]> wrote:
>>> I never used live reloading in production, but it might be a cool marketing
>>> weapon. We could promote it as seomthing similar to ZeroTurnaround's
>>> LiveRebel:
>>>
>>> http://www.zeroturnaround.com/liverebel/
>>>
>>> Imagine a new slogan on Tapestry's webpage: "With Tapestry you can roll out
>>> and roll back changes to live applications instantly -  without Downtime"
>>
>> I don't like to over-promise. Live reloading has some limitations in
>> terms of reloading of service layer objects. I think having a seamless
>> redeploy model is for the application servers to handle, not the
>> framework.
>>
>> Basically, in production, you want to hype "fast and stable".  In
>> development you want to hype, "agile and testable."
>>
>>>
>>> On Tue, Apr 19, 2011 at 7:11 PM, Howard Lewis Ship <[hidden email]> wrote:
>>>
>>>> Out of curiosity ... does anyone out there rely on live class
>>>> (template, message catalog, whatever) reloading in their live,
>>>> production application?  Now, normally, I'd think not, because the
>>>> deployed app will be packaged in a WAR and the unit of redeployment is
>>>> the entire WAR ... but I suppose some people could be using the
>>>> "exploded WAR" format, which would allow classes and templates to be
>>>> updated while the application runs.
>>>>
>>>> Live reloading is a feature that was originally intended for
>>>> development only; Tapestry 5.2 supports live reloading in the live
>>>> application, but as of yesterday, Tapestry 5.3 does NOT. I'm hoping to
>>>> see some improvements in throughput and a reduction in memory
>>>> utilization in production applications ... but it's not too late to
>>>> shift things so that 5.3 can support production reloading as well.
>>>> I'd prefer not to, however.
>>>>
>>>> --
>>>> Howard M. Lewis Ship
>>>>
>>>> Creator of Apache Tapestry
>>>>
>>>> The source for Tapestry training, mentoring and support. Contact me to
>>>> learn how I can get you up and productive in Tapestry fast!
>>>>
>>>> (971) 678-5210
>>>> http://howardlewisship.com
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [hidden email]
>>>> For additional commands, e-mail: [hidden email]
>>>>
>>>>
>>>
>>>
>>> --
>>> Best regards,
>>>
>>> Igor Drobiazko
>>> http://tapestry5.de
>>>
>>
>>
>>
>> --
>> Howard M. Lewis Ship
>>
>> Creator of Apache Tapestry
>>
>> The source for Tapestry training, mentoring and support. Contact me to
>> learn how I can get you up and productive in Tapestry fast!
>>
>> (971) 678-5210
>> http://howardlewisship.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>



--
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

lprimak
I think live reload in production is a terrible idea.  
Production should be locked down.  Even if you are using exploded version of the application,
the app server should explicitly be told to reload the app, in which case live reloading is not required.


On Apr 19, 2011, at 7:36 PM, Howard Lewis Ship wrote:

> On Tue, Apr 19, 2011 at 4:22 PM, Adam Zimowski <[hidden email]> wrote:
>> Excuse me asking, but with class reloading disabled in production,
>> template reloading still works, correct?
>>
>> My designer who mostly does TML's expects templates be reloadable in production.
>>
>
> Well, then, you're screwed in Tapestry 5.3 :-)  Looks like we'll
> probably have to introduce a new symbol to allow this to be enabled in
> production. But I think the vast majority of deployments will not need
> this (and may like the increased throughput and lowered memory
> utilization).
>
>
>> Adam
>>
>> PS.
>>
>> On a side note, what about a hybrid switch? Like component class
>> reloading but disable service reloading?
>>
>>
>> On Tue, Apr 19, 2011 at 6:14 PM, Howard Lewis Ship <[hidden email]> wrote:
>>> On Tue, Apr 19, 2011 at 4:00 PM, Igor Drobiazko
>>> <[hidden email]> wrote:
>>>> I never used live reloading in production, but it might be a cool marketing
>>>> weapon. We could promote it as seomthing similar to ZeroTurnaround's
>>>> LiveRebel:
>>>>
>>>> http://www.zeroturnaround.com/liverebel/
>>>>
>>>> Imagine a new slogan on Tapestry's webpage: "With Tapestry you can roll out
>>>> and roll back changes to live applications instantly -  without Downtime"
>>>
>>> I don't like to over-promise. Live reloading has some limitations in
>>> terms of reloading of service layer objects. I think having a seamless
>>> redeploy model is for the application servers to handle, not the
>>> framework.
>>>
>>> Basically, in production, you want to hype "fast and stable".  In
>>> development you want to hype, "agile and testable."
>>>
>>>>
>>>> On Tue, Apr 19, 2011 at 7:11 PM, Howard Lewis Ship <[hidden email]> wrote:
>>>>
>>>>> Out of curiosity ... does anyone out there rely on live class
>>>>> (template, message catalog, whatever) reloading in their live,
>>>>> production application?  Now, normally, I'd think not, because the
>>>>> deployed app will be packaged in a WAR and the unit of redeployment is
>>>>> the entire WAR ... but I suppose some people could be using the
>>>>> "exploded WAR" format, which would allow classes and templates to be
>>>>> updated while the application runs.
>>>>>
>>>>> Live reloading is a feature that was originally intended for
>>>>> development only; Tapestry 5.2 supports live reloading in the live
>>>>> application, but as of yesterday, Tapestry 5.3 does NOT. I'm hoping to
>>>>> see some improvements in throughput and a reduction in memory
>>>>> utilization in production applications ... but it's not too late to
>>>>> shift things so that 5.3 can support production reloading as well.
>>>>> I'd prefer not to, however.
>>>>>
>>>>> --
>>>>> Howard M. Lewis Ship
>>>>>
>>>>> Creator of Apache Tapestry
>>>>>
>>>>> The source for Tapestry training, mentoring and support. Contact me to
>>>>> learn how I can get you up and productive in Tapestry fast!
>>>>>
>>>>> (971) 678-5210
>>>>> http://howardlewisship.com
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [hidden email]
>>>>> For additional commands, e-mail: [hidden email]
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>>
>>>> Igor Drobiazko
>>>> http://tapestry5.de
>>>>
>>>
>>>
>>>
>>> --
>>> Howard M. Lewis Ship
>>>
>>> Creator of Apache Tapestry
>>>
>>> The source for Tapestry training, mentoring and support. Contact me to
>>> learn how I can get you up and productive in Tapestry fast!
>>>
>>> (971) 678-5210
>>> http://howardlewisship.com
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Adam Zimowski
In reply to this post by Howard Lewis Ship
I plead to ask, if possible to enable a switch for template reloading.
I may be screwed, literally...

Adam

On Tue, Apr 19, 2011 at 6:36 PM, Howard Lewis Ship <[hidden email]> wrote:

> On Tue, Apr 19, 2011 at 4:22 PM, Adam Zimowski <[hidden email]> wrote:
>> Excuse me asking, but with class reloading disabled in production,
>> template reloading still works, correct?
>>
>> My designer who mostly does TML's expects templates be reloadable in production.
>>
>
> Well, then, you're screwed in Tapestry 5.3 :-)  Looks like we'll
> probably have to introduce a new symbol to allow this to be enabled in
> production. But I think the vast majority of deployments will not need
> this (and may like the increased throughput and lowered memory
> utilization).
>
>
>> Adam
>>
>> PS.
>>
>> On a side note, what about a hybrid switch? Like component class
>> reloading but disable service reloading?
>>
>>
>> On Tue, Apr 19, 2011 at 6:14 PM, Howard Lewis Ship <[hidden email]> wrote:
>>> On Tue, Apr 19, 2011 at 4:00 PM, Igor Drobiazko
>>> <[hidden email]> wrote:
>>>> I never used live reloading in production, but it might be a cool marketing
>>>> weapon. We could promote it as seomthing similar to ZeroTurnaround's
>>>> LiveRebel:
>>>>
>>>> http://www.zeroturnaround.com/liverebel/
>>>>
>>>> Imagine a new slogan on Tapestry's webpage: "With Tapestry you can roll out
>>>> and roll back changes to live applications instantly -  without Downtime"
>>>
>>> I don't like to over-promise. Live reloading has some limitations in
>>> terms of reloading of service layer objects. I think having a seamless
>>> redeploy model is for the application servers to handle, not the
>>> framework.
>>>
>>> Basically, in production, you want to hype "fast and stable".  In
>>> development you want to hype, "agile and testable."
>>>
>>>>
>>>> On Tue, Apr 19, 2011 at 7:11 PM, Howard Lewis Ship <[hidden email]> wrote:
>>>>
>>>>> Out of curiosity ... does anyone out there rely on live class
>>>>> (template, message catalog, whatever) reloading in their live,
>>>>> production application?  Now, normally, I'd think not, because the
>>>>> deployed app will be packaged in a WAR and the unit of redeployment is
>>>>> the entire WAR ... but I suppose some people could be using the
>>>>> "exploded WAR" format, which would allow classes and templates to be
>>>>> updated while the application runs.
>>>>>
>>>>> Live reloading is a feature that was originally intended for
>>>>> development only; Tapestry 5.2 supports live reloading in the live
>>>>> application, but as of yesterday, Tapestry 5.3 does NOT. I'm hoping to
>>>>> see some improvements in throughput and a reduction in memory
>>>>> utilization in production applications ... but it's not too late to
>>>>> shift things so that 5.3 can support production reloading as well.
>>>>> I'd prefer not to, however.
>>>>>
>>>>> --
>>>>> Howard M. Lewis Ship
>>>>>
>>>>> Creator of Apache Tapestry
>>>>>
>>>>> The source for Tapestry training, mentoring and support. Contact me to
>>>>> learn how I can get you up and productive in Tapestry fast!
>>>>>
>>>>> (971) 678-5210
>>>>> http://howardlewisship.com
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [hidden email]
>>>>> For additional commands, e-mail: [hidden email]
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>>
>>>> Igor Drobiazko
>>>> http://tapestry5.de
>>>>
>>>
>>>
>>>
>>> --
>>> Howard M. Lewis Ship
>>>
>>> Creator of Apache Tapestry
>>>
>>> The source for Tapestry training, mentoring and support. Contact me to
>>> learn how I can get you up and productive in Tapestry fast!
>>>
>>> (971) 678-5210
>>> http://howardlewisship.com
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Thiago H de Paula Figueiredo
On Tue, 19 Apr 2011 20:39:46 -0300, Adam Zimowski <[hidden email]>  
wrote:

> I plead to ask, if possible to enable a switch for template reloading.

I guess this won't be a problem, as it doesn't touch class  
transformations, proxies, etc.

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Patrick Moore-6
In reply to this post by Howard Lewis Ship
Hi Howard,


Maybe the question should really be:


Does anyone out there rely on live class
(template, message catalog, whatever) reloading in their live,
production application?

.... and what critical benefit does this offer?


I am with you on the paradox of choice. When I roll out new versions, there
are usually db schema and directory structure changes not just UI changes.
So the roll out has to have the server brought down.

I would love to have an atomic updating service. A new war is placed in a
staging location. The db update magically happens and then the older server
is brought down and replaced with the new server. But absence this magical
update genie, I would prefer the performance improvements because that will
be useful every day.

For those who feel that they need this, is there any sort of hooking that a
side project could use to restore this functionality without impact the
people who rather take the benefits of not having dynamic class loading in
production? Or maybe they just run in development mode on the production
box? ( maybe silly statement - but we are still on T4 :-( )


Patrick Moore
Amplafi
http://amplafi.com
mobile: 650-207-9792
"Put your front window on your front page"
personal blog : http://sworddance.com/blog


On Tue, Apr 19, 2011 at 10:11 AM, Howard Lewis Ship <[hidden email]>wrote:

> Out of curiosity ... does anyone out there rely on live class
> (template, message catalog, whatever) reloading in their live,
> production application?  Now, normally, I'd think not, because the
> deployed app will be packaged in a WAR and the unit of redeployment is
> the entire WAR ... but I suppose some people could be using the
> "exploded WAR" format, which would allow classes and templates to be
> updated while the application runs.
>
> Live reloading is a feature that was originally intended for
> development only; Tapestry 5.2 supports live reloading in the live
> application, but as of yesterday, Tapestry 5.3 does NOT. I'm hoping to
> see some improvements in throughput and a reduction in memory
> utilization in production applications ... but it's not too late to
> shift things so that 5.3 can support production reloading as well.
> I'd prefer not to, however.
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

antalk
We have 2 live webapps running and we do not use or rely on live class reloading. Even more, i dont even have access or allowance to change a production website at runtime. Our policy is that everything needs to be tested and accepted before even going to production.

If something is wrong or needs to be changed i have to create a new version with the changes and this needs to be re-deployed.

If this is not possible we shutdown the app instead of changing a production webapp.

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Vangel V. Ajanovski
In reply to this post by Howard Lewis Ship
On 19.04.2011 19:11, Howard Lewis Ship wrote:
> Out of curiosity ... does anyone out there rely on live class
> (template, message catalog, whatever) reloading in their live,
> production application?  Now, normally, I'd think not, because the
> deployed app will be packaged in a WAR and the unit of redeployment is
> the entire WAR ... but I suppose some people could be using the
> "exploded WAR" format, which would allow classes and templates to be
> updated while the application runs.
Live reloading was a life saver for me in production.

We started with a term enrollment application that supports the whole
workflow of a student choosing elective courses and submitting his
choice and getting approval by the academic adviser, and also automatic
inclusion of students in courses. We went in production with just 90% of
the use-cases covered with alpha quality code. While in production we
fixed bugs and developed the remaining 10%. So live reloading was very
helpful.

But this application is constantly growing and has become almost a whole
student information system with courses, enrollments, grades, exams,
class schedule, finances :) This constant growth and running in
production on alpha quality code means that there were and there will be
many many bugs. Since the problem is usually in the business logic, not
in the GUI itself, the introduction of live reloading of service classes
was in fact the most useful thing of all.

If you are in position to set it up so that one can choose whether he
needs live reloading of all class, just services, or not at all, (or
maybe package by package) this would be the best.



smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Vangel V. Ajanovski
In reply to this post by Howard Lewis Ship
On 20.04.2011 01:36, Howard Lewis Ship wrote:
> Well, then, you're screwed in Tapestry 5.3 :-)  Looks like we'll
Ouch.
How about letting the community vote on this? I would hate to go back to
JSP or PHP.
> probably have to introduce a new symbol to allow this to be enabled in
> production. But I think the vast majority of deployments will not need
Yes, as soon as possible.


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Thiago H de Paula Figueiredo
On Wed, 20 Apr 2011 06:26:12 -0300, Vangel V. Ajanovski <[hidden email]>  
wrote:

> On 20.04.2011 01:36, Howard Lewis Ship wrote:
>> Well, then, you're screwed in Tapestry 5.3 :-)  Looks like we'll
> Ouch.
> How about letting the community vote on this? I would hate to go back to
> JSP or PHP.

You can stick to 5.2.4 while 5.3 doesn't provide live class reloading in  
production. Or use 5.3 in non-production mode in production.

>> probably have to introduce a new symbol to allow this to be enabled in
>> production. But I think the vast majority of deployments will not need
> Yes, as soon as possible.
>


--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
Coordenador e professor da Especialização em Engenharia de Software com  
Ênfase em Java da Faculdade Pitágoras
http://www.arsmachina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Adam Zimowski
>>    probably have to introduce a new symbol to allow this to be enabled in
>>    production. But I think the vast majority of deployments will not need

At the very least, can there be a patch that could be applied to 5.3
source on this ?

On Wed, Apr 20, 2011 at 7:56 AM, Thiago H. de Paula Figueiredo
<[hidden email]> wrote:

> On Wed, 20 Apr 2011 06:26:12 -0300, Vangel V. Ajanovski <[hidden email]>
> wrote:
>
>> On 20.04.2011 01:36, Howard Lewis Ship wrote:
>>>
>>> Well, then, you're screwed in Tapestry 5.3 :-)  Looks like we'll
>>
>> Ouch.
>> How about letting the community vote on this? I would hate to go back to
>> JSP or PHP.
>
> You can stick to 5.2.4 while 5.3 doesn't provide live class reloading in
> production. Or use 5.3 in non-production mode in production.
>
>>> probably have to introduce a new symbol to allow this to be enabled in
>>> production. But I think the vast majority of deployments will not need
>>
>> Yes, as soon as possible.
>>
>
>
> --
> Thiago H. de Paula Figueiredo
> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and
> instructor
> Owner, Ars Machina Tecnologia da Informação Ltda.
> Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
> Coordenador e professor da Especialização em Engenharia de Software com
> Ênfase em Java da Faculdade Pitágoras
> http://www.arsmachina.com.br
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Massimo Lusetti
In reply to this post by Howard Lewis Ship
On Wed, Apr 20, 2011 at 1:36 AM, Howard Lewis Ship <[hidden email]> wrote:

> On Tue, Apr 19, 2011 at 4:22 PM, Adam Zimowski <[hidden email]> wrote:
>> Excuse me asking, but with class reloading disabled in production,
>> template reloading still works, correct?
>>
>> My designer who mostly does TML's expects templates be reloadable in production.
>>
>
> Well, then, you're screwed in Tapestry 5.3 :-)  Looks like we'll
> probably have to introduce a new symbol to allow this to be enabled in
> production. But I think the vast majority of deployments will not need
> this (and may like the increased throughput and lowered memory
> utilization).

I'm on the screwed side of the moon too.

I've never planned to use it in production but happened. We discovered
a bug in a decision-maker point of the app business and fortunately we
had the exploded jar so we simply swapped the bugged class with the
fixed one and all was solved and everyone happy. Quick fix is a big
win here.

After that even I've always kept that feature in mind when plan deploy...

Cheers
--
Massimo
http://meridio.blogspot.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Mark
In reply to this post by Patrick Moore-6
> Does anyone out there rely on live class
> (template, message catalog, whatever) reloading in their live,
> production application?
>
> .... and what critical benefit does this offer?

I've used live class reloading on a production system a few times, but
it always felt "wrong" to me. :)

However, keep in mind that the ease of development means some people
are going to use Tapestry for things that normally would be handled by
a scripting language. In some of those situations live class reloading
in production may make sense.

I understand the problems with giving people too many options.
However it can be really tricky to decide what should be configurable
and what need to be fixed.  I wouldn't want to use a word processor
that only allowed me to type in Times Roman because that was the only
font the developers used and they didn't see any reason others would
need to use anything different.

It seems that the real advantage of having fewer options would be when
it lets you keep the code base simpler, but in this case it isn't like
you plan to remove the live class reloading capability.  It will still
be needed for development.

But personally it wouldn't hamper any of my current projects if it
were turned off in production.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Live reload in production?

Thiago H de Paula Figueiredo
On Wed, 20 Apr 2011 13:32:17 -0300, Mark <[hidden email]> wrote:

> I understand the problems with giving people too many options.
> However it can be really tricky to decide what should be configurable
> and what need to be fixed.  I wouldn't want to use a word processor
> that only allowed me to type in Times Roman because that was the only
> font the developers used and they didn't see any reason others would
> need to use anything different.

Agreed. This is an option that is important for Tapestry users. What I  
think should be discussed is what's the best default value for it: enabled  
or disabled?

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,  
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

12