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

Martin Vecera (JIRA) jira-events at lists.jboss.org
Tue Nov 27 10:34:46 EST 2007


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


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