我使用xsocket来实现套接字服务器,而xsocket的处理程序需要注入一个bean来做某事。但是,引用aliway为NULL,我记录了setter方法,setter方法已被原谅,并且bean在日志中不为null。
public class SocketServerHandler implements IDataHandler, IConnectHandler, IIdleTimeoutHandler, IConnectionTimeoutHandler, IDisconnectHandler, ApplicationContextAware {
private APIInvokeServer apiInvokeServer;
@Override
public boolean onData(INonBlockingConnection connection) throws IOException, BufferUnderflowException,ClosedChannelException, MaxReadSizeExceededException {
// read from connection
String message = parseMessage(connection);
final APIInvokeRequest invokeRequest;
invokeRequest = apiInvokeServer.createInvokeRequest(trace);
balabala...
}
public void setApiInvokeServer(APIInvokeServer apiInvokeServer) {
OceanLog.system.error("--------setApiInvokeServer--------" + apiInvokeServer);
this.apiInvokeServer = apiInvokeServer;
}
}
是因为Handler是一个回调类吗?并且不要从春天开始? 那我该怎么办?