java.util.concurrent.TimeoutException: Request timeout after 60000 ms when using camel-ahc - http

I have a simple web service, ws1, that just has a setBody to "hello world" which is exposed by netty. I want to call this web service asynchronously with the help of camel-ahc.
for doing that, I have a main camel context that call the ws1 every 6 seconds, but after calling ws1 in another thread, the control of the program is not returning to the main camel context thread and it seems camel-ahc component is not working and after 60 seconds a request timeout exception is happening.
in my pom i have added:
camel-ahc
camel-reactive-streams
<camelContext trace="true" id="mainCamelContext" xmlns="http://camel.apache.org/schema/blueprint" >
<route id="ahc-route-first-api">
<from uri="timer://webinar?period=6000"/>
<log message="this is body: ${body}"/>
<to uri="ahc:http://192.168.100.232:9999/ws1"/>
<log message="this is body after call: ${body}"/>
</route>
</camelContext>
when install bundle in Fuse:
10:35:18.914 INFO [Camel (mainCamelContext) thread #316 -
timer://webinar] this is body: 10:35:18.914 INFO [Camel
(mainCamelContext) thread #316 - timer://webinar]
ID-localhost-localdomain-1552973873885-38-116 >>>
(ahc-route-first-api) log[this is body: ${body}] -->
ahc://http://192.168.100.232:9999/api?throwExceptionOnFailure=false
<<< Pattern:InOnly,
Headers:{breadcrumbId=ID-localhost-localdomain-1552973873885-38-116,
firedTime=Sat Apr 06 10:35:18 IRDT 2019}, BodyType:null, Body:[Body is
null] 10:35:19.202 WARN [AsyncHttpClient-timer-87-1] Error processing
exchange. Exchange[ID-localhost-localdomain-1552973873885-38-114].
Caused by: [java.util.concurrent.TimeoutException - Request timeout to
192.168.100.232/192.168.100.232:9999 after 60000 ms] java.util.concurrent.TimeoutException: Request timeout to
192.168.100.232/192.168.100.232:9999 after 60000 ms at org.asynchttpclient.netty.timeout.TimeoutTimerTask.expire(TimeoutTimerTask.java:43)
[1990:wrap_file__home_ossl_.m2_repository_org_asynchttpclient_async-http-client_2.4.3_async-http-client-2.4.3.jar_Export-Package_org.asynchttpclient.__version_2.4.3:0.0.0]
at
org.asynchttpclient.netty.timeout.RequestTimeoutTimerTask.run(RequestTimeoutTimerTask.java:50)
[1990:wrap_file__home_ossl_.m2_repository_org_asynchttpclient_async-http-client_2.4.3_async-http-client-2.4.3.jar_Export-Package_org.asynchttpclient.__version_2.4.3:0.0.0]
at
io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
[654:io.netty.common:4.1.16.Final-redhat-2] at
io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
[654:io.netty.common:4.1.16.Final-redhat-2] at
io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
[654:io.netty.common:4.1.16.Final-redhat-2] at
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
[654:io.netty.common:4.1.16.Final-redhat-2] at
java.lang.Thread.run(Thread.java:748) [?:?] 10:35:19.203 ERROR
[AsyncHttpClient-timer-87-1] Failed delivery for (MessageId:
ID-localhost-localdomain-1552973873885-38-117 on ExchangeId:
ID-localhost-localdomain-1552973873885-38-114). Exhausted after
delivery attempt: 1 caught: java.util.concurrent.TimeoutException:
Request timeout to 192.168.100.232/192.168.100.232:9999 after 60000 ms

Related

SimpleMessageListenerContainer Bean not invoking after first message in a particular queue

I am consuming messages and then passing them on to a taskexecutor.. My MessageListener will instantiate a SimpleMessageListenerContainer Bean which in turn will instantiate other beans(consumer etc).
When I start the tomcat server and post a message the SimpleMessageListenerContainer bean is getting invoked correctly but when in the same queue I post another message I see RabbitListenerEndpointContainer is getting called. As a result, my other beans are not getting set. I get the message but MDB is not invoked.
When I post a message in a different queue (without restart) it works as expected.
I see no exceptions saying the listener is shutdown etc. Is there a property I am missing?
The only thing I can think of is the first message is not formed correctly resulting into some problem.
My Container Bean
<bean id="springListenerContainerCSWF"
class="org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer">
<property name="connectionFactory" ref="cachingConnectionFactory" />
<property name="queues" ref="rabbitDestinationCSWF" />
<property name="messageListener" ref="rabbitMessageListenerCSWF" />
</bean>
Here is the log snippet for first and second message:
Message 1 Log:
DEBUG org.springframework.amqp.rabbit.listener.BlockingQueueConsumer - Storing delivery for consumerTag: 'amq.ctag-Kidy_yvO5xOLL6_7SyuzBw' with deliveryTag: '1' in Consumer#1617944b: tags=[[amq.ctag-Kidy_yvO5xOLL6_7SyuzBw]], channel=Cached Rabbit Channel: AMQChannel(amqp://poc#10.165.1.11:5672/POC,2), conn: Proxy#58651bd2 Shared Rabbit Connection: SimpleConnection#1576020a [delegate=amqp://poc#10.165.1.11:5672/POC, localPort= 61774], acknowledgeMode=AUTO local queue size=0
18:44:29.704 [springListenerContainerABCD_ORDER-1] DEBUG org.springframework.amqp.rabbit.listener.BlockingQueueConsumer - Received message: (Body:'[B#3ac56714(byte[16757])' MessageProperties [headers={timestamp_in_ms=1570626869268}, timestamp=Wed Oct 09 18:44:29 IST 2019, contentLength=0, receivedDeliveryMode=NON_PERSISTENT, redelivered=false, receivedExchange=, receivedRoutingKey=Q.CSW.ABCD_PRODORDER.XYZ, deliveryTag=1, consumerTag=amq.ctag-Kidy_yvO5xOLL6_7SyuzBw, consumerQueue=Q.CSW.ABCD_PRODORDER.XYZ])
18:44:29.704 [springListenerContainerCSWF_ORDER-1] INFO
com.dell.ctm.queue.rabbitmessaging.RabbitMQListener - Received message for consumer: salesOrderConsumer
1
8:44:29.704 [springListenerContainerABCD_ORDER-1] DEBUG com.dell.ctm.queue.rabbitmessaging.RabbitMQListener - Message :: Some Message
Message 2 Log:
DEBUG org.springframework.amqp.rabbit.listener.BlockingQueueConsumer - Storing delivery for consumerTag: 'amq.ctag-LDAzqxJDNlI-zjXQz0iiiQ' with deliveryTag: '1' in Consumer#568eb60e: tags=[[amq.ctag-LDAzqxJDNlI-zjXQz0iiiQ]], channel=Cached Rabbit Channel: AMQChannel(amqp://poc#10.161.1.11:5672/POC,7), conn: Proxy#58651bd2 Shared Rabbit Connection: SimpleConnection#1576020a [delegate=amqp://poc#10.165.1.11:5672/POC, localPort= 61774], acknowledgeMode=AUTO local queue size=0
18:46:53.954 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] DEBUG org.springframework.amqp.rabbit.listener.BlockingQueueConsumer - Received message: (Body:'[B#21865b3b(byte[16757])' MessageProperties [headers={timestamp_in_ms=1570627013570}, timestamp=Wed Oct 09 18:46:53 IST 2019, contentLength=0, receivedDeliveryMode=NON_PERSISTENT, redelivered=false, receivedExchange=, receivedRoutingKey=Q.CSW.ABCD_PRODORDER.XYZ, deliveryTag=1, consumerTag=amq.ctag-LDAzqxJDNlI-zjXQz0iiiQ, consumerQueue=Q.CSW.ABCD_PRODORDER.XYZ])
18:46:54.018 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] DEBUG org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter - Processing [GenericMessage [payload=byte[16757], headers={amqp_receivedDeliveryMode=NON_PERSISTENT, amqp_receivedRoutingKey=Q.CSW.ABCD_PRODORDER.XYZ, timestamp_in_ms=1570627013570, amqp_deliveryTag=1, amqp_timestamp=Wed Oct 09 18:46:53 IST 2019, amqp_consumerQueue=Q.CSW.ABCD_PRODORDER.XYZ, amqp_redelivered=false, id=f55d83d9-88c0-6105-2d02-95e32ac5e57b, amqp_consumerTag=amq.ctag-LDAzqxJDNlI-zjXQz0iiiQ, timestamp=1570627014018}]]
18:46:54.034 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] INFO com.dell.ctm.queue.rabbitmessaging.RabbitMQListener - Received message for consumer: null
18:46:54.034 [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#0-1] DEBUG com.dell.ctm.queue.rabbitmessaging.RabbitMQListener - Message :: Some Message
This is my connection factory
<bean id="rabbitListenerContainerFactory"
class="org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory">
<property name="connectionFactory">
<ref bean="cachingConnectionFactory" />
</property>
<property name="concurrentConsumers" value="50" />
<property name="maxConcurrentConsumers" value="100" />
<property name="startConsumerMinInterval" value="3000" />
</bean>

After setting mediation in WSO2 API Manager 1.10, I have figured out null point exception and missing credential error. What I have to do?

I'm using WSO2 APIManager 1.10.
I'd like to call api request using mediation like this.
<sequence name="loadbalancer_bycompany" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<property expression="get-property('transport', 'company')"
name="company" scope="default" type="STRING"/>
<property name="POST_TO_URI" scope="axis2" type="STRING" value="true"/>
<switch source="$trp:company">
<case regex="sds">
<send>
<endpoint>
<address trace="disable" uri="https://70.30.182.167:8243/calc/1.0/"/>
</endpoint>
</send>
</case>
<case regex="etc">
<send>
<endpoint>
<address trace="disable" uri="https://70.30.182.167:9443/calc/1.0/"/>
</endpoint>
</send>
</case>
<default>
<send>
<endpoint>
<address trace="disable" uri="https://70.30.182.167:9443/carbon/"/>
</endpoint>
</send>
</default>
</switch>
</sequence>
So,I tried to set mediator and then i called api.
But, I got sometimes error response that is code 900902 missing credential,
sometimes got right response.
At that time, I found logs like this.
TID: [-1234] [] [2017-02-03 10:45:10,728] INFO {org.apache.synapse.mediators.builtin.LogMediator} - STATUS = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back {org.apache.synapse.mediators.builtin.LogMediator}
TID: [-1234] [] [2017-02-03 10:45:10,735] ERROR {org.apache.synapse.transport.passthru.PassThroughHttpSSLSender} - Failed to submit the response {org.apache.synapse.transport.passthru.PassThroughHttpSSLSender}
java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:493)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:108)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:155)
at org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:86)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:102)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:108)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:534)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:251)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
TID: [-1234] [] [2017-02-03 10:45:10,738] ERROR {org.apache.synapse.core.axis2.Axis2Sender} - Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><am:fault xmlns:am="http://wso2.org/apimanager"><am:code>0</am:code><am:type>Status report</am:type><am:message>Runtime Error</am:message><am:description>Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back</am:description></am:fault></soapenv:Body></soapenv:Envelope> Unexpected error sending message back {org.apache.synapse.core.axis2.Axis2Sender}
org.apache.axis2.AxisFault: Failed to submit the response
at org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:610)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:269)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:493)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:108)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:155)
at org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:86)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:102)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:108)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:534)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:251)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)
... 18 more
TID: [-1234] [] [2017-02-03 10:45:10,740] ERROR {org.apache.axis2.transport.base.threads.NativeWorkerPool} - Uncaught exception {org.apache.axis2.transport.base.threads.NativeWorkerPool}
java.lang.RuntimeException: org.apache.synapse.SynapseException: Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><am:fault xmlns:am="http://wso2.org/apimanager"><am:code>0</am:code><am:type>Status report</am:type><am:message>Runtime Error</am:message><am:description>Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back</am:description></am:fault></soapenv:Body></soapenv:Envelope> Unexpected error sending message back
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:110)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:108)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:534)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:251)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.synapse.SynapseException: Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><am:fault xmlns:am="http://wso2.org/apimanager"><am:code>0</am:code><am:type>Status report</am:type><am:message>Runtime Error</am:message><am:description>Access-Control-Allow-Headers:authorization,Access-Control-Allow-Origin,Content-Type,company,Access-Control-Allow-Methods:GET,Access-Control-Allow-Origin:*,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back</am:description></am:fault></soapenv:Body></soapenv:Envelope> Unexpected error sending message back
at org.apache.synapse.core.axis2.Axis2Sender.handleException(Axis2Sender.java:247)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:215)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:493)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:108)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:155)
at org.apache.synapse.mediators.MediatorFaultHandler.onFault(MediatorFaultHandler.java:86)
at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:102)
... 9 more
Caused by: org.apache.axis2.AxisFault: Failed to submit the response
at org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:610)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:269)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
... 16 more
Caused by: java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)
... 18 more
TID: [-1234] [] [2017-02-03 10:45:59,370] INFO {org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler} - Stat is not enabled {org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageHandler}
TID: [-1234] [] [2017-02-03 10:45:59,374] INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /calc/1.0/subtract?x=3&y=1, MessageID: urn:uuid:8f4000dc-b878-4d5f-b310-f0129f2db0a3, Direction: request, INFO = https://70.30.182.167:8243/calc/1.0/, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> {org.apache.synapse.mediators.builtin.LogMediator}
TID: [-1234] [] [2017-02-03 10:45:59,390] INFO {org.wso2.carbon.apimgt.usage.publisher.APIMgtResponseHandler} - Stat is not enabled {org.wso2.carbon.apimgt.usage.publisher.APIMgtResponseHandler}
TID: [-1234] [] [2017-02-03 10:45:59,395] WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failure due to Missing Credentials {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler}
I found this logs repeatedly, so I i made an effort to fix it.
First of all, to remove this error,
NullPointerException
SourceResponseFactory.create(SourceResponseFactory.java:64)
I figured out code issue in PassThroughHttpSender.java that didn't handle with null case for sourceRequest. And then I found that issue was fixed
wso2-synapse
ESBJAVA-3770 Message size based filtering to prevent OOM. (#679)
https://github.com/wso2/wso2-synapse/commit/1aff92c4bad968f78cf38577cbb7c01516475217
So, I added that code into our codes.
And then NullPointException was disappeared.
And then I tried to remove missing credential error.
So I found this link.
Authorization Bearer in URL Request using WSO2 API Manager
And I tried to set configure like below link.
https://docs.wso2.com/display/AM1100/Writing+Custom+Handlers
And then Missing credential error was removed.
And then result is right response.
But I found below log infinitely
TID: [-1234] [] [2017-02-08 13:20:12,563] WARN {org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler} - No authentication context information found on the request - Throttling not applied {org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler}
I tried to debug SourceHandler and TargetHandler.
and I think connection was created infinitely and wasn't closed all.
I don't know what to do anymore.
So please let me know what I have to do.
Please go through the sample implementation provided in docs. Based on the APIThrottleHandler implementation, this warning message would appear if you haven't set the user context within your custom Auth handler. Please check how the default "OAuthAuthenticator" has been written and how the AuthenticationContext getting initialized. You need to do a similar implementation to your custom handler if need to work with throttling.

Out of memory exception on WAS 6.1 and EJB 2.1

My application is going out of memory and getting internal server error for some time and after that it is automatically recovered and the application is running fine.
My application is hosted on WAS 6.1 and using Struts 1.1 and EJB 2.1.
Here are the application server logs for the error. Could you please help me on this issue please.
[7/14/15 12:58:06:238 BST] 00000038 HttpConnectio E Unable to read and handle request: null
[7/14/15 12:58:19:793 BST] 00000464 DiscoveryServ W DCSV1115W: DCS Stack DefaultCoreGroup at Member gal72050Cell\gal72050\fleetmanagement_1: Member gal72050Cell\gal72050\cid_1 connection was closed. Member will be removed from view. DCS connection status is Discovery|Ptp, transmitter closed.
[7/14/15 12:58:19:808 BST] 00000468 LTPAServerObj W SECJ0371W: Validation of the LTPA token failed because the token expired with the following info: Token expiration Date: Tue Jul 14 10:53:38 BST 2015, current Date: Tue Jul 14 12:58:19 BST 2015.
[7/14/15 12:58:19:816 BST] 00000467 LTPAServerObj W SECJ0371W: Validation of the LTPA token failed because the token expired with the following info: Token expiration Date: Tue Jul 14 12:25:18 BST 2015, current Date: Tue Jul 14 12:58:19 BST 2015.
[7/14/15 12:58:12:539 BST] 0000043c ExceptionUtil E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getWorkshop" on bean "BeanId(fleetmanagement_FMS#VUTEJB.jar#WorkshopService, null)". Exception data: <malformed parameter>
[7/14/15 12:58:19:780 BST] 00000014 ApplicationMo W DCSV0004W: DCS Stack DefaultCoreGroup at Member gal72050Cell\gal72050\fleetmanagement_1: Did not receive adequate CPU time slice. Last known CPU usage time at 12:53:52:795 BST. Inactivity duration was 175 seconds.
[7/14/15 12:58:19:189 BST] 00000448 ExceptionUtil E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "doSearch" on bean "BeanId(fleetmanagement_FMS#VUTEJB.jar#AtoService, null)". Exception data: <malformed parameter>
[7/14/15 12:58:19:189 BST] 0000043b ExceptionUtil E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "issueSearch" on bean "BeanId(fleetmanagement_FMS#VUTEJB.jar#IssueManagementService, null)". Exception data: java.lang.OutOfMemoryError
at com.ford.jlr.pd.im.model.jdbc.OracleIssueDao.createIssueDto(OracleIssueDao.java:718)
at com.ford.jlr.pd.im.model.jdbc.OracleIssueDao.createIssueSearchResultDto(OracleIssueDao.java:768)
at com.ford.jlr.pd.im.model.jdbc.OracleIssueDao.issueSearch(OracleIssueDao.java:506)
at com.ford.jlr.pd.vut.service.IssueManagementServiceBean.issueSearch(IssueManagementServiceBean.java:533)
at com.ford.jlr.pd.vut.service.EJSLocalStatelessIssueManagementService_0f9a1a53.issueSearch(Unknown Source)
at com.ford.jlr.pd.im.actions.IssueSearchAction.execute(IssueSearchAction.java:40)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
at com.ford.jlr.tag.crumb.CrumbFilter.doFilter(CrumbFilter.java:65)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ford.jlr.tag.table.ExportFilter.doFilter(ExportFilter.java:63)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ford.jlr.tag.table.CustomizeViewFilter.doFilter(CustomizeViewFilter.java:73)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:766)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:674)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
[7/14/15 12:58:10:251 BST] 0000044a ExceptionUtil E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getCategoriesCollection" on bean "BeanId(fleetmanagement_FMS#VUTEJB.jar#VehicleSearchService, null)". Exception data: java.lang.OutOfMemoryError
at java.net.InetAddress.getLocalHost(InetAddress.java:1461)
at oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:890)
at oracle.jdbc.driver.T4CTTIoauthenticate.<init>(T4CTTIoauthenticate.java:185)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:352)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:439)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:297)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:221)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:157)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:94)
at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper$1.run(InternalGenericDataStoreHelper.java:868)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:125)
at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.getPooledConnection(InternalGenericDataStoreHelper.java:863)
at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:1185)
at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1055)
at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1811)
at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1543)
at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2215)
at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:896)
at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:596)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:431)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:400)
at com.ford.jlr.pd.vut.model.JdbcHelper.getConnection(JdbcHelper.java:83)
at com.ford.jlr.pd.vut.model.JdbcHelper.doSelect(JdbcHelper.java:304)
at com.ford.jlr.pd.vut.model.jdbc.OracleVehicleSearchDao.getCategoriesCollection(OracleVehicleSearchDao.java:295)
at com.ford.jlr.pd.vut.service.VehicleSearchServiceBean.getCategoriesCollection(VehicleSearchServiceBean.java:547)
at com.ford.jlr.pd.vut.service.EJSLocalStatelessVehicleSearchService_0b6828ec.getCategoriesCollection(Unknown Source)
at com.ford.jlr.pd.fms.data.search.SearchDataManager.getCategories(SearchDataManager.java:51)
at com.ford.jlr.pd.vut.forms.VehicleSearchForm.getAllCategories(VehicleSearchForm.java:439)
at com.ford.jlr.pd.vut.actions.search.FleetSearchAjaxAction.getCategoriesList(FleetSearchAjaxAction.java:148)
at com.ford.jlr.pd.vut.actions.search.FleetSearchAjaxAction.attachChoices(FleetSearchAjaxAction.java:72)
at com.ford.jlr.struts.AjaxDependentListAction.execute(AjaxDependentListAction.java:67)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:930)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
at com.ford.jlr.tag.crumb.CrumbFilter.doFilter(CrumbFilter.java:65)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ford.jlr.tag.table.ExportFilter.doFilter(ExportFilter.java:63)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ford.jlr.tag.table.CustomizeViewFilter.doFilter(CustomizeViewFilter.java:73)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:766)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:674)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
java.lang.OutOfMemoryError suggests that you run out of memory in the application server. For quick workaround you can increase max heap size in the application server, but in general you should enable verbose gc and generate heap dumps. Then analyze the dump looking for memory leaks and learning what is taking space in the heap.
You can use tools from IBM Support Assistant (available for free) :
Garbage Collection and Memory Visualizer
IBM HeapAnalyzer

