Pojedyncze uruchomienie programu

0

Napisałem program w javie, w którym można się bawić w bazie danych Oracle. Czy jest możliwość (jeżeli jest to jaka), aby było można tylko jednokrotnie uruchomić program?? Odświeżanie danych z bazy co jakiś czas nie wchodzi w grę, bo tabla zawiera pola BLOB, a przy dużych danych bardzo uciążliwe i czasochłonne by było takie odświeżanie.

0

Pamiętaj, że zawsze użytkownik może uruchomić program na dwóch różnych komputerach.
Musiałbyś więc informację o uruchomieniu programu przechowywać w bazie, ale wtedy jeżeli program się wywali, to użytkownik może zostać na stałe odcięty. Pewnym rozwiązaniem są sesje, które po pewnym czasie same wygasają. Jeżeli używasz Javy EE, to można to łatwo osiągnąć.
Oczywiście jeżeli dwóch użytkowników może zmieniać te same dane, to problem nadal istnieje.

0

nie o to mi chodzi. Problem polega na tym, że mogę program uruchomić więcej niż raz na jednym komputerze, a chciałbym tego uniknąć.

0

Możesz na starcie programu tworzyć plik tekstowy, a przy wyjściu z programu go usuwać. Jeśli wspomniany plik istnieje, to program się "nie uruchomi".

0
bogdans napisał(a)

Możesz na starcie programu tworzyć plik tekstowy, a przy wyjściu z programu go usuwać. Jeśli wspomniany plik istnieje, to program się "nie uruchomi".

A co jeżeli program się zawiesi/komputer zostanie nagle wyłączony?
Użytkownik już nie uruchomi programu, gdyż plik będzie cały czas istniał.

0

Ważne jest to co chcemy osiągnąć: całkowicie uniemożliwić powtórne uruchomienie programu, czy tylko utrudnić (np użytkownik uruchamia, bo "zapomniał", że program już chodzi). Jeśli chodzi o to drugie, to metoda z plikiem jest niezła. Przecież ten plik ma jakąś datę utworzenia, jeśli to jest "stary" plik, to jego istnienie można zignorować, jeśli "nowy", to zaczynamy rozmowę z użytkownikiem.

0

Można też wstawić do programu timera, który co jakiś czas (powiedzmy 10 sekund) zmienia datę ostatniej modyfikacji pliku kontrolera. I istnienie pliku starszego niż 10 sekund ignorować.

0

dziękuję za wszelką pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1