2010-11-10 18 views
11

AbstractProcessor'u genişletirken, init(...)'u geçersiz kılma olasılığı vardır, ancak tüm mermilerin işlendikten sonra çağrılacak "ters" yöntem yoktur. Java ek açıklamaları: Son turun bir tur olup olmadığını nasıl anlarım?

Bu

bir sorun: Eğer aynı dosyaya her turda toplanan bilgileri eklemek zorunda olduğunda son yuvarlak iken tanımak çünkü hiçbir zaman, sadece şimdiye kadar, dosyayı kapatın olamaz. Yani, dosya asla kapanmaz ve boş kalır.

Bir kapatma kancası kullanmak da işe yaramadı, kanca asla çağrılmaz.

Herhangi bir fikrin var mı?

cevap

4

Bu açıklama işleme bağlamında "mermi" benim anlayış yanlış olduğunu görünüyor: here belirtildiği gibi

,

[...] Her turda günü, bir işlemci olabilir kaynakta bulunan ek açıklamalarının bir alt kümesini ve önceki bir tur tarafından üretilen sınıf dosyaları işlenmesini istedi. işlemenin ilk turuna ait girdiler, aracın akışının ilk girişleridir; Bu başlangıç ​​girişleri , bir sanal sıfırlama işleminin çıkışı olarak kabul edilebilir. kullanımım durumda ben de herhangi bir yeni sınıf dosyaları üreten değilim yoksa onları üretmek ancak değil ihtiyaç süreci bunları yapmak yana [...]

, bu enought olmalıdır sadece "saymaya" mermi yapmak ve sadece birincisinde fiili çalışmalar yapmak (ve bunun sonunda dosyaları kapatmak gibi, işi temizlemek).

+3

Ancak diğer ek açıklama işlemcileri, sizin tarafınızdan işlenen dosyaları üretebilir. Böylece bu varsayıma güvenmemelisiniz. –

İlgili konular