Commit Graph
60 Commits
Author SHA1 Message Date
Simon Pamies 059887e180 Merge branch 'replication-revamp' of ssh://sapsailing.com/home/trac/git into replication-revamp 2013-06-20 12:40:45 +02:00
Simon Pamies 671e68e53f Make sure that replicator thread is interrupted when application
requests shutdown of the connection. Unfortunately the RabbitMQ API does
not support closing a connection while unblocking the nextDelivery call.
There fore we need to interrupt the thread manually.
2013-06-20 12:36:54 +02:00
Axel Uhl bbd3168092 renamed constant to indicate unit 2013-06-20 10:58:16 +02:00
Simon Pamies 4956ee0a0c At least consume the last event 2013-06-20 10:32:34 +02:00
Simon Pamies 3e0f694e65 Adding UI and API support for stopping replication. 2013-06-20 09:54:05 +02:00
Simon Pamies b23ae0defb Fixed consumer channel selection and added better exception logging 2013-06-19 18:52:10 +02:00
Simon Pamies e1d7556e84 Removing unneeded check - classloader reset needs to take place at every step 2013-06-19 16:15:17 +02:00
Simon Pamies d9bb941af0 Handle reconnection after connection drops for replication listener 2013-06-19 16:08:54 +02:00
Simon Pamies d337e7206e Created test that proves that Replicator can recover from connection problems 2013-06-19 15:13:38 +02:00
Simon Pamies 1e8d1ec0ac Exporting replication.impl does not hurt anyone and that way we stay in
the pattern of having all implementation related code in impl packages
2013-06-19 12:25:46 +02:00
Simon Pamies a568e315f2 Moved ReplicaDescriptor as it is an implementation and belongs in the impl package 2013-06-19 12:23:29 +02:00
Armin Zamani b501d1ca6f Merge branch 'racecommittee_integrated' of
ssh://armin@sapsailing.com/home/trac/git into racecommittee_integrated

Conflicts:
	java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractSimpleLeaderboardImpl.java
2013-04-11 00:28:12 +02:00
Simon Pamies 3b497e7e95 Moved away from calling logger.throwing because this logs with level FINER that is not catched in most logging configurations. Used logger.log(level, message, throwable). 2013-03-29 15:19:03 +01:00
Simon Pamies 792dfd7de2 Made sure that event is correctly replicated upon initial load, also
stopping trackers upon initial load on replica
2013-03-05 11:10:54 +01:00
Armin Zamani e055c9ee12 Merge branch 'master' into racecommittee_integrated
Conflicts:
	java/com.sap.sailing.gwt.ui/pom.xml
	java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java
2013-02-25 00:27:15 +01:00
Axel Uhl 6dac249478 added replication-related logging 2013-02-23 08:13:40 +01:00
Lukas Niemeier a229765845 # moved everything used by Android projects of com.sap.sailing.domain into new bundle com.sap.sailing.domain.shared.android
# updated com.sap.sailing.domain to Java 1.7 again
# split of Event (see EventData) and Course (see CourseData) to minimize shared code with android
# to avoid sharing RaceColumn and Leaderboard (and its dependencies) Android projects work with RaceGroups (consisting of SeriesWithRows -> consisting of RaceRows -> consisting of RaceCells -> consisting of RaceLogs). A RaceGroup is basically a data-only view on transposed RaceColumns. See RaceGroupFactory for conversion from Leaderboard to RaceGroup. Future work: use Regatta instead of Leaderboard to convert to RaceGroup
2013-02-18 13:26:32 +01:00
Lennart Hensler 311576db6e Replaced the catches of Throwable with catches of Exception 2013-01-25 10:28:07 +01:00
Jens Rommel 08429d5a92 Turn test bundles to fragments.
- Builds with maven, except know local issue with selenium tests on my machine (due to Selenium/Firefox version mismatch)
- domain.test not suitable for a test fragment, since it contains larger parts of integration-tests using many different down-stream bundles.
2013-01-21 15:58:13 +01:00
D049941 c393031c41 Merge branch 'master' into 'gwt25'
Conflicts:
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/SortedCellTableWithStylableHeaders.java
2012-11-22 15:43:03 +01:00
fmittag af63356e52 Moved all servlet- and import/export specific functions in com.sap.sailing.server to com.sap.sailing.server.gateway to create a clear separation between the sailing server and it's remote access functions 2012-10-08 18:42:51 +02:00
Axel Uhl 83d51055ce removed commented code regarding class loading during deserialization in replication service 2012-07-12 00:54:50 +02:00
Axel Uhl 7314386337 deserialize initial load through DomainFactory to cache / replace all objects managed by DomainFactory 2012-07-12 00:48:23 +02:00
Axel Uhl c279e9c91b fixed default exchange name used in ReplicationPanel popup dialog;
for the first time with RabbitMQ, this allows for cross-VM replication which looks OK at first glance
2012-07-11 23:48:22 +02:00
Axel Uhl b1ab2905c6 adjusted text messages from JMS to "Messaging"; adjusted launch configs 2012-07-11 17:44:02 +02:00
Axel Uhl ad5c287971 replication tests down to 2 failures 2012-07-11 15:14:46 +02:00
Axel Uhl 7d4ac52bac a compiling, yet entirely untested version preparing for RabbitMQ-based instead of ActiveMQ-based replication 2012-07-11 15:01:45 +02:00
Axel Uhl 15d220b8b2 started first test case for RabbitMQ; nothing compiles yet 2012-07-10 14:17:05 +02:00
fmittag 6ea24387d1 Added a servlet filter to the GWT web app to avoid the caching of all nocache.js files of GWT
Renamed Servlet.java to SailingServerHttpServlet.java
2012-07-03 18:45:39 +02:00
Axel Uhl a5fc4a0492 extracted serializable class to ensure it's found in an OSGi setup 2012-06-15 14:00:25 +02:00
Axel Uhl eb7a8f4050 clear server state entirely before starting to import initial load;
particularly registering the replica service for tracked race additions in order to auto-link them
to leaderboards causes trouble if the server state is not cleared before. Replicated tracked races may
then get auto-linked to old leaderboards and regattas in the server that happen to point to races with
equal RaceIdentifiers.

