Corda Spring Boot启动跟踪流程未知常量池标记

时间:2018-03-20 16:41:49

标签: spring-boot corda

如果你通过rpc连接一个spring boot应用程序连接到一方(在这种情况下连接到IOU示例Party A),你是否因为一些同步问题而无法使用跟踪流的结果?

  1. 我刚刚复制了为甲方为流程依赖项生成的IOU cordapp的jar文件。这可能是个错误。

  2. 我在生产环境中思考我可能不想在请求期间阻止,但我想我会放手一搏。

  3. 以下是代码:

    val signedTx = rpcOps.startTrackedFlow(ExampleFlow::Initiator, iouValue, otherParty).returnValue.getOrThrow()
    ResponseEntity.status(CREATED).body("Transaction id ${signedTx.id} committed to ledger.\n")
    

    目前,事务从上面的第一行代码处理得很好,但是我在下一行获得了一个堆栈跟踪,其中包括从signedTx中获取id。

    java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Unknown constant pool tag [I@576ae80a in classfile module-info.class (element size unknown, cannot continue reading class. Please report this on the FastClasspathScanner GitHub page.
        at io.github.lukehutch.fastclasspathscanner.FastClasspathScanner.scan(FastClasspathScanner.java:1408) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
        at io.github.lukehutch.fastclasspathscanner.FastClasspathScanner.scan(FastClasspathScanner.java:1439) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
        at io.github.lukehutch.fastclasspathscanner.FastClasspathScanner.scan(FastClasspathScanner.java:1462) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
        at net.corda.nodeapi.internal.serialization.amqp.AbstractAMQPSerializationScheme$Companion$customSerializers$2.invoke(AMQPSerializationScheme.kt:41) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.nodeapi.internal.serialization.amqp.AbstractAMQPSerializationScheme$Companion$customSerializers$2.invoke(AMQPSerializationScheme.kt:35) ~[corda-node-api-corda-3.0.jar:na]
        at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131) ~[kotlin-stdlib-1.2.21.jar:1.2.21-release-88 (1.2.21)]
        at net.corda.nodeapi.internal.serialization.amqp.AbstractAMQPSerializationScheme$Companion.getCustomSerializers(AMQPSerializationScheme.kt) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.nodeapi.internal.serialization.amqp.AbstractAMQPSerializationScheme$Companion.access$getCustomSerializers$p(AMQPSerializationScheme.kt:35) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.nodeapi.internal.serialization.amqp.AbstractAMQPSerializationScheme.registerCustomSerializers(AMQPSerializationScheme.kt:87) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.nodeapi.internal.serialization.amqp.AbstractAMQPSerializationScheme.getSerializerFactory(AMQPSerializationScheme.kt:118) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.nodeapi.internal.serialization.amqp.AbstractAMQPSerializationScheme.deserialize(AMQPSerializationScheme.kt:122) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl$deserialize$1$1.invoke(SerializationScheme.kt:111) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.core.serialization.SerializationFactory.withCurrentContext(SerializationAPI.kt:66) ~[corda-core-corda-3.0.jar:na]
        at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:111) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl$deserialize$1.invoke(SerializationScheme.kt:86) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.core.serialization.SerializationFactory.asCurrent(SerializationAPI.kt:80) ~[corda-core-corda-3.0.jar:na]
        at net.corda.nodeapi.internal.serialization.SerializationFactoryImpl.deserialize(SerializationScheme.kt:111) ~[corda-node-api-corda-3.0.jar:na]
        at net.corda.core.transactions.SignedTransaction.getCoreTransaction(SignedTransaction.kt:272) ~[corda-core-corda-3.0.jar:na]
        at net.corda.core.transactions.SignedTransaction.getId(SignedTransaction.kt:55) ~[corda-core-corda-3.0.jar:na]
    
    Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Unknown constant pool tag [I@5c774621 in classfile module-info.class (element size unknown, cannot continue reading class. Please report this on the FastClasspathScanner GitHub page.
        at io.github.lukehutch.fastclasspathscanner.utils.InterruptionChecker.executionException(InterruptionChecker.java:74) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
        at io.github.lukehutch.fastclasspathscanner.utils.WorkQueue.runWorkLoop(WorkQueue.java:142) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
        at io.github.lukehutch.fastclasspathscanner.utils.WorkQueue$1.call(WorkQueue.java:99) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
        at io.github.lukehutch.fastclasspathscanner.utils.WorkQueue$1.call(WorkQueue.java:96) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_144]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_144]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_144]
        ... 1 common frames omitted
        Suppressed: java.lang.RuntimeException: Called close() before completing all work units
            at io.github.lukehutch.fastclasspathscanner.utils.WorkQueue.close(WorkQueue.java:194) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
            at io.github.lukehutch.fastclasspathscanner.scanner.Scanner.call(Scanner.java:384) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
            at io.github.lukehutch.fastclasspathscanner.scanner.Scanner.call(Scanner.java:59) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
            ... 4 common frames omitted
        Suppressed: java.lang.RuntimeException: Unreleased instances: 3
            at io.github.lukehutch.fastclasspathscanner.utils.Recycler.close(Recycler.java:69) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
            at io.github.lukehutch.fastclasspathscanner.scanner.Scanner.call(Scanner.java:384) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
            at io.github.lukehutch.fastclasspathscanner.scanner.Scanner.call(Scanner.java:59) ~[fast-classpath-scanner-2.0.21.jar:2.0.21]
            ... 4 common frames omitted
    

1 个答案:

答案 0 :(得分:0)

这是Corda 3.1中修复的错误。

这是由于Corda 3.0使用的FastClasspathScanner库版本中的错误。

相关问题