You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2017/02/03 11:06:51 UTC

[jira] [Commented] (DELTASPIKE-1200) Deltaspike unusable in OSGi

    [ https://issues.apache.org/jira/browse/DELTASPIKE-1200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15851340#comment-15851340 ] 

Guillaume Nodet commented on DELTASPIKE-1200:
---------------------------------------------

I'm willing to work on that, but I would need some guidance as I don't know much about deltaspike internals.
The main point is that instead of using static fields in CoreBaseConfig, the fields need to be turned into getters somehow, so that multiple applications can share the same classes with different configurations.

> Deltaspike unusable in OSGi
> ---------------------------
>
>                 Key: DELTASPIKE-1200
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1200
>             Project: DeltaSpike
>          Issue Type: Bug
>    Affects Versions: 1.4.2
>         Environment: OSGi, Pax-CDI
>            Reporter: Guillaume Nodet
>            Priority: Blocker
>
> Deltaspike is now quite unusable in modular environments, in particular OSGi due to static fields that are not supposed to be shared.
> This is particularly true for {{org.apache.deltaspike.core.api.config.base.CoreBaseConfig}} inner interfaces which causes lots of problems.   In my scenario, {{deltaspike-core-api}} is loaded on itself as a CDI application, which cause the {{BeanManagerIntegration.BeanManagerIntegration.DELEGATE_LOOKUP}} field to be initialized, but this initialization fails because no config provider can be found (the {{deltaspike-core-impl}} jar is not available).   
> Later on, when a real application is loaded, nothing works because the class has failed initialization and thus delta pike becomes completely unusable.
> Even if I can make the initialization work in my test by changing the order of the bundles and making sure the first time the classes are loaded, a config provider is available, I think this means that Deltaspike can't be shared at all, because those configuration bits are supposed to change from one CDI app to another.
> This seems to be all caused by https://github.com/apache/deltaspike/commit/25b2b8cc0c955a28743f9a84925c8e410f0d298d and DELTASPIKE-892.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)