You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@sling.apache.org by Carl Hall <ca...@hallwaytech.com> on 2011/01/13 04:04:44 UTC

Reloading initial content

I'm working to update a build for production by building up a new launchpad
project and starting the updated jar against the previous data.  I've
noticed that even with overwrite:=true or overwriteProperties:=true, initial
content is not reloaded even when a new version of a bundle is
introduced.  Through
a few rounds of debugging, I found in the code [1] that isUpdated or
contentAlreadyLoaded seem to be the keys to loading the content on server
start.

For a bundle named "great-bundle", I've found that I can set a property in
JCR, /var/sling/bundle-content/great-bundle/content-loaded = false, and am
able to load initial content from an updated bundle on server start.  While
I've found that I can delete or remove this property in JCR to do what I
want, is this the suggested way of updating initial content from a new
launchpad application jar?

1
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java?revision=1000833&view=markup
:
line 157

Re: Reloading initial content

Posted by Ian Boston <ie...@tfd.co.uk>.
Ahh good point.
Thanks
Ian

On 19 Jan 2011, at 13:54, Justin Edelson wrote:

> Potentially easier than removing bootstrapinstaller.ser is to set the
> framework property "org.apache.sling.launchpad.force.package.bundle.loading"
> to "true"
> 
> Justin
> 
> On Thu, Jan 13, 2011 at 1:44 PM, Ian Boston <ie...@tfd.co.uk> wrote:
> 
>> I was wrong, its only the Launchpad base jar that will get updated (from
>> inside the standalone jar).
>> Changing the standalone manifest version to a snapshot version has no
>> effect.
>> 
>> It looks like the only solution for us is to delete do something in the
>> outer loader to remove sling/felix/bundle0/bootstrapinstaller.ser if the
>> standalone launchpad has been updated.
>> 
>> Ian
>> 
>> On 13 Jan 2011, at 17:08, Ian Boston wrote:
>> 
>>> I have checked this now and the problem is not due to the ContentLoader
>> but due to the Launchpad.
>>> In fact I dont think there is a problem with the Launchpad, just our
>> MANIFEST.
>>> 
>>> Loading of new bundles based on the modification timestamp of the
>> Launchpad jar does not appear to be happening, I think this is becuause we
>> have incorrectly set out launchpad version to 2.2.0 instead of
>> 0.10-SNAPSHOT.
>>> 
>>> If we had a SNAPSHOT version the launchpad would look at the modification
>> timestamp of the jar, at the moment it says
>>> 
>>> 
>>> 13.01.2011 16:19:58.712 *INFO* [main] Existing launcher is up to date,
>> using it: 2.2.0 (org.apache.sling.launchpad.base.jar)
>>> 
>>> Ian
>>> 
>>> On 13 Jan 2011, at 03:04, Carl Hall wrote:
>>> 
>>>> I'm working to update a build for production by building up a new
>> launchpad
>>>> project and starting the updated jar against the previous data.  I've
>>>> noticed that even with overwrite:=true or overwriteProperties:=true,
>> initial
>>>> content is not reloaded even when a new version of a bundle is
>>>> introduced.  Through
>>>> a few rounds of debugging, I found in the code [1] that isUpdated or
>>>> contentAlreadyLoaded seem to be the keys to loading the content on
>> server
>>>> start.
>>>> 
>>>> For a bundle named "great-bundle", I've found that I can set a property
>> in
>>>> JCR, /var/sling/bundle-content/great-bundle/content-loaded = false, and
>> am
>>>> able to load initial content from an updated bundle on server start.
>> While
>>>> I've found that I can delete or remove this property in JCR to do what I
>>>> want, is this the suggested way of updating initial content from a new
>>>> launchpad application jar?
>>>> 
>>>> 1
>>>> 
>> http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java?revision=1000833&view=markup
>>>> :
>>>> line 157
>>> 
>> 
>> 


Re: Reloading initial content

Posted by Justin Edelson <ju...@justinedelson.com>.
Potentially easier than removing bootstrapinstaller.ser is to set the
framework property "org.apache.sling.launchpad.force.package.bundle.loading"
to "true"

Justin

On Thu, Jan 13, 2011 at 1:44 PM, Ian Boston <ie...@tfd.co.uk> wrote:

