JavaEE和Spring中的注入类是同步的吗?
我只想有一个TCP套接字连接到另一个程序。每次对rest端点的新调用都会写入TCP套接字。如果我用我的TCP套接字编写一个类并将其注入控制器类中,它会是线程安全的吗?或者我必须使用synchronize关键字同步它们吗JavaEE和Spring中的注入类是同步的吗?,java,dependency-injection,Java,Dependency Injection,我只想有一个TCP套接字连接到另一个程序。每次对rest端点的新调用都会写入TCP套接字。如果我用我的TCP套接字编写一个类并将其注入控制器类中,它会是线程安全的吗?或者我必须使用synchronize关键字同步它们吗 @Component public class ViconetBuffer { private Socket socket; private boolean connectToViconSocket(){ try { socket = new Soc
@Component
public class ViconetBuffer {
private Socket socket;
private boolean connectToViconSocket(){
try {
socket = new Socket(DeviceAddressUtil.socketIp,DeviceAddressUtil.port);
return true;
}catch (Exception ex){
ex.printStackTrace();
return false;
}
}
public void sendDataToViconSocket(String message){
try {
if (!socket.isConnected()){
connectToViconSocket();
}else socket.getOutputStream().write(message.getBytes());
}catch (Exception ex){
ex.printStackTrace();
}
}
}不,那是你的工作。Spring/CDI/EJB无法知道您希望多个线程如何协调它们对套接字的使用。不,这是您的工作。Spring/CDI/EJB无法知道您希望多个线程如何协调它们对套接字的使用。当您尝试将一大块数据写入TCP并在传输过程中再次命中服务时会发生什么情况?当您尝试将一大块数据写入TCP并在传输过程中再次命中服务时会发生什么情况?因此,我不应该注入类并使方法同步而套接字是静态的?那么我不应该注入类并使方法同步而套接字是静态的吗?