Junior — Middle
Վերջին ձեր նախագծում պահպանում է ծառայության ներքին վիճակը?
sobes.tech AI
Պատասխան AI-ից
Իմ վերջին նախագծում ես պահում էի ծառայության ներքին վիճակը, որպեսզի ապահովեմ կայունությունը և ճիշտ աշխատանքը վերագործարկումների կամ սխալների դեպքում։ Օրինակ, օգտագործում էի վիճակի սերիալիզացիա ֆայլում կամ տվյալների բազայում, որպեսզի վերականգնման ժամանակ ծառայությունը կարողանա շարունակել վերջին պահած վիճակից:
Java-ում վիճակի պահպանում օրինակ:
public class MyService {
private int counter = 0;
public void increment() {
counter++;
}
public void saveState() {
// Վիճակի պահպանում ֆայլում
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("service_state.dat"))) {
oos.writeInt(counter);
} catch (IOException e) {
e.printStackTrace();
}
}
public void loadState() {
// Վիճակի բեռնում ֆայլից
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("service_state.dat"))) {
counter = ois.readInt();
} catch (IOException e) {
e.printStackTrace();
}
}
}