You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2008/02/18 11:20:35 UTC

[jira] Created: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Launchpad war should optionally use an external Repository, without requiring a change of bundles
-------------------------------------------------------------------------------------------------

                 Key: SLING-254
                 URL: https://issues.apache.org/jira/browse/SLING-254
             Project: Sling
          Issue Type: Improvement
          Components: Launchpad
            Reporter: Bertrand Delacretaz


It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.

I'll search for a solution along these lines:

1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.

2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties

3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.

In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by Felix Meschberger <fm...@gmail.com>.
Hi Scott,

Scott Basinger (JIRA) schrieb:
> The issue I have when deploying to JBoss, where Jackrabbit JCA is the external repository, is JBoss registers all JNDI references under java:*. so jcr/local is registered as java:jcr/local.  RepositoryAccessor jndi lookup logic tokenizes based on a colon, which is a valid charater in a jndi name.  Could that separator be changed to a | or some non-valid jndi naming character.

Thanks for posting this question.

Could you please turn to the mailing list or create a new issue for this
? Thanks. This issue has long been closed. Any follow up discussions
should be held on the mailing list or a new issue. Otherwise this might
create confusion in the future.

Thank you very much for your comprehension.

Regards
Felix

> 
> 
> 
> 
> 
>> Launchpad war should optionally use an external Repository, without requiring a change of bundles
>> -------------------------------------------------------------------------------------------------
>>
>>                 Key: SLING-254
>>                 URL: https://issues.apache.org/jira/browse/SLING-254
>>             Project: Sling
>>          Issue Type: Improvement
>>          Components: Launchpad
>>            Reporter: Bertrand Delacretaz
>>            Assignee: Bertrand Delacretaz
>>
>> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
>> I'll search for a solution along these lines:
>> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
>> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
>> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
>> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.
> 

