xsocket を使用してソケット サーバーを実装していますが、xsocket のハンドラーは何かを行うために Bean を注入する必要があります。しかし、参照は常に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 がコールバック クラスだからでしょうか。春から初期化しませんか?私は何をすべきですか?