Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dependency injection 在无状态Bean中注入有状态Bean_Dependency Injection_Ejb 3.0_Jndi_Stateful Session Bean_Stateless Session - Fatal编程技术网

Dependency injection 在无状态Bean中注入有状态Bean

Dependency injection 在无状态Bean中注入有状态Bean,dependency-injection,ejb-3.0,jndi,stateful-session-bean,stateless-session,Dependency Injection,Ejb 3.0,Jndi,Stateful Session Bean,Stateless Session,使用DI在无状态会话bean中注入有状态会话bean时,会发生什么情况: 容器是否为每个无状态bean(存在于池中)注入了一个新的有状态bean实例,或者它们之间共享的是同一个实例 为什么在这种情况下使用JNDI比使用DI更好 我真的不明白。基本上,将stateful注入无状态是没有意义的,因为如果多个客户端碰巧获得相同的无状态实例,那么该有状态将被多个客户端共享,或者一个客户端也可以访问不同的有状态实例,如果它访问不同的无状态实例 在这种情况下,是否使用JNDI没有任何区别。Stateful不

使用
DI
无状态会话bean中注入
有状态会话bean
时,会发生什么情况: 容器是否为每个无状态bean(存在于池中)注入了一个新的有状态bean实例,或者它们之间共享的是同一个实例

为什么在这种情况下使用
JNDI
比使用DI更好


我真的不明白。

基本上,将stateful注入无状态是没有意义的,因为如果多个客户端碰巧获得相同的无状态实例,那么该有状态将被多个客户端共享,或者一个客户端也可以访问不同的有状态实例,如果它访问不同的无状态实例

在这种情况下,是否使用JNDI没有任何区别。Stateful不能由多个客户端共享,并且每个statelss实例都是不同的客户端。如果您将使用JNDI,那么根据查找的位置,您可以在每次调用无状态实例时得到新的有状态实例


您为什么要在无状态中注入stateful?

对于每个会话,@Statefull将成为新实例。 @Statefull不是一个直接实例,它是一个代理,可以在每次需要时进行更改,即使在@Stateless内部也是如此