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 に答える