Author: angelo.vandersijpt at luminis.eu
Date: Wed Dec 15 20:59:41 2010
New Revision: 505
Log:
AMDATU-232 Cleaned up InterruptedException handling.
Modified:
trunk/amdatu-cassandra/cassandra-listener/src/main/java/org/amdatu/cassandra/listener/service/ColumnFamilyHandler.java
Modified:
trunk/amdatu-cassandra/cassandra-listener/src/main/java/org/amdatu/cassandra/listener/service/ColumnFamilyHandler.java
==============================================================================
---
trunk/amdatu-cassandra/cassandra-listener/src/main/java/org/amdatu/cassandra/listener/service/ColumnFamilyHandler.java
(original)
+++
trunk/amdatu-cassandra/cassandra-listener/src/main/java/org/amdatu/cassandra/listener/service/ColumnFamilyHandler.java
Wed Dec 15 20:59:41 2010
@@ -160,14 +160,20 @@
private void waitForColumnFamilyAndRegisterService(final String keyspace,
final String columnFamily) {
new Thread("waiting for keyspace " + keyspace + ", columnfamily " +
columnFamily) {
public void run() {
- waitFor(keyspace, columnFamily);
+ try {
+ waitFor(keyspace, columnFamily);
+ }
+ catch (InterruptedException e) {
+ // Right, someone wants us to stop. Abort!
+ return;
+ }
addServiceFor(keyspace, columnFamily);
}
}.start();
}
- private void waitFor(String keyspace, String columnFamily) {
+ private void waitFor(String keyspace, String columnFamily) throws
InterruptedException {
CassandraPersistenceManager persistenceManager =
getPersistenceManager(keyspace);
long startTime = System.currentTimeMillis();
@@ -180,12 +186,7 @@
// apparently our columnFamily isn't available yet... try
again next round.
}
- try {
- Thread.sleep(500);
- }
- catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- }
+ Thread.sleep(500);
}
if (!found) {
@@ -194,7 +195,7 @@
}
}
- private CassandraPersistenceManager getPersistenceManager(String keyspace)
{
+ private CassandraPersistenceManager getPersistenceManager(String keyspace)
throws InterruptedException {
String objectClassFilter = "(" +
org.osgi.framework.Constants.OBJECTCLASS + "="
+ CassandraPersistenceManager.class.getName() + ")";
String keyspaceFilter = "(" +
CassandraPersistenceManager.KEYSPACE_AWARE_KEY + "=" + keyspace + ")";
@@ -218,8 +219,8 @@
try {
persistenceManager = (CassandraPersistenceManager)
tracker.waitForService(5000);
}
- catch (InterruptedException e) {
- Thread.currentThread().interrupt();
+ finally {
+ tracker.close();
}
if (persistenceManager == null) {