public class Executions
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
protected static class |
Executions.StreamableCallable |
构造器和说明 |
---|
Executions() |
限定符和类型 | 方法和说明 |
---|---|
static java.util.concurrent.Callable<?> |
serializableCallable(java.lang.reflect.Constructor<? extends java.util.concurrent.Callable> constructorToUse,
java.lang.Object... args)
This method should be used to convert a callable that would not normally
be serializable, externalizable or streamable but has serializable,
externalizable or streamable arguments to a constructor to construct it.
|
public static java.util.concurrent.Callable<?> serializableCallable(java.lang.reflect.Constructor<? extends java.util.concurrent.Callable> constructorToUse, java.lang.Object... args) throws java.lang.IllegalArgumentException
When the call method is called on the callable it will call the provided constructor passing in the given arguments. It will then invoke the call method on resulting callable that was created.
The amount of arguments cannot exceed Byte.MAX_VALUE
. Also the
constructor cannot exceed Byte.MAX_VALUE
position in the
constructor array returned from Class.getConstructors()
The amount of arguments must match the amount of arguments required by the constructor. Also the arguments must be compatibile with the types required of the constructor.
Unfortunately it isn't easy to pass a Constructor extends Callable
constructorToUse
- The constructor to use when creating the callableargs
- The arguments to pass to the constructorjava.lang.IllegalArgumentException
- This is thrown if the arguments are
not serializable, externalizable or streamable. It can be thrown
if the constructo is not accessible. It can also be thrown
if too many arguments or the constructor is to high up in the
constructo array returned by the class.