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