Event ID: 1325, Source: ASP.NET 4.0.30319.0

Could any One Help Me Identify the Error and suggest a solution Please.
Log Name: Application
Source: ASP.NET 4.0.30319.0
Date: 3/6/2015 7:28:58 AM
Event ID: 1325
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: XXX
Description:
An unhandled exception occurred and the process was terminated.
Application ID: /LM/W3SVC/3/ROOT
Process ID: 13528
Exception: System.Threading.ThreadStateException
Message: Unable to retrieve thread information.
StackTrace: at System.Threading.Thread.GetThreadStateNative()
at FiftyOne.Foundation.Mobile.Detection.NewDevice.Dispose()
at FiftyOne.Foundation.Mobile.Detection.NewDevice.Finalize()
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ASP.NET 4.0.30319.0" />
<EventID Qualifiers="49152">1325</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2015-03-06T13:28:58.000Z" />
<EventRecordID>173806</EventRecordID>
<Channel>Application</Channel>
<Computer>379501-dy.ord.intensive.int</Computer>
<Security />
</System>
<EventData>
<Data>An unhandled exception occurred and the process was terminated.
Application ID: /LM/W3SVC/3/ROOT
Process ID: 13528
Exception: System.Threading.ThreadStateException
Message: Unable to retrieve thread information.
StackTrace: at System.Threading.Thread.GetThreadStateNative()
at FiftyOne.Foundation.Mobile.Detection.NewDevice.Dispose()
at FiftyOne.Foundation.Mobile.Detection.NewDevice.Finalize()</Data>
</EventData>
</Event>
I got this error message today; my solution is to remove the module from my codebase. A tad extreme, but I don't want third-party modules that when they crash, kill the entire application pool.

