[esb-issues] [JBoss JIRA] Updated: (JBESB-1369) Bad action breaks ESB

Martin Vecera (JIRA) jira-events at lists.jboss.org
Mon Mar 17 09:53:51 EDT 2008


     [ http://jira.jboss.com/jira/browse/JBESB-1369?page=all ]

Martin Vecera updated JBESB-1369:
---------------------------------

    Fix Version/s: 4.2.1 CP1
                       (was: 4.2.1 CP2)

> Bad action breaks ESB
> ---------------------
>
>                 Key: JBESB-1369
>                 URL: http://jira.jboss.com/jira/browse/JBESB-1369
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Rosetta
>    Affects Versions: 4.2.1
>         Environment: server/oracle/deploy/jbossesb.sar/jbossesb-properties.xml in the 'core' section:
> <property name="org.jboss.soa.esb.message.default.uri" value="urn:jboss/esb/message/type/JAVA_SERIALIZED"/>
>            Reporter: Martin Vecera
>         Assigned To: Tom Cunningham
>             Fix For: 4.2.1 CP1
>
>         Attachments: server.log.bz2
>
>
> In one of my tests I sent several messages (text or object - doesn't matter, they both carried String) to Queue/A. There was one service listening on this queue. I tried to use org.jboss.soa.esb.actions.Notifier with target NotifyQueue. This was impossible because my message carried String and the notifier expected byte[]. This caused an exception (see later) and the ESB started to show another warning (connection pool exhausted). I would expect it to return the thread to the pool after this exception. It is 100% reproducible. Just try simple helloworld quickstart with NotifyQueue and ESB set according to 'Environment' field.
> The exception (this is expected behavior):
> 16:28:42,044 INFO  [JBoss4ESBDeployer] create esb service, Performance1.esb
> 16:28:42,069 INFO  [QueueService] Queue[/queue/quickstart_helloworld_Request_esb] started, fullSize=200000, pageSize=2000, downCacheSize=2000
> 16:28:42,077 INFO  [QueueService] Queue[/queue/quickstart_helloworld_Request_gw] started, fullSize=200000, pageSize=2000, downCacheSize=2000
> 16:28:42,259 ERROR [STDERR] Found log4j.properties: jar:file:/home/mvecera/work/jboss-soa-p.4.2.0.IR6/bin/run.jar!/log4j.properties
> 16:28:42,261 INFO  [MessageCounterAction] jbosstest.beancount: null
> 16:28:42,261 INFO  [MessageCounterAction] jbosstest.iterationcount: null
> 16:28:42,261 INFO  [MessageCounterAction] jbosstest.threadcount: null
> 16:28:42,261 INFO  [MessageCounterAction] jbosstest.nodeploy: null
> 16:28:42,261 INFO  [MessageCounterAction] jbosstest.jndiurl: localhost:1099
> 16:28:42,261 INFO  [MessageCounterAction] jbosstest.jndifactory: org.jnp.interfaces.NamingContextFactory
> 16:28:42,541 INFO  [JDBCDataStore] Generated token 'authToken:6F7CA190-9CFD-11DC-AC8B-AA0F09643FB4' for user: 'jbossesb/JBoss ESB User'
> 16:28:42,667 INFO  [QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
> 16:28:54,478 ERROR [STDERR] Test was finished by processing 1 messages in 1 ms
> 16:28:54,483 INFO  [STDOUT] ConsoleNotifier 2007/11/27 04:28:54.483<Hello World>
> 16:28:54,532 ERROR [NotificationList] Can't instantiate target <target class="NotifyQueues">
>                                                           <queue jndiName="queue/D"/>
>                                                         </target>
> org.jboss.soa.esb.notification.NotificationException: Expected payload type for 'urn:jboss/esb/message/type/JAVA_SERIALIZED' is byte[].  Recieved 'java.lang.String'.
>         at org.jboss.soa.esb.notification.NotifyJMS.sendNotification(NotifyJMS.java:276)
>         at org.jboss.soa.esb.notification.NotificationList.notifyAll(NotificationList.java:164)
>         at org.jboss.soa.esb.actions.Notifier.notifyOK(Notifier.java:93)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processSuccess(ActionProcessorMethodInfo.java:154)
>         at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.processSuccess(OverriddenActionLifecycleProcessor.java:108)
>         at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.notifySuccess(ActionProcessingPipeline.java:610)
>         at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:384)
>         at org.jboss.soa.esb.listeners.jca.JcaMessageAwareListener.process(JcaMessageAwareListener.java:156)
>         at org.jboss.soa.esb.listeners.jca.JcaJMSInflowMessageProcessorAdapter.onMessage(JcaJMSInflowMessageProcessorAdapter.java:44)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.jboss.soa.esb.listeners.jca.BaseJcaInflow$1.invoke(BaseJcaInflow.java:205)
>         at org.jboss.soa.esb.listeners.jca.EndpointProxy.delivery(EndpointProxy.java:242)
>         at org.jboss.soa.esb.listeners.jca.EndpointProxy.invoke(EndpointProxy.java:145)
>         at $Proxy76.onMessage(Unknown Source)
>         at org.jboss.resource.adapter.jms.inflow.JmsServerSession.onMessage(JmsServerSession.java:178)
>         at org.jboss.jms.client.container.ClientConsumer.callOnMessage(ClientConsumer.java:157)
>         at org.jboss.jms.client.container.SessionAspect.handleRun(SessionAspect.java:801)
>         at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect14.invoke(SessionAspect14.java)
>         at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
>         at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
>         at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
>         at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
>         at org.jboss.jms.client.delegate.ClientSessionDelegate.run(ClientSessionDelegate.java)
>         at org.jboss.jms.client.JBossSession.run(JBossSession.java:199)
>         at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:237)
>         at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
>         at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
>         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
>         at java.lang.Thread.run(Thread.java:595)
> The problem:
> 16:30:58,740 INFO  [STDOUT] ConsoleNotifier 2007/11/27 04:30:58.740<Hello World>
> 16:30:58,741 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:30:58,766 INFO  [STDOUT] ConsoleNotifier 2007/11/27 04:30:58.766<Hello World>
> 16:30:58,766 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:30:58,770 INFO  [STDOUT] ConsoleNotifier 2007/11/27 04:30:58.770<Hello World>
> 16:30:58,770 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:30:58,807 INFO  [STDOUT] ConsoleNotifier 2007/11/27 04:30:58.807<Hello World>
> 16:30:58,807 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:30:59,741 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:30:59,766 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:30:59,770 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:30:59,808 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:00,741 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:00,767 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:00,770 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:00,808 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:01,741 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:01,767 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:01,770 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:01,808 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:02,741 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> 16:31:02,769 INFO  [JmsConnectionPool] The connection pool was exhausted. Waiting 1 second before trying again..
> Undeploying the service didn't fix the problem.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the esb-issues mailing list