Also, it is important to become tolerant against a non-existing default leaderboard which doesn't exist
yet when tracked races are imported. The default leaderboard will be replicated together with other
leaderboards.
2012-06-15 01:43:07 +02:00
Axel Uhl d7ca838eb6 added com.sap.sailing.persistence to the dependencies of com.sap.sailing.server.replication; fixed class loading
During replication initial load a ClassNotFoundException was thrown because DelayedLeaderboardScoreCorrections
wasn't found. One problem was that obviously the Thread's context class loader set from getClass().getClassLoader()
was "only" the default class loader, not knowing about the OSGi bundle dependencies. Furthermore, the replication
bundle did not have a dependency on the domain.persistence bundle.
2012-06-15 00:14:38 +02:00
Axel Uhl f4928da853 fixing bug 723 by queuing Operations until initial load has completed 2012-06-07 18:20:51 +02:00
Axel Uhl 67762f812a fixed bug 667; left comment regarding bug 723 2012-06-05 00:22:35 +02:00
Axel Uhl 89a7f7b39f use ?broker.useJmx=false extension to vm://localhost... broker URL in tests; unregister replica in tearDown 2012-05-23 01:27:44 +02:00
Axel Uhl b654340264 replication panel shows replicas and their statistical data 2012-05-09 18:03:39 +02:00
Axel Uhl 1d47c0962f fixed bug 579, clearing the ActiveMQ broker's persistent store directory in the activator;
it would be unclear what to do with stale old messages after a server restart anyhow
2012-05-09 11:01:44 +02:00
Axel Uhl e54a1605e5 set context class loader for current thread before deserializing 2012-05-07 14:55:18 +02:00
Axel Uhl f56b0e926c removed failover:// prefix from JMS / ActiveMQ broker URL; it caused an RMI registry to bind to 1099 always
This caused trouble with other running VM instances
2012-05-07 12:49:13 +02:00
Axel Uhl 0480da7cb6 support course change replication 2012-05-05 01:00:46 +02:00
Axel Uhl 3abf105822 exclude bin/ from git 2012-05-03 15:50:44 +02:00
Axel Uhl 928e05efea made ActiveMQ / JMS parameters configurable 2012-05-03 15:18:01 +02:00
Axel Uhl 49979a1bae don't use JMX; it results in port binding conflicts for the various VMs we have running 2012-05-03 14:32:24 +02:00
Axel Uhl 2f2901355c true local replication test case that creates a leaderboard which is replicated automatically 2012-05-03 00:26:01 +02:00
Axel Uhl 9d74329444 made JMS test work locally with mocked in-VM connection 2012-05-02 21:50:30 +02:00
Axel Uhl fd71724cec a first replication test through JMS that works as long as a server is running locally on port 8888;
we need to extend the test such that it gets along without the whole servlet machinery running, where
we mock the client/server REST connection through a direct Java method call to the "server"
2012-05-02 21:31:35 +02:00
Axel Uhl 95cfd4e644 fixed deserialization class loading for array classes, added first in-VM replication test case 2012-04-27 10:18:38 +02:00
Axel Uhl f40ecf63ac initial replication end-to-end works for the first time for a more or less empty server 2012-04-25 15:20:33 +02:00
Axel Uhl 42bba01f90 compilable interims-version of replication 2012-04-24 18:26:37 +02:00
Axel Uhl b94af1c2c0 made Replicator compile; not tested in any way yet 2012-04-24 15:27:24 +02:00