001
014
015 package com.liferay.portal.fabric.netty.worker;
016
017 import com.liferay.portal.fabric.netty.rpc.RPCUtil;
018 import com.liferay.portal.fabric.status.JMXProxyUtil.ProcessCallableExecutor;
019 import com.liferay.portal.kernel.concurrent.NoticeableFuture;
020 import com.liferay.portal.kernel.process.ProcessCallable;
021
022 import io.netty.channel.Channel;
023
024 import java.io.Serializable;
025
026
029 public class NettyFabricWorkerProcessCallableExecutor
030 implements ProcessCallableExecutor {
031
032 public NettyFabricWorkerProcessCallableExecutor(
033 Channel channel, long fabricWorkerId, long rpcRelayTime) {
034
035 _channel = channel;
036 _fabricWorkerId = fabricWorkerId;
037 _rpcRelayTimeout = rpcRelayTime;
038 }
039
040 @Override
041 public <V extends Serializable> NoticeableFuture<V> execute(
042 ProcessCallable<V> processCallable) {
043
044 return RPCUtil.execute(
045 _channel,
046 new NettyFabricWorkerBridgeRPCCallable<V>(
047 _fabricWorkerId, processCallable, _rpcRelayTimeout));
048 }
049
050 private final Channel _channel;
051 private final long _fabricWorkerId;
052 private final long _rpcRelayTimeout;
053
054 }