2013-01-16 8 views
5

bir öğretici şöyle bir kapatma kanca kayıt önerir:İlkbahar 3'te bir kapatma kancasının kaydedilmesinin doğru yolu nedir? <a href="http://docs.neo4j.org/chunked/stable/tutorials-java-embedded-setup.html" rel="nofollow noreferrer">how to embed Neo4j in a java application</a> üzerine

Runtime.getRuntime().addShutdownHook(new Thread() { 
    // do shutdown work here 
}); 

Ben en iyi yer bu kodu nereye koyacağını merak ediyorum - bir kez ne zaman Bahar başlar çalıştırmak için gereken herhangi bir kod veya aslında. Bu sadece registering a bean with an init method bir durum mu ve bu kodu koyar mı?

Daha özel olarak Bahar uygulamasında gömülü Neo4j kullanırken diğerleri kapatma kanca nasıl kaydolduğunuza bunu bilmek ilgi ve olurdu.

cevap

8

Sadece doğru destroy-method ile graphdatabase hizmet için fasulye beyan:

<bean id="graphDatabaseService" class="org.neo4j.kernel.EmbeddedGraphDatabase" 
     destroy-method="shutdown"> 
    <constructor-arg index="0" value="data/testdb.db"/> 
    <constructor-arg index="1"> 
     <map> 
      <entry key="allow_store_upgrade" value="true"/> 
     </map> 
    </constructor-arg> 
</bean> 
+0

Bunun için ek açıklama yapılandırmasına eşdeğer var mı? – chrisjleu

+0

@Bean public GraphDatabaseService graphDatabaseService() {return new EmbeddedGraphDatabase (storeDir, config); } –

+1

@Bean (destroyMethod = "shutdown") genel GraphDatabaseService graphDatabaseService() {return new EmbeddedGraphDatabase (storeDir, config); } – zebeurton

-3

1.8.1 Neo4j ve SDN'yi 2.1 kullanma - Yukarıda benim Eclipse/İskele çevre için çalışmaz.

INFO:

Neredeyse ben/durdurma her başlattığınızda Eclipse "sunucu" kontrollerle, ben başlangıçta bu bkz günlüğüne tespit Sigara temiz kapatma ...

NOT: Ben ayarlamayın "izin-yükseltme-yükseltme" özelliği olsa da. Temiz kapatma ile ilgisi olmadığını düşündüm.

İlgili konular