Skip to content
This repository has been archived by the owner on Oct 5, 2022. It is now read-only.

improve error message to list the service thats missing #4648

Closed
jstrachan opened this issue Aug 24, 2015 · 3 comments
Closed

improve error message to list the service thats missing #4648

jstrachan opened this issue Aug 24, 2015 · 3 comments
Assignees
Labels

Comments

@jstrachan
Copy link
Contributor

e.g. its not clear from this stack trace what service is missing:

Exception in thread "main" org.jboss.weld.exceptions.DeploymentException: Exception List with 1 exceptions:
Exception 0 :
java.lang.IllegalStateException: Could not find client beans!
        at io.fabric8.cdi.KubernetesHolder.getClient(KubernetesHolder.java:40)
        at io.fabric8.cdi.Services.toServiceUrl(Services.java:37)
        at io.fabric8.cdi.producers.ServiceUrlProducer.produce(ServiceUrlProducer.java:47)
        at io.fabric8.cdi.producers.ServiceUrlProducer.produce(ServiceUrlProducer.java:26)
        at io.fabric8.cdi.bean.ProducerBean.create(ProducerBean.java:42)
        at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
        at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)
        at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
        at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:761)
        at org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:861)
        at org.jboss.weld.injection.ParameterInjectionPointImpl.getValueToInject(ParameterInjectionPointImpl.java:76)
        at org.jboss.weld.injection.ConstructorInjectionPoint.getParameterValues(ConstructorInjectionPoint.java:150)
        at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:75)
        at org.jboss.weld.injection.producer.AbstractInstantiator.newInstance(AbstractInstantiator.java:28)
        at org.jboss.weld.injection.producer.BasicInjectionTarget.produce(BasicInjectionTarget.java:116)
        at org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:179)
        at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:158)
        at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:69)
        at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)
        at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
        at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:761)
        at org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:861)
        at org.jboss.weld.injection.ParameterInjectionPointImpl.getValueToInject(ParameterInjectionPointImpl.java:76)
        at org.jboss.weld.injection.ConstructorInjectionPoint.getParameterValues(ConstructorInjectionPoint.java:150)
        at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:75)
        at org.jboss.weld.injection.producer.AbstractInstantiator.newInstance(AbstractInstantiator.java:28)
        at org.jboss.weld.injection.producer.BasicInjectionTarget.produce(BasicInjectionTarget.java:116)
        at org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:179)
        at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:158)
        at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
        at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)
        at org.jboss.weld.bean.ContextualInstanceStrategy$ApplicationScopedContextualInstanceStrategy.get(ContextualInstanceStrategy
        at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
        at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99)
        at org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:125)
        at io.fabric8.chaos.monkey.ChaosMonkey$Proxy$_$$_WeldClientProxy.toString(Unknown Source)
        at io.fabric8.cdi.eager.EagerCDIExtension.afterDeploymentValidation(EagerCDIExtension.java:42)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
        at org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.jav
        at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:306)
        at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:121)
        at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:284)
        at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:262)
        at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:271)
        at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:260)
        at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:154)
        at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:148)
        at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:54)
        at org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:35)
        at org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:28)
        at org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:447)
        at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90)
        at org.jboss.weld.environment.se.Weld.initialize(Weld.java:143)
        at org.jboss.weld.environment.se.StartMain.go(StartMain.java:48)
        at org.jboss.weld.environment.se.StartMain.main(StartMain.java:58)

        at org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:37)
        at org.jboss.weld.bootstrap.events.AfterDeploymentValidationImpl.fire(AfterDeploymentValidationImpl.java:28)
        at org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:447)
        at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90)
        at org.jboss.weld.environment.se.Weld.initialize(Weld.java:143)
        at org.jboss.weld.environment.se.StartMain.go(StartMain.java:48)
        at org.jboss.weld.environment.se.StartMain.main(StartMain.java:58)
@iocanel
Copy link
Member

iocanel commented Aug 25, 2015

The message is not about a service that is missing but about not being able to get a client instance.

Let me see how we can improve that.

@jstrachan
Copy link
Contributor Author

Aha! I noticed in master that Fabric8 Forge no longer gets a KubernetesClient injected via CDI too btw; I had to add a local hack for now

@iocanel
Copy link
Member

iocanel commented Aug 25, 2015

Falling back to the default client is broken in master. I am going to push a fix as soon as github connectivity issues are over.

@iocanel iocanel closed this as completed Aug 25, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants