BDiegelmann
Grünschnabel
Hallo zusammen,
ich möchte eine Referenz eines Objektes über ein OSGI Service holen. Jedoch bekomme ich beim Zuweisen immer eine ClassCastException. Ich blicks nicht woran es liegt.
Registriert hab ich den Service folgendermaßen:
Und das was rauskommt ist das:
Obwohl die ganzen Debug-Ausgaben die ich da rein gebaut habe richtig zu sein scheinen, es nicht.
Kann mir da jemand auf die Sprünge helfen?
ich möchte eine Referenz eines Objektes über ein OSGI Service holen. Jedoch bekomme ich beim Zuweisen immer eine ClassCastException. Ich blicks nicht woran es liegt.
Code:
try
{
Object o = context.getService(serviceRef);
if (o instanceof IsoTP)
System.out.println("instance of!!");
System.out.println(o.getClass());
tp = (IsoTP) context.getService(serviceRef);
}
Registriert hab ich den Service folgendermaßen:
Code:
tpServiceReg = context.registerService(IsoTP.class.getName(), tp, null);
Und das was rauskommt ist das:
Code:
Server is started.
fw>$INFO 240 Service export: edag.can.controller.CANController
INFO 240 CANController-Bundle gestartet
INFO 241 ISO-TP Bundle gestartet
INFO 241 CANController Service referenziert.
DEBUG 240 ServiceEvent.REGISTERED
in if tpRef == null
edag.can.transport.IsoTP@4845aa
class edag.can.transport.IsoTP
java.lang.ClassCastException: edag.can.transport.IsoTP
at edag.can.controller.peak.Activator.serviceChanged(Activator.java:99)
at com.prosyst.mbs.impl.framework.EventsManager.serviceChanged(EventsMan
ager.java:681)
at com.prosyst.mbs.impl.framework.BundleContextImpl.registerService(Bund
leContextImpl.java:299)
at com.prosyst.mbs.impl.framework.BundleContextImpl.registerService(Bund
leContextImpl.java:267)
at com.prosyst.mbs.impl.framework.BundleContextImpl.registerService(Bund
leContextImpl.java:321)
at edag.can.transport.Activator.start(Activator.java:46)
at com.prosyst.mbs.impl.framework.BundleImpl.startIt(BundleImpl.java:306
3)
at com.prosyst.mbs.impl.framework.BundleImpl.simpleStart(BundleImpl.java
:991)
at com.prosyst.mbs.impl.framework.BundleImpl.start0(BundleImpl.java:904)
at com.prosyst.mbs.impl.framework.BundleImpl.start(BundleImpl.java:814)
at com.prosyst.mbs.impl.framework.BundleImpl.start(BundleImpl.java:592)
at com.prosyst.mbs.impl.services.pmp.Administration.startBundle(Administ
ration.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.prosyst.mbs.impl.services.pmp.InvocationThread.run(InvocationThre
ad.java:89)
at com.prosyst.util.impl.tpt.threadpool.Executor.run(Executor.java:136)
Obwohl die ganzen Debug-Ausgaben die ich da rein gebaut habe richtig zu sein scheinen, es nicht.
Kann mir da jemand auf die Sprünge helfen?