there's some support for this in 0.7 (see
http://issues.apache.org/jira/browse/CASSANDRA-1018) but fundamentally
it's not really designed to be started and stopped multiple times
within the same process.

On Thu, Jul 8, 2010 at 3:44 AM, Andriy Kopachevsky
<kopachev...@gmail.com> wrote:
> Hi, we are trying to set up intergation testing for Cassanrda, so we need to
> run and stop it as embeded service. Don't have any problem to start
> cassandra:
>
> import
> org.apache.cassandra.contrib.utils.service.CassandraServiceDataCleaner;
>
> class SomeTestClass {
>
>     @Before
>     public void setup() throws TTransportException, IOException,
> InterruptedException {
>
>
>         // make a tmp dir and copy storag-conf.xml and log4j.properties to
> it
>         copy("/storage-conf.xml", TMP);
>         copy("/log4j.properties", TMP);
>         System.setProperty("storage-config", TMP);
>
>         cassandra = new EmbeddedCassandraService();
>         cassandra.init();
>         t = new Thread(cassandra);
>         t.setDaemon(true);
>         t.start();
>    }
> }
>
> But this is real problem to stop it, even if you execute t.stop() all other
> threads started up internally still alive. Is there are any way to force
> cassandra to stop? Maybe invoke some internal cassandra api function or
> anything. Thanks.
> Andrey.
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

Reply via email to