2016-06-29 8 views
1

私はSling/Felixに2つのOSGiバンドルをインストールしています。OSGiバンドルを展開すると、別のバンドルから設定が削除されます

バンドルコアはJavaコード(OSGiサービスとSlingモデル)で、バンドルUIにはJSPとJSコードのみが含まれ、Sling-initial-contentを使用してリポジトリにインポートされます。

バンドルAは、例えば、アプリケーションのための画像を取得するには、ルートURLを入れて、最初の登録サービスを展開されている。ここで

[c.r.o.c.services.models.components.ImageComponentServiceImpl,1410] ServiceEvent REGISTERED 

は、プロパティに関連付けられたクラスです。

@Component(metatype=true, label="Image component service", description="Service providing data to image components") 
@Service(value = ImageComponentService.class) 
public class ImageComponentServiceImpl extends AbstractModelService implements ImageComponentService { 

    @Property(label="Images root URL", description="URL to the web directory containing image files") 
    public static final String IMAGE_ROOT_URL = "image.root.url"; 

}  

次に、このサービスのプロパティに値を追加します。

INFO c.r.o.c - Service [c.r.o.c.services.models.components.ImageComponentServiceImpl,1410] ServiceEvent UNREGISTERING 
INFO c.r.o.c - Service [c.r.o.c.services.models.components.ImageComponentServiceImpl,1451] ServiceEvent REGISTERED 

しかし、私がBunをデプロイしたとき私はこれを得る:

INFO o.a.s.i.p.jcr.impl.JcrInstaller - Removing resource from OSGi installer: [/apps/sling/install/c.r.o.c.services.models.components.ImageComponentServiceImpl.config] 
INFO o.a.s.i.p.jcr.impl.JcrInstaller - Deleting WatchedFolder:/apps/sling/install, path does not exist anymore 
INFO o.apache.sling.audit.osgi.installer - Deleted configuration c.r.o.c.services.models.components.ImageComponentServiceImpl from resource TaskResource(url=jcrinstall:/apps/sling/install/c.r.o.c.services.models.components. ImageComponentServiceImpl.config, entity=config:c.r.o.c.services.models.components.ImageComponentServiceImpl, state=UNINSTALL, attributes=[service.pid=c.r.o.c.services.models.components.ImageComponentServiceImpl, resource.uri .hint=c.r.o.c.services.models.components.ImageComponentServiceImpl], digest=5474257d3971e3f9a92ac39b2f2d4b69) 
INFO c.r.o.c - Service [c.r.o.c.services.models.components.ImageComponentServiceImpl,1451] ServiceEvent UNREGISTERING 
INFO c.r.o.c - Service [c.r.o.c.services.models.components.ImageComponentServiceImpl,1452] ServiceEvent REGISTERED  

他のバンドルから設定を削除するのはなぜですか?これらのバンドルは連携して動作しますが、インポート/エクスポート命令では関連しません。

私はorg.apache.sling.installer.provider.jcrを3.1.18に更新しましたが、それは同じです。

https://issues.apache.org/jira/browse/SLING-4925/https://issues.apache.org/jira/browse/SLING-4929と関連がありますか?それはJackrabbitを更新する必要があり、私はそれが既存のコンテンツでは簡単ではないと確信しています。

<Sling-Initial-Content> 
    SLING-INF/content/apps/sling;overwrite:=true;uninstall=true 
</Sling-Initial-Content> 

したがって、全体/アプリケーション/スリングディレクトリが削除上書きし、設定した:

+0

どのようにあなたが他のバンドルを展開していますか? –

+0

私はこの質問を更新するのを忘れましたが、最終的にSlingメーリングリストの助けを借りて問題を発見しました。他のバンドルは実際に/ apps/slingディレクトリを上書きしていたので、私の設定は削除されました。 –

答えて

1

問題は、このように、UIバンドルは、カスタムエラーページ(403分の404)を追加するJSPを展開したということでした。

だから私はこのためにラインを変えたのだが、問題を修正しました:

<Sling-Initial-Content> 
    SLING-INF/content/apps/sling/servlet;path:=/apps/sling/servlet;overwrite:=true;uninstall=true 
</Sling-Initial-Content> 
関連する問題