Giter Club home page Giter Club logo

gravia's People

Contributors

gnodet avatar iocanel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

gravia's Issues

ComponentConfigurer should have better handling for cyclic reference.

The ComponentConfigurer is using a SubstitutePropertiesProvider which delegates to the Runtime for placeholder substitution.

However if a component defines a property with named my.key with default value ${my.key}
my.key = ${my.key} the resolution will fail even if there is a runtime property like my.key=my.value.

The SubstitutePropertiesProvider should ignore the provider that returns the cyclic result and move on to the next properties provider available.

This could be done, with having the SubstitutePropertiesProvider extend the CompositePropertiesProvider so that it has visibility of the actual delegates.

Wiki documentation update

Please take 10 minutes to review these Wiki pages I started. Unfortunately much of the knowledge to fill them in is only know by tdiesler and the source code history.

https://github.com/tdiesler/gravia/wiki/Manifest-Metadata
https://github.com/tdiesler/gravia/wiki/Version-History-&-Compatibility

If possible please take 10 minutes to check the information is correct and update with any new information to assist.

If some of the facts as not exactly known then please provide a link in the wiki to key source code files that would allow someone to easily find the information to help establish the facts, so the documentation is correct.

Thanks

NPE in RuntimeEnvironment

Caused by: java.lang.NullPointerException
    at java.io.File.<init>(File.java:277)
    at org.jboss.gravia.provision.spi.RuntimeEnvironment.initDefaultContent(RuntimeEnvironment.java:126)
    at org.jboss.gravia.provision.internal.ProvisionerActivator.start(ProvisionerActivator.java:48)


        File repositoryDir = new File((String) runtime.getProperty(Constants.PROPERTY_REPOSITORY_STORAGE_DIR));

Consider Runtime.getRequiredProperty(...) or defaulting to some storage dir

Fragment bundles exception: Resource already loaded

Seen with fabric8 master. Steps to reproduce:

1, Start bin/fabric8
2. Run container-add-profile root insight-elasticsearch.datastore
3. Wait for it...

Exception will be seen on console for each fragment bundle:

ERROR: Bundle org.apache.felix.framework [0] EventDispatcher: Error during dispatch. (java.lang.IllegalArgumentException: Resource already added: Resource[io.fabric8.insight.
insight-elasticsearch-plugin:1.2.0.SNAPSHOT])
java.lang.IllegalArgumentException: Resource already added: Resource[io.fabric8.insight.insight-elasticsearch-plugin:1.2.0.SNAPSHOT]
        at org.jboss.gravia.resource.spi.AbstractResourceStore.addResource(AbstractResourceStore.java:108)
        at org.jboss.gravia.provision.spi.RuntimeEnvironment.addRuntimeResource(RuntimeEnvironment.java:117)
        at org.jboss.gravia.provision.spi.RuntimeEnvironment$1.moduleChanged(RuntimeEnvironment.java:92)
        at org.jboss.gravia.runtime.osgi.internal.ModuleContextAdaptor$ModuleListenerAdaptor.bundleChanged(ModuleContextAdaptor.java:245)
        at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:869)
        at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:790)
        at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:515)
        at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)
        at org.apache.felix.framework.StatefulResolver.fireResolvedEvents(StatefulResolver.java:1126)
        at org.apache.felix.framework.StatefulResolver.resolve(StatefulResolver.java:439)
        at org.apache.felix.framework.Felix.resolveBundles(Felix.java:3957)
        at org.apache.felix.framework.FrameworkWiringImpl.resolveBundles(FrameworkWiringImpl.java:123)
        at io.fabric8.agent.service.Agent$BaseDeployCallback.resolveBundles(Agent.java:496)
        at io.fabric8.agent.service.Deployer.deploy(Deployer.java:788)
        at io.fabric8.agent.service.Agent.provision(Agent.java:327)
        at io.fabric8.agent.service.Agent.provision(Agent.java:187)
        at io.fabric8.agent.DeploymentAgent.doUpdate(DeploymentAgent.java:564)
        at io.fabric8.agent.DeploymentAgent$2.run(DeploymentAgent.java:215)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

Fabric8 Issue: https://issues.jboss.org/browse/FABRIC-1190

Replace runtime lookup with runtime service injection

RepositoryService is using scr, so why not injecting a service reference to the runtime instead of doing a static singleton lookup?

Yes - we can do that. Its historic - the RepositoryService moved to scr late in the game

Logging is way to noisy

Just trying to get the fabric8 distro running on openshift, and honestly gravia logs too much stuff at INFO when it installs/uninstalls components. I'd suggest moving all of that to DEBUG instead to keep the noise down.

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.