On Tue, Feb 23, 2010 at 4:45 PM, Thomas Heute <theute@redhat.com> wrote:
On 02/23/2010 04:40 PM, Nicolas Filotto wrote:
If so it means that you need to enforce the dependency of ExoKernelIntegration with org.exoplatform.services.jcr.config.RepositoryServiceConfiguration, since it is the service that is in charge of creating JCR repositories and workspaces, so If you enforce the dependency, you will ask PicoContainer to create and start this component before your component. To do so just add RepositoryServiceConfiguration in your constructor as below:
..
public ExoKernelIntegration(RepositoryServiceConfiguration rsc)
{
...
}
..

After seeing this noone can tell anything good about Picocontainer ;)
This has nothing to do with PicoContainer, it is due to the fact that Picocontainer needs to manage the live-cycle of all the components to be able to manage the dependencies properly and obviously in your case, ExoKernelIntegration has indirect dependencies that are not managed by Picocontainer, so for me it could be due to 2 potential reasons:
  1. The integration is not done properly
  2. The integration is done properly but indirect dependencies are only side effects of the integration of a non Pico aware component such as the issue with the integration of the PC and the ResourceBundleService.



Please note that RepositoryServiceConfiguration will create all the repositories and workspaces in its start method 

On Tue, Feb 23, 2010 at 4:20 PM, Matthew Wringe <mwringe@redhat.com> wrote:
On Tue, 2010-02-23 at 16:02 +0100, Nicolas Filotto wrote:
> Could you please fully describe the problem you met, to allow us to
> give you the best solution.

WSRP is setup using the ExoKernelIntegration. This is a java class that
hardcodes the wsrp wiring. As part of the wiring it needs to get access
to the 'repository' jcr repository.

The 'repository' jcr repo is setup in an external-plugin-configuration
(portal/src/main/webapp/WEB-INF/conf/jcr/component-plugins-configuration.xml).

If we use the Sun JDK then everything works fine and the
external-plugin-configuration gets called before the
ExoKernelIntegration. WSRP can find the jcr repository it needs.

If we use the IBM JDK, then the ordering is different and the wsrp
ExoKernelIntergration will fail because it can't find the jcr
'repository' repo.

I want to be able to tell the wsrp setup to wait until after the jcr
specific external-plugin-configuration has been called. Right now we
don't specify that, and its probably just by chance that it works with
the Sun JDK right now.


> On Tue, Feb 23, 2010 at 3:42 PM, Matthew Wringe <mwringe@redhat.com>
> wrote:
>         In WSRP we need to depend on an external-plugin-configuration
>         to setup
>         the 'repository' repo in jcr. WSRP is configured using the
>         ExoKernelIntergration.
>
>         Is there anyway to make the wcrp configuration happen after
>         the
>         external-plugin-configuration has occured?
>
>         The issue only occurs when using the IBM jdk and not the Sun
>         one.
>
>         _______________________________________________
>         gatein-dev mailing list
>         gatein-dev@lists.jboss.org
>         https://lists.jboss.org/mailman/listinfo/gatein-dev
>
>
>
> --
> Nicolas Filotto
> JCR Product Manager
> Project Manager
> eXo Platform SAS
> nicolas.filotto@exoplatform.com
> +33 (0)6 31 32 92 19





--
Nicolas Filotto
JCR Product Manager
Project Manager
eXo Platform SAS
nicolas.filotto@exoplatform.com
+33 (0)6 31 32 92 19  
_______________________________________________ gatein-dev mailing list gatein-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/gatein-dev




--
Nicolas Filotto
JCR Product Manager
Project Manager
eXo Platform SAS
nicolas.filotto@exoplatform.com
+33 (0)6 31 32 92 19