我有一个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)