[ 
https://issues.apache.org/jira/browse/TUSCANY-3766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ant elder updated TUSCANY-3766:
-------------------------------

    Fix Version/s: Java-SCA-1.x

> HTTP Binding is failing to start due to unimplemented function being called 
> by toString()
> -----------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3766
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3766
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA HTTP Binding
>    Affects Versions: Java-SCA-1.6
>         Environment: Tuscany Java SCA 1.6
> Windows XP SP3
> JDK 1.6 
>            Reporter: Padraig Myers
>             Fix For: Java-SCA-1.x
>
>         Attachments: 3766.padraigmyers.patch
>
>
> I set up a service using Tuscany that exposes itself using binding.http.
> This service is implemented using Spring and will act like a servlet to all 
> intents and purposes.
> However during startup an exception is thrown because the method 
> org.apache.tuscany.sca.implementation.spring.invocation.SpringImplementationTie
>  .getURI() is being called, and this method has nothing in it but "throw new 
> IllegalStateException("Not yet impl");"
> However in the scenario above the only reason that getURI() us being called 
> is because of a toString() that gets run on startup.
> By changing getURI() to:
>     public String getURI() {
>       return this.component.getURI();        
>     }
> the exception is not thrown and no other problems occur and our service works 
> perfectly. (patch attached)
> The solution here is either the code above, however this may have knock on 
> effects on other components that use getURI() there throwing an exception is 
> OK, however in this case because it is only being called in a toString() 
> either we should not throw an exception, or else the toString() should catch 
> and swallow the exception.
> Here is the trace of the exception that happens:
> SEVERE: Exception starting filter Tuscany
> org.osoa.sca.ServiceRuntimeException: 
> java.lang.reflect.InvocationTargetException
>       at 
> org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:220)
>       at 
> org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:76)
>       at 
> org.apache.tuscany.sca.host.webapp.WebAppServletHost.init(WebAppServletHost.java:238)
>       at 
> org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.init(TuscanyServletFilter.java:52)
>       at 
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
>       at 
> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
>       at 
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
>       at 
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
>       at 
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
>       at 
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>       at 
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
>       at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:905)
>       at 
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
>       at 
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:500)
>       at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
>       at 
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
>       at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>       at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
>       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>       at 
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>       at 
> org.apache.catalina.core.StandardService.start(StandardService.java:519)
>       at 
> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>       at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
>       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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
>       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
> Caused by: java.lang.reflect.InvocationTargetException
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>       at 
> org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:199)
>       ... 30 more
> Caused by: java.lang.RuntimeException: 
> java.lang.reflect.InvocationTargetException
>       at 
> org.apache.tuscany.sca.implementation.spring.invocation.SpringContextStub.start(SpringContextStub.java:106)
>       at 
> org.apache.tuscany.sca.implementation.spring.invocation.SpringImplementationProvider.start(SpringImplementationProvider.java:77)
>       at 
> org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:644)
>       at 
> org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:560)
>       at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:728)
>       at 
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:187)
>       at 
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:100)
>       at 
> org.apache.tuscany.sca.host.webapp.WebSCADomain.<init>(WebSCADomain.java:41)
>       ... 35 more
> Caused by: java.lang.reflect.InvocationTargetException
>       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 
> org.apache.tuscany.sca.implementation.spring.invocation.SpringContextStub.start(SpringContextStub.java:99)
>       ... 42 more
> Caused by: java.lang.RuntimeException: 
> java.lang.reflect.InvocationTargetException
>       at 
> org.apache.tuscany.sca.implementation.spring.runtime.context.SpringImplementationStub.getURI(SpringImplementationStub.java:65)
>       at 
> org.apache.tuscany.sca.implementation.spring.runtime.context.SCAParentApplicationContext.getDisplayName(SCAParentApplicationContext.java:114)
>       at 
> org.springframework.context.support.AbstractApplicationContext.toString(AbstractApplicationContext.java:1272)
>       at java.lang.String.valueOf(String.java:2826)
>       at java.lang.StringBuilder.append(StringBuilder.java:115)
>       at 
> org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:454)
>       at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:392)
>       at 
> org.apache.tuscany.sca.implementation.spring.runtime.context.SpringContextTie.start(SpringContextTie.java:70)
>       ... 47 more
> Caused by: java.lang.reflect.InvocationTargetException
>       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 
> org.apache.tuscany.sca.implementation.spring.runtime.context.SpringImplementationStub.getURI(SpringImplementationStub.java:62)
>       ... 54 more
> Caused by: java.lang.IllegalStateException: Not yet impl
>       at 
> org.apache.tuscany.sca.implementation.spring.invocation.SpringImplementationTie.getURI(SpringImplementationTie.java:53)
>       ... 59 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to