2016-04-13 14 views
0

Unterstützt JBOSS AS 7.1.1 OSGi 4.3.1? Welches ist die neueste Version von Jbosi, die mit JBOSS AS 7.1.1 verwendet werden kann?
Ich habe versucht, OSGi 4.3.1 in Bereitstellungen zu implementieren.
Ich habe versucht, die Version von 'Kompendium' von 4.2.0 bis 4.3.1 in standalone.xml ändern, wie unter
OSGi 4.3.0 in JBOSS AS 7.1.1

  <capability name="org.asgi:org.osgi.compendium:4.3.1" startlevel="1"/> 


Auch änderte ich die Version von OSGi in meiner Anwendung 4.3 verwendet gezeigt .1 in meiner pom.xml.
Ich bekomme am Ende die Ausnahme, wenn ich den Server starte.

ERROR [org.jboss.as.osgi] (MSC service thread 1-2) JBAS011900: Cannot start bundle: javax.persistence:2.1.0.v201304241213: org.osgi.framework.BundleException: org.eclipse.persistence.javax.persistence.osgi.Activator is not an implementation of org.osgi.framework.BundleActivator 
    at org.jboss.osgi.framework.internal.HostBundleState.transitionToActive(HostBundleState.java:302) [jbosgi-framework-core-1.1.8.Final.jar:1.1.8.Final] 
    at org.jboss.osgi.framework.internal.HostBundleState.startInternal(HostBundleState.java:223) [jbosgi-framework-core-1.1.8.Final.jar:1.1.8.Final] 
    at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:494) [jbosgi-framework-core-1.1.8.Final.jar:1.1.8.Final] 
    at org.jboss.as.osgi.deployment.BundleStartTracker$1.processService(BundleStartTracker.java:144) [jboss-as-osgi-service-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.as.osgi.deployment.BundleStartTracker$1.transition(BundleStartTracker.java:119) [jboss-as-osgi-service-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.msc.service.ServiceControllerImpl.invokeListener(ServiceControllerImpl.java:1416) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at org.jboss.msc.service.ServiceControllerImpl.access$2700(ServiceControllerImpl.java:49) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at org.jboss.msc.service.ServiceControllerImpl$ListenerTask.run(ServiceControllerImpl.java:1954) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_65] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_65] 
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65] 

Antwort

0

Ich bin nicht sicher, welche OSGi-Spezifikationen Versionen Jboss unterstützt excactly aber Sie sollten nie die spec Gläser in OSGi bereitstellen. Die OSGi-Kernspezifikationen werden vom OSGi-Framework bereitgestellt. Für andere Spezifikationen wie Kompendium oder Unternehmen sollten Sie nur die benötigten Spezifikationspakete bereitstellen oder einbetten. Stellen Sie diese Gefäße niemals als Bundles bereit. Der Grund ist, dass Sie schließlich mit zwei Versionen der gleichen Spezifikation enden, die Verbraucher und Anbieter solcher Dienste dazu bringen können, an verschiedene Spezifikationspakete zu binden. Dies führt dann dazu, dass die Verbraucher die Dienste nicht finden.