[esb-issues] [JBoss JIRA] Updated: (JBESB-2133) Connection failed still called method in "okMethod" ?
Chris Au (JIRA)
jira-events at lists.jboss.org
Mon Oct 20 06:19:21 EDT 2008
[ https://jira.jboss.org/jira/browse/JBESB-2133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris Au updated JBESB-2133:
----------------------------
Description:
I used below config to test the okMethod and exceptionMethod and found that the okMethod will still be called even the console throws exception about connection failed :
<action name="displayMessage" class="com.oi.test.MyJMSListenerAction"
process="displayMessage" >
<property name="exceptionMethod" value="myHandle"/>
<property name="okMethod" value="displayMessage"/>
</action>
<action name="notificationAction" class="org.jboss.soa.esb.actions.Notifier">
<property name="okMethod" value="notifyOK" />
<property name="destinations">
<NotificationList type="OK">
<target class="NotifyQueues" >
<queue connection-factory="SonicMQQueueConnectionFactory"
jndi-URL="jnp://@domain@:1099"
jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces"
jndiName="SonicMQ_Queue_test" />
</target>
</NotificationList>
<NotificationList type="err">
<target class="NotifyConsole" />
<target class="NotifyFiles" >
<file URI="/error.log" />
</target>
</NotificationList>
</property>
</action>
The connection to sonicMQ tested successful when I did not shut that down on purpose to test the connectivity problem. What I am trying to do is to catch exception when the connection fails. But there does not seem to be a suitable workflow for that.
Here comes the exception in console :
org.jboss.soa.esb.ConfigurationException: Failed to create an instance of Notifi
cationTarget class 'NotifyQueues'.
at org.jboss.soa.esb.notification.NotificationTarget.fromParams(Notifica
tionTarget.java:148)
at org.jboss.soa.esb.notification.NotificationList.notifyAll(Notificatio
nList.java:162)
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(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.process
Success(ActionProcessorMethodInfo.java:165)
at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcesso
r.processSuccess(OverriddenActionLifecycleProcessor.java:108)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.notifySu
ccess(ActionProcessingPipeline.java:610)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(
ActionProcessingPipeline.java:384)
at org.jboss.soa.esb.listeners.message.MessageAwareListener$Transactiona
lRunner.run(MessageAwareListener.java:530)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.jms.InvalidDestinationException: Queue not found: qOrder_test
at progress.message.jimpl.MessageProducer.makeOpenRequest(Unknown Source
)
at progress.message.jimpl.MessageProducer.<init>(Unknown Source)
at progress.message.jimpl.QueueSender.<init>(Unknown Source)
at progress.message.jimpl.Session.createProducer(Unknown Source)
at org.jboss.internal.soa.esb.rosetta.pooling.JmsSession.createProducer(
JmsSession.java:180)
at org.jboss.soa.esb.notification.NotifyQueues.createProducer(NotifyQueu
es.java:114)
at org.jboss.soa.esb.notification.NotifyJMS.setUpProducers(NotifyJMS.jav
a:428)
at org.jboss.soa.esb.notification.NotifyQueues.<init>(NotifyQueues.java:
71)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.jboss.soa.esb.notification.NotificationTarget.fromParams(Notifica
tionTarget.java:145)
... 14 more
was:
I used below config to test the okMethod and exceptionMethod and found that the okMethod will still be called even the console throws exception about connection failed :
<action name="displayMessage" class="com.oi.test.MyJMSListenerAction"
process="displayMessage" >
<property name="exceptionMethod" value="myHandle"/>
<property name="okMethod" value="displayMessage"/>
</action>
<action name="notificationAction" class="org.jboss.soa.esb.actions.Notifier">
<property name="okMethod" value="notifyOK" />
<property name="destinations">
<NotificationList type="OK">
<target class="NotifyQueues" >
<queue connection-factory="SonicMQQueueConnectionFactory"
jndi-URL="jnp://@domain@:1099"
jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces"
jndiName="SonicMQ_Queue_test" />
</target>
</NotificationList>
<NotificationList type="err">
<target class="NotifyConsole" />
<target class="NotifyFiles" >
<file URI="/error.log" />
</target>
</NotificationList>
</property>
</action>
The connection to sonicMQ tested successful when I did not shut that down on purpose to test the connectivity problem. What I am trying to do is to catch exception when the connection fails. But there does not seem to be a suitable workflow for that.
> Connection failed still called method in "okMethod" ?
> -----------------------------------------------------
>
> Key: JBESB-2133
> URL: https://jira.jboss.org/jira/browse/JBESB-2133
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.4
> Environment: jbossesb-server-4.4.GA
> OS : Windows-XP
> Reporter: Chris Au
>
> I used below config to test the okMethod and exceptionMethod and found that the okMethod will still be called even the console throws exception about connection failed :
> <action name="displayMessage" class="com.oi.test.MyJMSListenerAction"
> process="displayMessage" >
> <property name="exceptionMethod" value="myHandle"/>
> <property name="okMethod" value="displayMessage"/>
> </action>
> <action name="notificationAction" class="org.jboss.soa.esb.actions.Notifier">
> <property name="okMethod" value="notifyOK" />
> <property name="destinations">
> <NotificationList type="OK">
> <target class="NotifyQueues" >
> <queue connection-factory="SonicMQQueueConnectionFactory"
> jndi-URL="jnp://@domain@:1099"
> jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
> jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces"
> jndiName="SonicMQ_Queue_test" />
> </target>
> </NotificationList>
> <NotificationList type="err">
> <target class="NotifyConsole" />
> <target class="NotifyFiles" >
> <file URI="/error.log" />
> </target>
> </NotificationList>
> </property>
> </action>
> The connection to sonicMQ tested successful when I did not shut that down on purpose to test the connectivity problem. What I am trying to do is to catch exception when the connection fails. But there does not seem to be a suitable workflow for that.
> Here comes the exception in console :
> org.jboss.soa.esb.ConfigurationException: Failed to create an instance of Notifi
> cationTarget class 'NotifyQueues'.
> at org.jboss.soa.esb.notification.NotificationTarget.fromParams(Notifica
> tionTarget.java:148)
> at org.jboss.soa.esb.notification.NotificationList.notifyAll(Notificatio
> nList.java:162)
> 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(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.process
> Success(ActionProcessorMethodInfo.java:165)
> at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcesso
> r.processSuccess(OverriddenActionLifecycleProcessor.java:108)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.notifySu
> ccess(ActionProcessingPipeline.java:610)
> at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(
> ActionProcessingPipeline.java:384)
> at org.jboss.soa.esb.listeners.message.MessageAwareListener$Transactiona
> lRunner.run(MessageAwareListener.java:530)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> utor.java:650)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: javax.jms.InvalidDestinationException: Queue not found: qOrder_test
> at progress.message.jimpl.MessageProducer.makeOpenRequest(Unknown Source
> )
> at progress.message.jimpl.MessageProducer.<init>(Unknown Source)
> at progress.message.jimpl.QueueSender.<init>(Unknown Source)
> at progress.message.jimpl.Session.createProducer(Unknown Source)
> at org.jboss.internal.soa.esb.rosetta.pooling.JmsSession.createProducer(
> JmsSession.java:180)
> at org.jboss.soa.esb.notification.NotifyQueues.createProducer(NotifyQueu
> es.java:114)
> at org.jboss.soa.esb.notification.NotifyJMS.setUpProducers(NotifyJMS.jav
> a:428)
> at org.jboss.soa.esb.notification.NotifyQueues.<init>(NotifyQueues.java:
> 71)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
> orAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
> onstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
> at org.jboss.soa.esb.notification.NotificationTarget.fromParams(Notifica
> tionTarget.java:145)
> ... 14 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the esb-issues
mailing list