[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Scott Basinger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630394#action_12630394 ] 

Scott Basinger commented on SLING-254:
--------------------------------------

The issue I have when deploying to JBoss, where Jackrabbit JCA is the external repository, is JBoss registers all JNDI references under java:*. so jcr/local is registered as java:jcr/local.  RepositoryAccessor jndi lookup logic tokenizes based on a colon, which is a valid charater in a jndi name.  Could that separator be changed to a | or some non-valid jndi naming character.





> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569872#action_12569872 ] 

Felix Meschberger commented on SLING-254:
-----------------------------------------

> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties

Hmm, I would ignore the classpath, this is not manageable....

Environmentconfiguration is ok, provided it is based on well-known mechanisms such as system properties (dangerous in certain app server environments such as WebSphere) or configuration properties (ok if based on the sling.properties and its extensions mechanis)


> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger closed SLING-254.
-----------------------------------


Finally closing this issue, because the related fix has been included in the first release of Sling

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>             Fix For: 3
>
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bertrand Delacretaz resolved SLING-254.
---------------------------------------

    Resolution: Fixed

>From revision 629151, the jackrabbit-server bundle acquires Repository via JNDI or RMI if the sling.repository.url.override system property is set, instead of using embedded repository.

The "sling.repository.url.override" name is configurable, leaving it empty forces the use of the embedded Repository.

For RMI, the value of sling.repository.url.override is the RMI URL of the repository, which must start with "rmi://".

For JNDI, the value of sling.repository.url.override is in the form:

  jndi://NAME:A=B,C=D,...

Where NAME is the JNDI repository name.

A=B, C=D are name-value pairs used to build the JNDI context.

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger reopened SLING-254:
-------------------------------------


This implementation is currently wrong and disables correct operation as expected.

Here is why: The SlingServerRepository is a factory component, that is multiple configuration objects may exist for this class and each configuration objects leads to the instantiation of this class. The current implementation causes each configuration to be completely ignored if the url.override system property is set. And this is definitely wrong.

The correct solution would be ensure that the default configuration, which is prepared by the Activator, is created according to the url.override system property. But the SlingServerRepository class must ignore the system property.

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger updated SLING-254:
------------------------------------

    Fix Version/s: 3

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>             Fix For: 3
>
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569837#action_12569837 ] 

Bertrand Delacretaz commented on SLING-254:
-------------------------------------------

Thinking about it, it might be easier to enhance the jackrabbit-server bundle to optionally acquire a Repository via JNDI or RMI, based on an environment property.

The code required to do this is trivial, and it'd be less confusing than fighting with two bundles which potentially provide the same service.

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569871#action_12569871 ] 

Felix Meschberger commented on SLING-254:
-----------------------------------------

> and new releases of the launchpad war file could be dropped

Yikes ! This is not the intention of the OSGi inventor !! Updates should primarily be done by upgrading bundles and not re-deploying war files....

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630500#action_12630500 ] 

Bertrand Delacretaz commented on SLING-254:
-------------------------------------------

Scott, IIUC you're using the sling.repository.url system property to define your JNDI connection URL?

If that's the case, please provide an example value for sling.repository.url, that we can use for testing.

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569870#action_12569870 ] 

Felix Meschberger commented on SLING-254:
-----------------------------------------

> Thinking about it, it might be easier to enhance the jackrabbit-server bundle to
> optionally acquire a Repository via JNDI or RMI, based on an environment property. 

This mixes concepts of the jr-server and jr-client bundles ! As this sounds like a merge of the jr-client and jr-server bundles, I would suggest you reuse the jr-client stuff in the jr-server bundle. This leaves a single code base to access and external repository and we keep the option of creating distributables which do not embed any repository.

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Scott Basinger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630573#action_12630573 ] 

Scott Basinger commented on SLING-254:
--------------------------------------

The url I'm using is:

-Dsling.repository.url=jndi://java:jcr/local|java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory,java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces,java.naming.provider.url=http://www.apache.org/jackrabbit

And changes I've made to RepositoryAccessor are twofold.  First, in the getRepository method,  the JCARepositoryHandle returned by jndi lookup of Jackrabbit jca implements Repository but is not an instance of a Repository.  I made quick hack to add JCARepositoryHandle to if/else block.  

               } else if (repoObject instanceof JCARepositoryHandle) {
                    result = (JCARepositoryHandle) repoObject;
                    log.info("Acquired Repository '" + repositoryName
                        + "' via JNDI");


Also changed the jndi parser to look for | instead of colon.
            final int colonPos = urlNoPrefix.indexOf('|');


So essentially I can drop the jackrabbit-jca-1.4.rar and jcr-ds.xml into the JBoss 4.2.2 deploy directory and then start server with the sling.url property set and everything hooks up ok.  


> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bertrand Delacretaz reassigned SLING-254:
-----------------------------------------

    Assignee: Bertrand Delacretaz

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bertrand Delacretaz reassigned SLING-254:
-----------------------------------------

    Assignee: Felix Meschberger  (was: Bertrand Delacretaz)

In revision 630169, the sling.repository.url.override property is used by bundle Activator to create the default config.

Felix, can you check if that's what you meant?

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Felix Meschberger
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bertrand Delacretaz resolved SLING-254.
---------------------------------------

    Resolution: Fixed
      Assignee: Bertrand Delacretaz  (was: Felix Meschberger)

Property renamed in revision #630202, I think we can close this now

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569880#action_12569880 ] 

Felix Meschberger commented on SLING-254:
-----------------------------------------

> I'll probably move the raw JDNI/RMI repository access logic to the jcr api

In light of SLING-185 and separating API from implementation, it might even be better to create a new bundle with these shared classes and we might move the session pooling there (as per SLING-185).

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569874#action_12569874 ] 

Bertrand Delacretaz commented on SLING-254:
-------------------------------------------

> As this sounds like a merge of the jr-client and jr-server bundles, I would suggest you reuse the jr-client stuff 
> in the jr-server bundle.

Yes, that's the idea - I'll probably move the raw JDNI/RMI repository access logic to the jcr api module, as a utility class, and reuse that in both jr-client and jr-server.

> ...Updates should primarily be done by upgrading bundles and not re-deploying war files....

I do agree in absolute terms, but we don't want beginning users of the Launchpad to have to care about OSGi, so being able to replace the Launchpad war by another one from a newer Sling release, without having to reconfigure anything, sounds useful.



> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569889#action_12569889 ] 

Bertrand Delacretaz commented on SLING-254:
-------------------------------------------

> it might even be better to create a new bundle with these shared classes

Ok, I'll create a new jcr/base bundle and put the JNDI/RMI access code there. It's only a very simple class for now, but the idea is to move more stuff there later as mentioned in SLING-185



> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Bertrand Delacretaz
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SLING-254) Launchpad war should optionally use an external Repository, without requiring a change of bundles

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571378#action_12571378 ] 

Felix Meschberger commented on SLING-254:
-----------------------------------------

Cool, this is actually what I intended. Except that I would call the property just sling.repository.url (not ...override). This would also make it easy to adapt the jackrabbit-client bundle, where a property named "...override" used for standard configuration sounds strange. 

> Launchpad war should optionally use an external Repository, without requiring a change of bundles
> -------------------------------------------------------------------------------------------------
>
>                 Key: SLING-254
>                 URL: https://issues.apache.org/jira/browse/SLING-254
>             Project: Sling
>          Issue Type: Improvement
>          Components: Launchpad
>            Reporter: Bertrand Delacretaz
>            Assignee: Felix Meschberger
>
> It would be useful to allow the Launchpad to use an external Repository (accessed via JNDI or RMI), without having to modify the war file or load/unload bundles.
> I'll search for a solution along these lines:
> 1) Launchpad includes both the jackrabbit-server (embedded repository) and jackrabbit-client (access to external repositories via JNDI or RMI) bundles, but by default the jackrabbit-client does not provide a Repository.
> 2) At startup, the Sling class searches the classpath and/or environment for additional configuration properties
> 3) A specific configuration property prevents the jackrabbit-server bundle from providing a Repository, and lets the jackrabbit-client provide it.
> In this way, the web container could be setup in advance to define which Repository to use, and new releases of the launchpad war file could be dropped in without requiring any configuration or war file changes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.