运行 单独线程中的 netty 服务器
run netty server in separate thread
我有下一个应用程序 运行我的应用程序:
// class Server
public static void runServer(int port) {
var boss = new NioEventLoopGroup()
var worker = new NioEventLoopGroup()
var serverBootstrap = new ServerBootstrap()
try {
serverBootstrap.group(boss, worker)
// initilizers
} finally {
// shutdown
}
}
我还有一个入口点 class:
// initialize logging
Server.run(some_port);
// other code in the application
问题是:当我运行我的netty服务器时,我没有初始化其他代码(在Server.run
之后)。如何在 netty 中正确地做到这一点?
我的基本想法是:运行 在一个单独的线程中,例如:
new Thread {
public void run() {
Server.run(some_port);
}
}
正确吗?或者我错过了 Netty 方法的一些东西?
您的 runServer
方法很可能 return 您绑定的 Channel
也是如此。在这种情况下,您还应该能够在它之后 运行 更多代码。
我有下一个应用程序 运行我的应用程序:
// class Server
public static void runServer(int port) {
var boss = new NioEventLoopGroup()
var worker = new NioEventLoopGroup()
var serverBootstrap = new ServerBootstrap()
try {
serverBootstrap.group(boss, worker)
// initilizers
} finally {
// shutdown
}
}
我还有一个入口点 class:
// initialize logging
Server.run(some_port);
// other code in the application
问题是:当我运行我的netty服务器时,我没有初始化其他代码(在Server.run
之后)。如何在 netty 中正确地做到这一点?
我的基本想法是:运行 在一个单独的线程中,例如:
new Thread {
public void run() {
Server.run(some_port);
}
}
正确吗?或者我错过了 Netty 方法的一些东西?
您的 runServer
方法很可能 return 您绑定的 Channel
也是如此。在这种情况下,您还应该能够在它之后 运行 更多代码。