1

我有一个 junit 测试,它打开一个到 linux 机器的套接字并运行 jmeter 场景。当我调用 jmeter(通过测试)从 junit 测试运行 SCTP 场景时,我得到了 IllegalAccessError 异常。但是,当我通过 linux 命令行手动运行完全相同的命令时,jmeter 运行正常并成功打开 SCTP 连接。

我的感觉是,当测试运行时,jmeter 在 SCTP.jar 上并不“知道”。我已经尝试了所有类型的东西,但注意到作品。

这是一个例外:

2013/11/21 10:10:02 ERROR - jmeter.JMeter: Uncaught exception:  java.lang.IllegalAccessError: class sun.nio.ch.SctpServerChannelImpl cannot access its superinterface sun.nio.ch.SelChImpl
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at com.traffix.jmeter.tt.netty.channel.socket.sctp.SctpServerSocketChannel.<init>(SctpServerSocketChannel.java:53)
        at com.traffix.jmeter.tt.netty.channel.socket.sctp.SctpServerSocketChannelFactory.newChannel(SctpServerSocketChannelFactory.java:83)
        at com.traffix.jmeter.tt.netty.channel.socket.sctp.SctpServerSocketChannelFactory.newChannel(SctpServerSocketChannelFactory.java:24)
        at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:276)
        at com.traffix.jmeter.tt.core.transport.VirtualServer.listen(VirtualServer.java:25)
        at com.traffix.jmeter.tt.protocol.diameter.threadgroups.DiameterServer.run(DiameterServer.java:69)
        at java.lang.Thread.run(Thread.java:662)
4

0 回答 0