[
https://issues.apache.org/jira/browse/TUSCANY-3875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ant elder updated TUSCANY-3875:
-------------------------------
Fix Version/s: Java-SCA-2.x
> SCAClientFactory.getService() doesn't throw NoSuchServiceException in a JVM
> with no composites
> ----------------------------------------------------------------------------------------------
>
> Key: TUSCANY-3875
> URL: https://issues.apache.org/jira/browse/TUSCANY-3875
> Project: Tuscany
> Issue Type: Bug
> Reporter: Greg Dritschler
> Priority: Minor
> Fix For: Java-SCA-2.x
>
>
> If a JVM has no OASIS composites in a given domain,
> SCAClientFactoryImpl.findLocalRuntime() won't find an existing domain
> registry. It constructs a client domain registry and sets a flag
> "remoteClient" to true. This causes getService() to skip over the service
> lookup and to just return a proxy. When the client invokes the proxy, the
> invocation handler checks if the service exists in the client domain
> registry. If not, it throws NoSuchServiceException. Since this is a checked
> exception and it's not defined on the business interface, the client gets an
> UndeclaredThrowableException.
> If the JVM does have some running OASIS composites in the domain,
> getService() will check if it has the desired service and if not, throw a
> NoSuchServiceException as expected.
> This doesn't seem entirely consistent. In either case the service may show
> up later on some remote node. Why should the client behave differently
> depending on whether the local node itself has some unrelated OASIS
> components running in it at that moment?
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira