Échec de la session d'initialisation du flux de Corda
nitesh solanki
Je suis confronté à un problème lors de l'exécution de tests de flux impliquant des états et des flux planifiés. Les états et les flux sont définis ici : Impossible d'initier une session de flux avec un autre nœud à partir d'un ScheduledFlow
Les nœuds de test sont configurés comme ceci :
@Before
fun setup() {
mockNetwork = MockNetwork(listOf("com.example.states", "com.example.contracts", "com.example.flows", "com.example.schema"))
a= mockNetwork.createNode(MockNodeParameters(legalName = CordaX500Name("NodeA", "London", "GB")))
b= mockNetwork.createNode(MockNodeParameters(legalName = CordaX500Name("NodeB", "London", "GB")))
c= mockNetwork.createNode(MockNodeParameters(legalName = CordaX500Name("NodeC", "London", "GB")))
mockNetwork.runNetwork()
}
Le test n'avance pas et reste bloqué avec le journal ci-dessous :
[INFO ] 2018-08-24T07:49:19,739Z [Node thread-1] flow.[c833dc79-501e-4484-9c43-a6924b472542].initiateSession - Initiating flow session with party O=NodeB, L=London, C=GB. Session id for tracing purposes is SessionId(toLong=4256917187941908080). {}
Comment savoir si le mockednode NodeB est tombé en panne et donc incapable de recevoir la session de flux ? Étonnamment, le test fonctionne la plupart du temps.
nitesh solanki
Le problème a été résolu en modifiant la définition du réseau en mockNetwork = MockNetwork(listOf("com.example.states", "com.example.contracts", "com.example.flows", "com.example.schema"), threadPerNode=true)