2016-04-06 13 views
0

İlk olarak, camunda yeni .. Bir özel görev listesi oluşturdum camunda. Görevleri vb. Iddia edebilirim/açıklarım ve bu işe yarıyor. Sizi aramamın zamanCamunda özel görev listesi - tüm görevi tamamlama

Şu anda belirli bir görevi tamamlamak için isterdim ama: Camunda BU bağlamda bir sonraki adıma geçmek istiyor gibi

public void completeSelectedTask() { 
    taskService.complete(selectedTask.getId()); 
} 

yerine bağlamın, görünüyor BPMN şemasının konuşlandırıldığı ve her şeyin dağıtıldığı bir sonraki adımı gerçekleştirmek için gereken yer. Bu yüzden de class classfotFound istisnaları alıyorum, çünkü customTasklist.war içinde de aynı sınıfları kullanmamam var.Prof.Dr ..

Camunda bir sonraki adıma doğru bağlamda gitmesini nasıl söyleyebilirim? ?! Yoksa bu yanlışı mı ele alıyorum ve her zaman camunda İşlemci içeriğindeki görevi tamamlamalı mıyım?

Bazı daha fazla bilgi: Bir form ile bir userTask tamamlamak için. Ben şu anda customTasklist.war forma ekledim ve camundaProcessor.war değil (bu yüzden kutu görev listesinin dışında artık camundaProcessor.war biçiminde aradığı için artık çalışmaz)

cevap

0

Açıklama için A bağlamı ve B içeriğidir. Bunlar, işlem motorlarını aynı veritabanına karşı çalıştıran küme düğümleri olabilir. Varsayalım ki, görevi A bağlamında tamamlarsınız, ancak bir sonraki görevi (örneğin, bir hizmet görevinin JavaDelegate uygulanması) işlemek için gereken kaynaklar yalnızca B bağlamında kullanılabilir.

Çizim yaptığınız sorunu çözmek için iki yol vardır. geçerli. Ya, görevin B bağlamında tamamlandığından emin olursunuz. Veya görev A'daki görevi tamamladıktan sonra işlem yürütmesinin B bağlamında devam ettiğinden emin olun.

İkinci çözümü uygulamak için asynchronous continuations'u kullanabilirsiniz. Özellikle, BPMN XML'deki userTask elemanında camunda:asyncAfter="true" özniteliğini ayarlayabilirsiniz. Görev A bağlamında tamamlandığında, kullanıcı görevinin etkinlik örneği tamamlanıncaya kadar işlem yürütme devam eder. İzleme faaliyetlerini derhal yürütme yerine, süreç motoru veritabanında bir işe devam eder. İş, işlemin yürütülmesine devam etme görevini temsil eder. Sonunda job executor component tarafından alınır ve yürütülür. İş yürütücüsünün B bağlamında çalıştığını varsayarak, kaynakları doğru bir şekilde çözebilir.