Giter VIP home page Giter VIP logo

Comments (5)

pedro-girao avatar pedro-girao commented on June 6, 2024

I believe most of the the time is spent on booting is on inflating the JAR pluggins? is this right? is there a way of having the folders inflated instead of JARS?

from openhab-addons.

kaikreuzer avatar kaikreuzer commented on June 6, 2024

Hi Pedro,
There are a couple of things to do.
One approach I am following is to make DSL support optional, so that xtext & emf bundles can be removed from the runtime. This is a valid option for all products that do not want their users having to edit config files, so probably most commercial solutions.
I have just created such a "minimal" runtime as a kind of technology preview: https://openhab.ci.cloudbees.com/job/openHAB2/lastSuccessfulBuild/artifact/distribution/target/distribution-2.0.0-SNAPSHOT-minimal-runtime.zip
Note that this is not really usable as without DSL support, there is no way to define rules, sitemaps or persistence services. Nonetheless, it is enough to run bindings with autodiscovery and use the REST API with them.
This minimal runtime still takes 130s startup time on a RaspPi, which is not great. Analysing it, I noticed that more than 40s are due to hstaudacher/osgi-jax-rs-connector#60. So once this issue is resolved, I would hope to get the startup time clearly under 2 minutes, which should be acceptable.
Another approach is to try out another OSGi framework than Equinox - Eclipse Concierge might help here, but this is not guaranteed. @JochenHiller is currently investigating this.

I believe most of the the time is spent on booting is on inflating the JAR pluggins? is this right? is there a way of having the folders inflated instead of JARS?

I don't think this is a possibility with OSGi and I doubt that would help - after all, the JVM needs to load the classes that are contained in there and doing individual file access for them is probably slower than reading a jar and unzipping it on the fly.

from openhab-addons.

JochenHiller avatar JochenHiller commented on June 6, 2024

Hi Kai, Pedro,
I did some initial testing of the openHAB2 minimal version.
When I start it (using start_debug.sh with Equinox framework) I see some bundles which can NOT be resolved:

  • org.eclipse.smarthome.core.transform
  • org.eclipse.smarthome.io.multimedia
  • org.eclipse.smarthome.io.net
  • org.openhab.binding.sonos

All of them require the bundle org.eclipse.smarthome.core.scriptengine.When I try to install that from normal runtime, this bundle can not be resolved due a missing dependency to org.eclipse.emf.ecore.resource, so adding back dependencies to EMF/xText.

The other parts of the platform seems to work, YahooWeather and Hue binding will at least start.

from openhab-addons.

kaikreuzer avatar kaikreuzer commented on June 6, 2024

Thanks for noticing - I actually made the imports optional locally, but missed to push the stuff to ESH. Will do this later today.

from openhab-addons.

kaikreuzer avatar kaikreuzer commented on June 6, 2024

Hi @JochenHiller, this problem is now fixed, all bundles as well as the sonos binding are now successfully started.

from openhab-addons.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.