Mule - failed to route via HTTP outbound endpoint

I have a Mule flow that is converting an inbound file into some XML and I wish to post this to an HTTP outbound endpoint but my flow fails when I attempt to do so. My flow looks as follows:
<flow name="mainFlow" processingStrategy="synchronous">
<file:inbound-endpoint name="fileIn" path="path/to/file"/>
<file:file-to-string-transformer />
<component class="CUSTOM JAVA CLASS TO CONVERT CSV INPUT TO BASIC XML"/>
<mulexml:xml-to-dom-transformer returnClass="org.w3c.dom.Document"/>
<!-- XSLT converts my Java-produced XML to a more complex structure for output -->
<mulexml:xslt-transformer maxIdleTransformers="2" maxActiveTransformers="5" xsl-file="path/to/xsl"/>
<object-to-string-transformer doc:name="Object to String"/>
<!-- AT THIS POINT, THE PAYLOAD IS A STRING OF XML (payload=java.lang.String) -->
<http:outbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="hello" contentType="text/xml" method="POST" doc:name="HTTP"/>
</flow>
The errors I'm getting are as follows:
ERROR 2014-05-08 10:39:41,449 [[processes].consignmentInputFileConnector.receiver.02] org.mule.exception.CatchMessagingExceptionStrategy:
********************************************************************************
Message : Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=http://localhost:8081/hello, connector=HttpConnector
{
name=connector.http.mule.default
lifecycle=start
this=45f8d5e5
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[http]
serviceOverrides=<none>
}
, name='endpoint.http.localhost.8081.hello', mep=REQUEST_RESPONSE, properties={http.method=POST, Content-Type=text/xml}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: PostMethod
Code : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. Connection refused (java.net.ConnectException)
java.net.PlainSocketImpl:-2 (null)
2. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=http://localhost:8081/hello, connector=HttpConnector
{
name=connector.http.mule.default
lifecycle=start
this=45f8d5e5
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[http]
serviceOverrides=<none>
}
, name='endpoint.http.localhost.8081.hello', mep=REQUEST_RESPONSE, properties={http.method=POST, Content-Type=text/xml}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: PostMethod (org.mule.api.transport.DispatchException)
org.mule.transport.http.HttpClientMessageDispatcher:155 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transport/DispatchException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
The end goal of what I'm trying to achieve here is to evaluate the response code received from the HTTP endpoint and then proceed accordingly. However, I've so far been unable to get as far as posting successfully.
Are you sure something is listening on http://localhost:8081/hello? The java.net.ConnectException tends to say the opposite.

Resources