OSGi (Felix) を Scala および Actors (Akka) と統合する機能を示す非常に単純な (Hello Simple World) POC を作成したいと考えています。これが私がこれまでに持っているものです:
$ tree
.
├── bin
│ └── felix.jar
├── bundle
│ └── akka-osgi_2.10-2.2.1.jar
├── conf
└── config.properties
$ cat conf/config.properties
org.osgi.framework.storage.clean: onFirstInit
org.osgi.framework.system.packages.extra: javafx
org.osgi.framework.bootdelegation: sun.misc
felix.auto.deploy.action=install,start
felix.log.level=1
org.osgi.service.http.port=8080
obr.repository.url=http://felix.apache.org/obr/releases.xml
$ java -jar bin/felix.jar
ERROR: Bundle com.typesafe.akka.osgi [1] Error starting file:/home/axiopisty/projects/test/bundle/akka-osgi_2.10-2.2.1.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle com.typesafe.akka.osgi [1]: Unable to resolve 1.0: missing requirement [1.0] osgi.wiring.package; (&(osgi.wiring.package=com.typesafe.config)(version>=0.4.1)(!(version>=1.1.0))))
org.osgi.framework.BundleException: Unresolved constraint in bundle com.typesafe.akka.osgi [1]: Unable to resolve 1.0: missing requirement [1.0] osgi.wiring.package; (&(osgi.wiring.package=com.typesafe.config)(version>=0.4.1)(!(version>=1.1.0)))
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3974)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2037)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
at java.lang.Thread.run(Thread.java:744)
このエラー メッセージから、エクスポートするバンドルがないことがわかりましたosgi.wiring.package
。しかし、そのパッケージをエクスポートするためにどのバンドルを含める必要があるかわかりません。それは Akka から来るのか、Felix から来るのか、それともどこかから来るのか?
提供された config.properties に見られるように、akka のドキュメントからOSGi フレームワークを構成する方法についての指示に従おうとしましたが、正しい方法で行う必要があると彼らが言ったことを行っているかどうかわかりません.
akka のドキュメントには次のように書かれています。
OSGi 環境で Akka を使用するには、org.osgi.framework.bootdelegation プロパティを設定して、sun.misc パッケージを通常の OSGi クラス空間で解決するのではなく、常にブート クラスローダーに委任する必要があります。
Felix を OSGi コンテナーとして使用し、デフォルトの felix ランチャーを使用してこれを行うにはどうすればよいでしょうか?
OSGi (Felix は必須ではありませんが、推奨されます) と Akka Actors を使用した単純な Hello World の例は、理想的には私が探しているものです。これを示すgithub(または他の場所)で何かを知っている場合は、それも答えとして受け入れます。