Tôi muốn ngăn người dùng chạy ứng dụng java của tôi nhiều lần song song.Ngăn chặn khởi chạy nhiều phiên bản của một ứng dụng java
Để ngăn chặn điều này, tôi đã tạo một tệp khóa khi mở ứng dụng và xóa tệp khóa khi đóng ứng dụng.
Khi ứng dụng đang chạy, bạn không thể mở một phiên bản jar khác. Tuy nhiên, nếu bạn giết ứng dụng thông qua trình quản lý tác vụ, sự kiện đóng cửa sổ trong ứng dụng sẽ không được kích hoạt và tệp khóa sẽ không bị xóa.
Làm cách nào để đảm bảo phương thức tệp khóa hoạt động hoặc tôi có thể sử dụng cơ chế nào khác?
SPOILER ALERT: sử dụng một ServerSocket – pmnt
Better tóm tắt hơn là chỉ để gửi một liên kết . Nó có thể đã chết sau một thời gian – RobAu
PSA: Một ổ cắm máy chủ hoạt động tốt, đừng quên gán nó vào thứ gì đó sẽ không bị thu gom rác trong suốt quá trình hoặc lợi ích loại trừ sẽ ngắn ngủi (hoặc tệ hơn , nó sẽ hoạt động chỉ đủ lâu để làm cho bạn tự hỏi điều gì đã xảy ra khi nó dừng lại). –