【发布时间】:2015-01-20 20:27:19
【问题描述】:
我需要在 Web 应用程序中创建一个服务器套接字来监听 Asterisk AGI 请求,但我需要在套接字中启用 CDI 注入,不知道该怎么做。
今天我已经让这个套接字工作得很好,问题是我不能用套接字注入 CDI bean。
例如:
class RequestProcessor implements Runnable
{
private Socket socket;
@Inject
private PhoneService phoneService;
@Override
public void run()
{
// Do the logic here
}
}
接收请求并发送到池的方法。
ExecutorService pool = Executors.newCachedThreadPool();
ServerSocket server = new ServerSocket(25000);
Socket client = server.accept();
pool.execute(new RequestProcessor(client));
这不是生产代码,这只是一个图解示例!
我无法让@Inject PhoneService phoneService 工作。
【问题讨论】:
-
当您
new一个对象时,DI 魔法不会自动发生。对象图必须由 DI 系统创建。 -
@MattBall,我知道这一点,这就是为什么我要问一种方法,因为我自己实例化它是行不通的。
标签: java jakarta-ee cdi wildfly wildfly-8