2016-05-19 76 views
0

Ich bekomme den folgenden Fehler im OPC-Client-Code. Ich starte meinen Client - schließe ihn - starte ihn erneut, um den folgenden Fehler zu sehen. Es ist klar, dass etwas aus dem vorherigen Lauf es verursacht. Aber ich kann nicht herausfinden, was es ist.OPC Client Problem

Wenn ich den Jstack meines ersten Laufes verteile und schließe. Ich sehe keinen laufenden Thread von opc.

Hat jemand dieses Problem gesehen? Oder Gibt es eine andere Möglichkeit, das Problem zu debuggen?

2016-05-19 16:35:53,564 WARN [netty-event-loop-0] io.netty.channel.ChannelInitializer - Failed to initialize a channel. Closing: [id: 0xe25cac5b] java.lang.ExceptionInInitializerError 
     at com.digitalpetri.opcua.stack.client.UaTcpStackClient$1.initChannel(UaTcpStackClient.java:340) 
     at com.digitalpetri.opcua.stack.client.UaTcpStackClient$1.initChannel(UaTcpStackClient.java:337) 
     at io.netty.channel.ChannelInitializer.channelRegistered(ChannelInitializer.java:69) 
     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered(AbstractChannelHandlerContext.java:133) 
     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRegistered(AbstractChannelHandlerContext.java:119) 
     at io.netty.channel.DefaultChannelPipeline.fireChannelRegistered(DefaultChannelPipeline.java:733) 
     at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:449) 
     at io.netty.channel.AbstractChannel$AbstractUnsafe.access$100(AbstractChannel.java:377) 
     at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:423) 
     at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380) 
     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357) 
     at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) 
     at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException: 'awaiting-handshake' is already in use 
     at io.netty.util.UniqueName.<init>(UniqueName.java:53) 
     at io.netty.util.AttributeKey.<init>(AttributeKey.java:47) 
     at io.netty.util.AttributeKey.valueOf(AttributeKey.java:39) 
     at com.digitalpetri.opcua.stack.client.handlers.UaTcpClientAcknowledgeHandler.<clinit>(UaTcpClientAcknowledgeHandler.java:44) 
     ... 13 more 
+0

Welche Version der Bibliothek ist das? –

+0

1.0.1 @KevinHerron – nandini

Antwort

0

Sieht aus wie Sie irgendeine Art von Classloader Problem haben könnten - ein statisches letztes Feld von UaTcpAcknowledgeHandler zweimal irgendwie definiert ist.

Was genau passiert, wenn Sie Ihren Client "schließen"?

+0

Wenn ich den Client schließe, schließt es gut. Ich meine, es gibt keine langweiligen Threads oder irgendeine Ausnahme. – nandini

+0

Schaltet die JVM ab oder nicht? Es könnte sich auch lohnen, die Bibliothek auf die neueste Version zu aktualisieren. Ich habe gesehen, dass das Client-SDK in anderen Anwendungen verwendet wird, in denen es sauber heruntergefahren wird, also stimmt etwas nicht damit, wie Sie es hier laden und entladen. –

+0

Ich habe ein Treiberprogramm .. So wird die JVM nicht heruntergefahren. Ich habe Java 8. Neueste OPC-Bibliotheken. Sie haben recht, wenn ich die JVM herunterfahre und neu starte, erscheint dieses Problem nicht, da dies ein sauberer Start ist. Aber in meinem Fall ist es nicht möglich, ich muss die JVM laufen lassen. – nandini