> I was wrong, its only the Launchpad base jar that will get updated (from
> inside the standalone jar).
> Changing the standalone manifest version to a snapshot version has no
> effect.
>
> It looks like the only solution for us is to delete do something in the
> outer loader to remove sling/felix/bundle0/bootstrapinstaller.ser if the
> standalone launchpad has been updated.
>
> Ian
>
> On 13 Jan 2011, at 17:08, Ian Boston wrote:
>
> > I have checked this now and the problem is not due to the ContentLoader
> but due to the Launchpad.
> > In fact I dont think there is a problem with the Launchpad, just our
> MANIFEST.
> >
> > Loading of new bundles based on the modification timestamp of the
> Launchpad jar does not appear to be happening, I think this is becuause we
> have incorrectly set out launchpad version to 2.2.0 instead of
> 0.10-SNAPSHOT.
> >
> > If we had a SNAPSHOT version the launchpad would look at the modification
> timestamp of the jar, at the moment it says
> >
> >
> > 13.01.2011 16:19:58.712 *INFO* [main] Existing launcher is up to date,
> using it: 2.2.0 (org.apache.sling.launchpad.base.jar)
> >
> > Ian
> >
> > On 13 Jan 2011, at 03:04, Carl Hall wrote:
> >
> >> I'm working to update a build for production by building up a new
> launchpad
> >> project and starting the updated jar against the previous data.  I've
> >> noticed that even with overwrite:=true or overwriteProperties:=true,
> initial
> >> content is not reloaded even when a new version of a bundle is
> >> introduced.  Through
> >> a few rounds of debugging, I found in the code [1] that isUpdated or
> >> contentAlreadyLoaded seem to be the keys to loading the content on
> server
> >> start.
> >>
> >> For a bundle named "great-bundle", I've found that I can set a property
> in
> >> JCR, /var/sling/bundle-content/great-bundle/content-loaded = false, and
> am
> >> able to load initial content from an updated bundle on server start.
>  While
> >> I've found that I can delete or remove this property in JCR to do what I
> >> want, is this the suggested way of updating initial content from a new
> >> launchpad application jar?
> >>
> >> 1
> >>
> http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java?revision=1000833&view=markup
> >> :
> >> line 157
> >
>
>

Re: Reloading initial content

Posted by Ian Boston <ie...@tfd.co.uk>.
I was wrong, its only the Launchpad base jar that will get updated (from inside the standalone jar).
Changing the standalone manifest version to a snapshot version has no effect.

It looks like the only solution for us is to delete do something in the outer loader to remove sling/felix/bundle0/bootstrapinstaller.ser if the standalone launchpad has been updated.

Ian

On 13 Jan 2011, at 17:08, Ian Boston wrote:

> I have checked this now and the problem is not due to the ContentLoader but due to the Launchpad.
> In fact I dont think there is a problem with the Launchpad, just our MANIFEST.
> 
> Loading of new bundles based on the modification timestamp of the Launchpad jar does not appear to be happening, I think this is becuause we have incorrectly set out launchpad version to 2.2.0 instead of 0.10-SNAPSHOT.
> 
> If we had a SNAPSHOT version the launchpad would look at the modification timestamp of the jar, at the moment it says
> 
> 
> 13.01.2011 16:19:58.712 *INFO* [main] Existing launcher is up to date, using it: 2.2.0 (org.apache.sling.launchpad.base.jar)
> 
> Ian
> 
> On 13 Jan 2011, at 03:04, Carl Hall wrote:
> 
>> I'm working to update a build for production by building up a new launchpad
>> project and starting the updated jar against the previous data.  I've
>> noticed that even with overwrite:=true or overwriteProperties:=true, initial
>> content is not reloaded even when a new version of a bundle is
>> introduced.  Through
>> a few rounds of debugging, I found in the code [1] that isUpdated or
>> contentAlreadyLoaded seem to be the keys to loading the content on server
>> start.
>> 
>> For a bundle named "great-bundle", I've found that I can set a property in
>> JCR, /var/sling/bundle-content/great-bundle/content-loaded = false, and am
>> able to load initial content from an updated bundle on server start.  While
>> I've found that I can delete or remove this property in JCR to do what I
>> want, is this the suggested way of updating initial content from a new
>> launchpad application jar?
>> 
>> 1
>> http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java?revision=1000833&view=markup
>> :
>> line 157
> 


Re: Reloading initial content

Posted by Ian Boston <ie...@tfd.co.uk>.
I have checked this now and the problem is not due to the ContentLoader but due to the Launchpad.
In fact I dont think there is a problem with the Launchpad, just our MANIFEST.

Loading of new bundles based on the modification timestamp of the Launchpad jar does not appear to be happening, I think this is becuause we have incorrectly set out launchpad version to 2.2.0 instead of 0.10-SNAPSHOT.

If we had a SNAPSHOT version the launchpad would look at the modification timestamp of the jar, at the moment it says


13.01.2011 16:19:58.712 *INFO* [main] Existing launcher is up to date, using it: 2.2.0 (org.apache.sling.launchpad.base.jar)

Ian

On 13 Jan 2011, at 03:04, Carl Hall wrote:

> I'm working to update a build for production by building up a new launchpad
> project and starting the updated jar against the previous data.  I've
> noticed that even with overwrite:=true or overwriteProperties:=true, initial
> content is not reloaded even when a new version of a bundle is
> introduced.  Through
> a few rounds of debugging, I found in the code [1] that isUpdated or
> contentAlreadyLoaded seem to be the keys to loading the content on server
> start.
> 
> For a bundle named "great-bundle", I've found that I can set a property in
> JCR, /var/sling/bundle-content/great-bundle/content-loaded = false, and am
> able to load initial content from an updated bundle on server start.  While
> I've found that I can delete or remove this property in JCR to do what I
> want, is this the suggested way of updating initial content from a new
> launchpad application jar?
> 
> 1
> http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/Loader.java?revision=1000833&view=markup
> :
> line 157