代码之家  ›  专栏  ›  技术社区  ›  Sagar Nair

JAVA EE和Spring中的注入类是否同步?

  •  1
  • Sagar Nair  · 技术社区  · 6 年前

    我只想有一个连接到另一个程序的TCP套接字。每次对rest端点的新调用都会写入我的tcp套接字。如果我用tcp套接字编写一个类并将其注入到我的控制器类中,它是否是线程安全的?还是必须使用synchronize关键字来同步它们?

    @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();
        }
    }
    

    }

    0 回复  |  直到 6 年前
        1
  •  0
  •   meriton    6 年前

    不,那是你的工作。spring/cdi/ejb不知道您希望多个线程如何协调它们对套接字的使用。