Nachdem ich mein aktuelles Projekt hier schon vorgestellt habe:
https://knx-user-forum.de/cometvisu/...s-openhab.html
Würde ich gerne in diesem Forum vor allem die openHAB relevanten Sachen besprechen. Konkret habe ich da noch diverse Fragen:
1. Zur Zeit habe ich den Code einfach mit in das REST Bundle gepackt, ich denke aber es ware besser das in ein eigenes Bundle, mit starker Abhängigkeit vom REST-Bundle, auszulagern. Das habe ich gerade versucht jedoch bekomme ich jetzt Exceptions, wenn das Bundle aktiviert wird.
	Vielleicht kann mir da ja jemand einen entscheidenden Tipp geben. Sourcen sind in meinem Clone zu finden:
tbraeutigam-openhab - CUPS-Binding, MaryTTS, Pulseaudio-Binding, Cometvisu Backend - Google Project Hosting
Ich habe zwar noch mehrere Fragen, die sich vor allem auf Atmosphere beziehen aber erstmal will ich das Bundle getrennt zum Laufen bringen.
					https://knx-user-forum.de/cometvisu/...s-openhab.html
Würde ich gerne in diesem Forum vor allem die openHAB relevanten Sachen besprechen. Konkret habe ich da noch diverse Fragen:
1. Zur Zeit habe ich den Code einfach mit in das REST Bundle gepackt, ich denke aber es ware besser das in ein eigenes Bundle, mit starker Abhängigkeit vom REST-Bundle, auszulagern. Das habe ich gerade versucht jedoch bekomme ich jetzt Exceptions, wenn das Bundle aktiviert wird.
Code:
	
	!ENTRY org.eclipse.equinox.ds 4 0 2012-11-10 10:53:28.394
!MESSAGE [SCR] Exception while activating instance org.openhab.io.cv.internal.CVApplication@447e8836 of component org.openhab.io.cv.servlet  
!STACK 0
java.lang.reflect.InvocationTargetException
    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 org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:235)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
    at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
    at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
    at org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:536)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:260)
    at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
    at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
    at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
    at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
    at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: javax.servlet.ServletException: Resource configuration class, org.openhab.io.cv.internal.CVApplication, could not be loaded
    at org.openhab.io.cv.internal.CVApplication.activate(CVApplication.java:166)
    ... 28 more
Caused by: javax.servlet.ServletException: Resource configuration class, org.openhab.io.cv.internal.CVApplication, could not be loaded
    at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:746)
    at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:678)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
    at javax.servlet.GenericServlet.init(GenericServlet.java:244)
    at org.atmosphere.util.AtmosphereFilterChain.init(AtmosphereFilterChain.java:124)
    at org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.init(ReflectorServletProcessor.java:290)
    at org.atmosphere.handler.ReflectorServletProcessor.init(ReflectorServletProcessor.java:181)
    at org.atmosphere.cpr.AtmosphereFramework.initAtmosphereHandler(AtmosphereFramework.java:854)
    at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:502)
    at org.atmosphere.cpr.AtmosphereServlet.init(AtmosphereServlet.java:191)
    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.init(ServletRegistration.java:49)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.registerServlet(ProxyServlet.java:179)
    at org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:66)
    at org.openhab.io.cv.internal.CVApplication.activate(CVApplication.java:156)
    ... 28 more
Caused by: java.lang.ClassNotFoundException: org.openhab.io.cv.internal.CVApplication
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:240)
    at com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:220)
    at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:711)
    ... 43 more
Root exception:
java.lang.RuntimeException: javax.servlet.ServletException: Resource configuration class, org.openhab.io.cv.internal.CVApplication, could not be loaded
    at org.openhab.io.cv.internal.CVApplication.activate(CVApplication.java:166)
    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 org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:235)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
    at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
    at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
    at org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:536)
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:260)
    at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
    at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
    at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
    at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
    at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
    at java.lang.Thread.run(Unknown Source)
Caused by: javax.servlet.ServletException: Resource configuration class, org.openhab.io.cv.internal.CVApplication, could not be loaded
    at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:746)
    at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:678)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
    at javax.servlet.GenericServlet.init(GenericServlet.java:244)
    at org.atmosphere.util.AtmosphereFilterChain.init(AtmosphereFilterChain.java:124)
    at org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.init(ReflectorServletProcessor.java:290)
    at org.atmosphere.handler.ReflectorServletProcessor.init(ReflectorServletProcessor.java:181)
    at org.atmosphere.cpr.AtmosphereFramework.initAtmosphereHandler(AtmosphereFramework.java:854)
    at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:502)
    at org.atmosphere.cpr.AtmosphereServlet.init(AtmosphereServlet.java:191)
    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.init(ServletRegistration.java:49)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.registerServlet(ProxyServlet.java:179)
    at org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.registerServlet(HttpServiceImpl.java:66)
    at org.openhab.io.cv.internal.CVApplication.activate(CVApplication.java:156)
    ... 28 more
Caused by: java.lang.ClassNotFoundException: org.openhab.io.cv.internal.CVApplication
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:240)
    at com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:220)
    at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:711)
    ... 43 more
tbraeutigam-openhab - CUPS-Binding, MaryTTS, Pulseaudio-Binding, Cometvisu Backend - Google Project Hosting
Ich habe zwar noch mehrere Fragen, die sich vor allem auf Atmosphere beziehen aber erstmal will ich das Bundle getrennt zum Laufen bringen.


Kommentar