Fair enough, but the new method doesn't declare "throws X". I know 
technically speaking you don't have to declare runtime exceptions but I 
think it is useful in this case.

        I am actually using the Guice-2.0 snapshot which doesn't declare the 
exception either in code or Javadoc. I can see the trunk version at 
least added it in the Javadoc (though a different exception!)

        Anyway, as soon as trunk is usable (right now I'm getting exceptions at 
runtime which I mentioned in a separate post) then I'll build an updated 
snapshot and use that...

Gili

dg wrote:
> http://code.google.com/p/google-guice/wiki/Changes20 notes this is a
> change from 1.0.  You can use injector.getBindings().get(key) for the
> old behaviour.
> 
> -d
> 
> On Nov 22, 4:46 pm, Gili <[EMAIL PROTECTED]> wrote:
>> Injector.getBinding(Key) is supposed to return null if no binding was
>> found, yet it throws the following exception for me:
>>
>> com.google.inject.ProvisionException: Guice provision errors:
>> 1) Could not find a suitable constructor in
>> com.sun.jersey.multipart.impl.MultiPartReader. Classes must have
>> either one (and only one) constructor annotated with @Inject or a zero-
>> argument constructor that is not private.
>>   at com.sun.jersey.multipart.impl.MultiPartReader.class
>> (MultiPartReader.java:68)
>> 1 error[s]
>>         at com.google.inject.InjectorImpl.getBinding(InjectorImpl.java:
>> 108)
>>         at com.google.inject.InjectorImpl.getBinding(InjectorImpl.java:
>> 62)
>>         at
>> com.sun.jersey.spi.guice.container.servlet.GuiceComponentProviderFactory.ge 
>> tComponentProvider
>> (GuiceComponentProviderFactory.java:90)
>>         at
>> com.sun.jersey.spi.guice.container.servlet.GuiceComponentProviderFactory.ge 
>> tComponentProvider
>> (GuiceComponentProviderFactory.java:82)
>>         at
>> com.sun.jersey.spi.guice.container.servlet.GuiceComponentProviderFactory.ge 
>> tComponentProvider
>> (GuiceComponentProviderFactory.java:27)
>>         at
>> com.sun.jersey.core.spi.component.ioc.IoCProviderFactory._getComponentProvi 
>> der
>> (IoCProviderFactory.java:61)
>>         at
>> com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider
>> (ProviderFactory.java:105)
>>         at
>> com.sun.jersey.core.spi.component.ProviderServices.getComponent
>> (ProviderServices.java:155)
>>         at
>> com.sun.jersey.core.spi.component.ProviderServices.getProvidersAndServices
>> (ProviderServices.java:111)
>>         at
>> com.sun.jersey.core.spi.factory.MessageBodyFactory.getProviderMap
>> (MessageBodyFactory.java:134)
>>         at
>> com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders
>> (MessageBodyFactory.java:108)
>>         at com.sun.jersey.core.spi.factory.MessageBodyFactory.init
>> (MessageBodyFactory.java:103)
>>         at
>> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate
>> (WebApplicationImpl.java:462)
>>         at
>> com.sun.jersey.spi.guice.container.servlet.GuiceServlet.initiate
>> (GuiceServlet.java:46)
>>         at com.sun.jersey.spi.container.servlet.ServletContainer.load
>> (ServletContainer.java:530)
>>         at com.sun.jersey.spi.container.servlet.ServletContainer.init
>> (ServletContainer.java:197)
>>         at com.wideplay.warp.servlet.ServletDefinition.init
>> (ServletDefinition.java:50)
>>         at com.wideplay.warp.servlet.ManagedServletPipeline.init
>> (ManagedServletPipeline.java:31)
>>         at com.wideplay.warp.servlet.ManagedFilterPipeline.initPipeline
>> (ManagedFilterPipeline.java:38)
>>         at com.wideplay.warp.servlet.WebFilter.init(WebFilter.java:70)
>>         at org.apache.catalina.core.ApplicationFilterConfig.getFilter
>> (ApplicationFilterConfig.java:257)
>>         at
>> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef
>> (ApplicationFilterConfig.java:369)
>>         at org.apache.catalina.core.ApplicationFilterConfig.<init>
>> (ApplicationFilterConfig.java:103)
>>         at org.apache.catalina.core.StandardContext.filterStart
>> (StandardContext.java:4389)
>>         at org.apache.catalina.core.StandardContext.start
>> (StandardContext.java:5189)
>>         at com.sun.enterprise.web.WebModule.start(WebModule.java:326)
>>         at org.apache.catalina.core.ContainerBase.addChildInternal
>> (ContainerBase.java:973)
>>         at org.apache.catalina.core.ContainerBase.addChild
>> (ContainerBase.java:957)
>>         at org.apache.catalina.core.StandardHost.addChild
>> (StandardHost.java:688)
>>         at com.sun.enterprise.web.WebContainer.loadWebModule
>> (WebContainer.java:1584)
>>         at com.sun.enterprise.web.WebContainer.loadWebModule
>> (WebContainer.java:1222)
>>         at
>> com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed
>> (WebModuleDeployEventListener.java:182)
>>         at
>> com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed
>> (WebModuleDeployEventListener.java:278)
>>         at
>> com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEven 
>> tListener
>> (AdminEventMulticaster.java:974)
>>         at
>> com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEven t
>> (AdminEventMulticaster.java:961)
>>         at
>> com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent
>> (AdminEventMulticaster.java:464)
>>         at
>> com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent
>> (AdminEventMulticaster.java:176)
>>         at
>> com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicast 
>> Event
>> (DeploymentNotificationHelper.java:308)
>>         at
>> com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent
>> (DeploymentServiceUtils.java:226)
>>         at
>> com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent
>> (ServerDeploymentTarget.java:298)
>>         at
>> com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase
>> (ApplicationStartPhase.java:132)
>>         at
>> com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase
>> (DeploymentPhase.java:108)
>>         at
>> com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases
>> (PEDeploymentService.java:919)
>>         at
>> com.sun.enterprise.deployment.phasing.PEDeploymentService.start
>> (PEDeploymentService.java:591)
>>         at
>> com.sun.enterprise.deployment.phasing.PEDeploymentService.start
>> (PEDeploymentService.java:635)
>>         at
>> com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start
>> (ApplicationsConfigMBean.java:744)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke
>> (NativeMethodAccessorImpl.java:39)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
>> (DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>         at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean
>> (MBeanHelper.java:375)
>>         at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean
>> (MBeanHelper.java:358)
>>         at com.sun.enterprise.admin.config.BaseConfigMBean.invoke
>> (BaseConfigMBean.java:464)
>>         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke
>> (DefaultMBeanServerInterceptor.java:836)
>>         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke
>> (JmxMBeanServer.java:761)
>>         at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown
>> Source)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
>> (DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>         at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke
>> (ProxyClass.java:90)
>>         at $Proxy1.invoke(Unknown Source)
>>         at
>> com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke
>> (SunoneInterceptor.java:304)
>>         at com.sun.enterprise.interceptor.DynamicInterceptor.invoke
>> (DynamicInterceptor.java:174)
>>         at
>> com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call
>> (InvokeCaller.java:69)
>>         at
>> com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle
>> (MBeanServerRequestHandler.java:155)
>>         at
>> com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServle 
>> t.processRequest
>> (RemoteJmxConnectorServlet.java:122)
>>         at
>> com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServle 
>> t.doPost
>> (RemoteJmxConnectorServlet.java:193)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:
>> 738)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:
>> 831)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.servletService
>> (ApplicationFilterChain.java:411)
>>         at org.apache.catalina.core.StandardWrapperValve.invoke
>> (StandardWrapperValve.java:290)
>>         at org.apache.catalina.core.StandardContextValve.invokeInternal
>> (StandardContextValve.java:271)
>>         at org.apache.catalina.core.StandardContextValve.invoke
>> (StandardContextValve.java:202)
>>         at org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:632)
>>         at org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:577)
>>         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:
>> 94)
>>         at org.apache.catalina.core.StandardHostValve.invoke
>> (StandardHostValve.java:206)
>>         at org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:632)
>>         at org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:577)
>>         at org.apache.catalina.core.StandardPipeline.invoke
>> (StandardPipeline.java:571)
>>         at org.apache.catalina.core.ContainerBase.invoke
>> (ContainerBase.java:1080)
>>         at org.apache.catalina.core.StandardEngineValve.invoke
>> (StandardEngineValve.java:150)
>>         at org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:632)
>>         at org.apache.catalina.core.StandardPipeline.doInvoke
>> (StandardPipeline.java:577)
>>         at org.apache.catalina.core.StandardPipeline.invoke
>> (StandardPipeline.java:571)
>>         at org.apache.catalina.core.ContainerBase.invoke
>> (ContainerBase.java:1080)
>>         at org.apache.coyote.tomcat5.CoyoteAdapter.service
>> (CoyoteAdapter.java:272)
>>         at
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter
>> (DefaultProcessorTask.java:637)
>>         at
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess
>> (DefaultProcessorTask.java:568)
>>         at
>> com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process
>> (DefaultProcessorTask.java:813)
>>         at
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTa 
>> sk
>> (DefaultReadTask.java:341)
>>         at
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
>> (DefaultReadTask.java:263)
>>         at
>> com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask
>> (DefaultReadTask.java:214)
>>         at com.sun.enterprise.web.connector.grizzly.TaskBase.run
>> (TaskBase.java:265)
>>         at
>> com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run
>> (WorkerThreadImpl.java:116)
>> PWC1306: Startup of context /adcaster/v1 failed due to previous errors
>>
>> My code want to find out whether a class is injectable, not actually
>> try injecting it.
>>
>> Gili
> > 
> 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to