Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

db4o Kacper Skory Marcin Talarek

Podobne prezentacje


Prezentacja na temat: "db4o Kacper Skory Marcin Talarek"— Zapis prezentacji:

1 db4o Kacper Skory Marcin Talarek
Snapshot Replication db4o Kacper Skory Marcin Talarek

2 Replikacja Powielanie zmian w bazie danych do innych baz. np. z bazy lokalnej na ogólnodostępną

3 Biblioteki db4o-8.0/lib/db4o-8.0.249.16098-all-java5.jar
drs-8.0/lib/dRS core.jar db4o Replication System Do pobrania ze strony producenta db4o.com

4 Klasa przykładowa Car public class Car { private String name;
package zsbd.db4o.replication.snapshot.example; public class Car { private String name; private Pilot pilot; public Car(Pilot pilot, String name) { this.pilot = pilot; this.name = name; } public String getName() { return name; public void setName(String name) { public Pilot getPilot() { return pilot; } public void setPilot(Pilot pilot) { this.pilot = public String toString() { return "Car [name=" + name + ", pilot=" + pilot + "]";

5 Klasa przykładowa Pilot
package zsbd.db4o.replication.snapshot.example; public class Pilot { private String name; private int points; public Pilot(String name, int points) { super(); this.name = name; this.points = points; } public String getName() { return name; public void setName(String name) { this.name = name; } public int getPoints() { return points; public void setPoints(int points) { this.points = points; @Override public String toString() { return "Pilot [name=" + name + ", points=" + points + "]";

6 Konfiguracja EmbeddedConfiguration configuration = Db4oEmbedded.newConfiguration(); Generowanie UUID w celu identyfikacji obiektów między bazami. configuration.file().generateUUIDs(ConfigScope.GLOBALLY); Generowanie znaczników czasowych, aby odnajdywać zmiany. configuration.file().generateCommitTimestamps(true);

7 Replikacja w jedną stronę
Tworzenie sesji replikacji dla baz biorących udział w replikacji Ustalanie kierunku replikacji Pobranie zmian od ostatniej replikacji Replikacja zmienionych obiektów Zatwierdzenie sesji

8 Replikacja w jedną stronę
Db4oEmbeddedReplicationProvider providerA = new Db4oEmbeddedReplicationProvider(sourceDatabase); Db4oEmbeddedReplicationProvider providerB = new Db4oEmbeddedReplicationProvider(destinationDatabase); ReplicationSession replicationSession = Replication.begin(providerA, providerB); replicationSession.setDirection(replicationSession.providerA(), replicationSession.providerB()); ObjectSet changes = replicationSession.providerA() .objectsChangedSinceLastReplication(); for (Object changedObject : changes) { replicationSession.replicate(changedObject); } replicationSession.commit();

9 Replikacja w obie strony
Tworzenie sesji replikacji dla baz biorących udział w replikacji. Pobranie zmian od ostatniej replikacji dla obu partnerów replikacji. Replikacja zmienionych obiektów

10 Replikacja w obie strony
Db4oEmbeddedReplicationProvider providerA = new Db4oEmbeddedReplicationProvider(database1); Db4oEmbeddedReplicationProvider providerB = new Db4oEmbeddedReplicationProvider(database2); ReplicationSession replicationSession = Replication.begin(providerA, providerB); ObjectSet changes1 = replicationSession.providerA().objectsChangedSinceLastReplication(); ObjectSet changes2 = replicationSession.providerB().objectsChangedSinceLastReplication(); for (Object changedObjectOnDesktop : changes1) { replicationSession.replicate(changedObjectOnDesktop); } for (Object changedObjectOnMobile : changes2) { replicationSession.replicate(changedObjectOnMobile); replicationSession.commit();

11 Replikacja w jedna stronę z ograniczeniem co do klasy
Tworzenie sesji replikacji dla baz biorących udział w replikacji Ustalanie kierunku replikacji Pobranie zmian od ostatniej replikacji. Tylko zmiany obiektów klasy podanej jako argument. Replikacja zmienionych obiektów Zatwierdzenie sesji.

12 Replikacja w jedna stronę z ograniczeniem co do klasy
Db4oEmbeddedReplicationProvider providerA = new Db4oEmbeddedReplicationProvider(sourceDatabase); Db4oEmbeddedReplicationProvider providerB = new Db4oEmbeddedReplicationProvider(destinationDatabase); ReplicationSession replicationSession = Replication.begin(providerA, providerB); replicationSession.setDirection(replicationSession.providerA(), replicationSession.providerB()); ObjectSet changes = replicationSession.providerA().objectsChangedSinceLastReplication(clazz); //Car.class for (Object changedObject : changes) { // tutaj mogą znalesc sie dodatkowe warunki (np if // (((Person)changedObject).getName().equals("Kowalski)) ... ) replicationSession.replicate(changedObject); } replicationSession.commit();

13 Replikacja usunięć Tworzenie sesji replikacji dla baz biorących udział w replikacji Replikacja usunięć

14 Replikacja usunięć Db4oEmbeddedReplicationProvider providerA = new Db4oEmbeddedReplicationProvider(database1); Db4oEmbeddedReplicationProvider providerB = new Db4oEmbeddedReplicationProvider(database2); ReplicationSession replicationSession = Replication.begin(providerA, providerB); replicationSession.replicateDeletions(clazz); replicationSession.commit();


Pobierz ppt "db4o Kacper Skory Marcin Talarek"

Podobne prezentacje


Reklamy Google