1

我正在通过发送 FPML 消息来测试 B2B 示例的性能。我尝试过使用不同数量的节点(2,3,4)和不同的消息数量。我最多可以发送 10,000 条消息。但是当我尝试使用不同节点数的 50,000 条消息时,我收到以下错误。

    ERROR - JMSMessageSender Error closing JMS Connection after send
javax.jms.JMSException: org.apache.activemq.transport.RequestTimedOutIOException
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
        at org.apache.activemq.ActiveMQConnection.doSyncSendPacket(ActiveMQConnection.java:1431)
        at org.apache.activemq.ActiveMQConnection.close(ActiveMQConnection.java:675)
        at org.apache.axis2.transport.jms.JMSMessageSender.close(JMSMessageSender.java:250)
        at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:156)
        at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
        at org.apache.axis2.engine.AxisEngine$TransportNonBlockingInvocationWorker.run(AxisEngine.java:626)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.activemq.transport.RequestTimedOutIOException
        at org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:54)
        at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:92)
        at org.apache.activemq.ActiveMQConnection.doSyncSendPacket(ActiveMQConnection.java:1418)
        ... 8 more
[2013-03-05 22:34:14,351] ERROR - JMSSender Unable to create a JMSMessageSender for : null
javax.jms.JMSException: java.io.EOFException
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
        at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1377)
        at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1481)
        at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:323)
        at org.apache.activemq.ActiveMQConnection.createQueueSession(ActiveMQConnection.java:1257)
        at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:378)
        at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:124)
        at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
        at org.apache.axis2.engine.AxisEngine$TransportNonBlockingInvocationWorker.run(AxisEngine.java:626)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:375)
        at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275)
        at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:229)
        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:221)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)
        ... 1 more
[2013-03-05 22:34:14,357]  INFO - AxisEngine [MessageContext: logID=4daccf302df9e230a0e9d2d3c35edeb7306de0841cfe1b3f] Unable to create a JMSMessageSender for : null

java.lang.OutOfMemoryError: GC overhead limit exceeded
Dumping heap to /home/vithya/wso2/wso2esb-4.6.0/repository/logs/heap-dump.hprof ...
Unable to create /home/vithya/wso2/wso2esb-4.6.0/repository/logs/heap-dump.hprof: File exists
[2013-03-05 22:35:02,899] ERROR - JMSSender Unable to create a JMSMessageSender for : null
javax.jms.JMSException: Wire format negotiation timeout: peer did not send his wire format.
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
        at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1395)
        at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1481)
        at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:323)
        at org.apache.activemq.ActiveMQConnection.createQueueSession(ActiveMQConnection.java:1257)
        at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:378)
        at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:124)
        at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
        at org.apache.axis2.engine.AxisEngine$TransportNonBlockingInvocationWorker.run(AxisEngine.java:626)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.IOException: Wire format negotiation timeout: peer did not send his wire format.
        at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:98)
        at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
        at org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
        at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
        at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1366)
        ... 10 more
Exception in thread "ActiveMQ Transport: tcp:///10.200.208.124:61616@33434" java.lang.OutOfMemoryError: GC overhead limit exceeded
        at java.util.Arrays.copyOf(Arrays.java:2882)
        at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
        at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
        at java.lang.StringBuilder.append(StringBuilder.java:119)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:200)
        at java.lang.Thread.run(Thread.java:662)
[2013-03-05 22:35:02,901]  INFO - AxisEngine [MessageContext: logID=4daccf302df9e230aab5c2d3c35edeb7f06de0841cfe1b3f] Unable to create a JMSMessageSender for : null
[2013-03-05 22:35:02,903] ERROR - JMSSender Unable to create a JMSMessageSender for : null
javax.jms.JMSException: java.io.EOFException
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49)
        at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1377)
        at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1481)
        at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:323)
        at org.apache.activemq.ActiveMQConnection.createQueueSession(ActiveMQConnection.java:1257)
        at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:378)
        at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:124)
        at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
        at org.apache.axis2.engine.AxisEngine$TransportNonBlockingInvocationWorker.run(AxisEngine.java:626)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:375)
        at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275)
        at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:229)
        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:221)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)
        ... 1 more
[2013-03-05 22:35:02,906] ERROR - JMSSender Unable to create a JMSMessageSender for : null
javax.jms.JMSException: Cannot send, channel has already failed: tcp://10.200.208.124:61616
        at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
        at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1395)
        at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1481)
        at org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:323)
        at org.apache.activemq.ActiveMQConnection.createQueueSession(ActiveMQConnection.java:1257)
        at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:378)
        at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:124)
        at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
        at org.apache.axis2.engine.AxisEngine$TransportNonBlockingInvocationWorker.run(AxisEngine.java:626)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed: tcp://10.200.208.124:61616
        at org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:282)
        at org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:271)
        at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85)
        at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104)
        at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
        at org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
        at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
        at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1366)
        ... 10 more
[2013-03-05 22:35:02,906]  INFO - AxisEngine [MessageContext: logID=4daccf302df9e2305ab5c2d3c35edeb7906de0841cfe1b3f] Unable to create a JMSMessageSender for : null
[2013-03-05 22:35:02,909]  INFO - AxisEngine [MessageContext: logID=4daccf302df9e2302ab5c2d3c35edeb7106de0841cfe1b3f] Unable to create a JMSMessageSender for : null

请帮我解决这个问题......

提前致谢.....

4

1 回答 1

0

请参考文档 [1] 并调整您的 ESB。如果您仍然收到此错误,请告诉我们。

  1. http://docs.wso2.org/wiki/display/ESB460/Performance+Tuning
于 2013-03-21T11:42:54.937 回答