Hi! I continue with my explorations of Tuscany 2.0 and SCA 1.1 and have come to callbacks. Having written a small example program, I run into the following peculiarities:
- If the service and callback interfaces are not annotated with @Remotable, Tuscany complains about interfaces being incompatible and the program fails to execute. If the service and callback interfaces are annotated with @Remotable, the problem goes away. As far as I understand, this is the TUSCANY-3251 bug. - I have a BulkChecksumService that asynchronously calls a ChecksumService, which in turn is to callback the BulkChecksumService to deliver the result of computations. The ChecksumService is called multiple times from one and the same BulkChecksumService instance. If the BulkChecksumService is scoped STATELESS, then for each call, even the callback calls, a new instance of the BulkChecksumService is created. This causes a slight problem, since I was expecting the callback to be done on the instance of BulkChecksumService from which the invocation of ChecksumService originated, so that results received could be accumulated in an array and, when having checksummed all items, return the results (synchronously) to the client. I read on the developer's mailing list that the SCA specification disallows using the STATELESS scope with callbacks - is this an example of when this applies? I haven't been able to find this in the SCA 1.1 specifications and if this construct is indeed disallowed, could someone point me to the place in the SCA 1.1 specifications that states this? Finally, I want to mention that I have only tried to use the SCA binding in my example program and that both components are running in the same JVM. Best wishes! Ivan
