Shannon Lloyd opened SPR-15853 and commented

I have an @Async method on a @Component which implements java.util.Function<X, ListenableFuture<Y>>. Calling this method from a client object via the Function interface results in a null return value from the method call. If, however, I rewrite the interface (Kotlin) like so:

// Original (returns null when impl called)
 // interface XProcessor : Function<X, ListenableFuture<Y>>
// Rewritten (works)
 interface XProcessor
{ fun apply(x: X): ListenableFuture<Y> }

then calls to the apply(x) method work as expected, with no changes to the implementation of the apply function or to the calling code. It is only if I try to use the commented-out interface definition above that the calls return null.

Any ideas?


Affects: 4.3.8

Comment From: snicoll

Any ideas?

I am afraid not. Without a sample, I don't think this issue is actionable anymore. Sorry for overlooking it.