[esb-issues] [JBoss JIRA] Commented: (JBESB-1798) Error message for Notifier is misleading if exception is thrown in Notifier class constructor

Darrin Mison (JIRA) jira-events at lists.jboss.org
Thu Jul 24 19:55:45 EDT 2008


    [ https://jira.jboss.org/jira/browse/JBESB-1798?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12422484#action_12422484 ] 

Darrin Mison commented on JBESB-1798:
-------------------------------------

Proposed SOA 4.2 TP02 Release Note:
Error message for Notifier is not longer misleading if exception is thrown in Notifier class constructor

> Error message for Notifier is misleading if exception is thrown in Notifier class constructor
> ---------------------------------------------------------------------------------------------
>
>                 Key: JBESB-1798
>                 URL: https://jira.jboss.org/jira/browse/JBESB-1798
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Rosetta
>    Affects Versions: 4.2.1 CP3
>            Reporter: Jiri Pechanec
>            Assignee: Tom Fennelly
>             Fix For: 4.2.1 CP3, 4.4
>
>
> See log file
> 14:17:19,281 ERROR [STDERR] java.lang.reflect.InvocationTargetException
> 14:17:19,281 ERROR [STDERR]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Met
> hod)
> 14:17:19,281 ERROR [STDERR]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConst
> ructorAccessorImpl.java:39)
> 14:17:19,281 ERROR [STDERR]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Delegat
> ingConstructorAccessorImpl.java:27)
> 14:17:19,281 ERROR [STDERR]     at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
> 14:17:19,281 ERROR [STDERR]     at org.jboss.soa.esb.notification.NotificationTarget.fromParams(Noti
> ficationTarget.java:144)
> 14:17:19,281 ERROR [STDERR]     at org.jboss.soa.esb.notification.NotificationList.notifyAll(Notific
> ationList.java:162)
> 14:17:19,281 ERROR [STDERR]     at org.jboss.soa.esb.actions.Notifier.notifyOK(Notifier.java:93)
> 14:17:19,282 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 14:17:19,282 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorI
> mpl.java:39)
> 14:17:19,282 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodA
> ccessorImpl.java:25)
> 14:17:19,282 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:585)
> 14:17:19,282 ERROR [STDERR]     at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.pro
> cessSuccess(ActionProcessorMethodInfo.java:165)
> 14:17:19,282 ERROR [STDERR]     at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProc
> essor.processSuccess(OverriddenActionLifecycleProcessor.java:108)
> 14:17:19,282 ERROR [STDERR]     at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.noti
> fySuccess(ActionProcessingPipeline.java:610)
> 14:17:19,282 ERROR [STDERR]     at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.proc
> ess(ActionProcessingPipeline.java:384)
> 14:17:19,282 ERROR [STDERR]     at org.jboss.soa.esb.listeners.message.MessageAwareListener$Transact
> ionalRunner.run(MessageAwareListener.java:530)
> 14:17:19,282 ERROR [STDERR]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPool
> Executor.java:650)
> 14:17:19,282 ERROR [STDERR]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExec
> utor.java:675)
> 14:17:19,282 ERROR [STDERR]     at java.lang.Thread.run(Thread.java:595)
> 14:17:19,282 ERROR [STDERR] Caused by: org.jboss.internal.soa.esb.rosetta.pooling.ConnectionExceptio
> n: Unexpected exception accessing Naming Context
> 14:17:19,282 ERROR [STDERR]     at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getS
> ession(JmsConnectionPool.java:165)
> 14:17:19,282 ERROR [STDERR]     at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getS
> ession(JmsConnectionPool.java:229)
> 14:17:19,282 ERROR [STDERR]     at org.jboss.soa.esb.notification.NotifyJMS.setUpProducers(NotifyJMS
> .java:403)
> 14:17:19,282 ERROR [STDERR]     at org.jboss.soa.esb.notification.NotifyQueues.<init>(NotifyQueues.java:71)
> 14:17:19,282 ERROR [STDERR]     ... 19 more
> 14:17:19,283 ERROR [STDERR] Caused by: org.jboss.soa.esb.helpers.NamingContextException: Failed to c
> reate Naming Context
> 14:17:19,283 ERROR [STDERR]     at org.jboss.soa.esb.helpers.NamingContextPool.createContext(NamingC
> ontextPool.java:358)
> 14:17:19,283 ERROR [STDERR]     at org.jboss.soa.esb.helpers.NamingContextPool.getContext(NamingCont
> extPool.java:296)
> 14:17:19,283 ERROR [STDERR]     at org.jboss.soa.esb.helpers.NamingContextPool.getContext(NamingCont
> extPool.java:151)
> 14:17:19,283 ERROR [STDERR]     at org.jboss.soa.esb.helpers.NamingContextPool.getNamingContext(Nami
> ngContextPool.java:402)
> 14:17:19,283 ERROR [STDERR]     at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.init
> Connection(JmsConnectionPool.java:408)
> 14:17:19,283 ERROR [STDERR]     at org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.getS
> ession(JmsConnectionPool.java:163)
> 14:17:19,283 ERROR [STDERR]     ... 22 more
> 14:17:19,283 ERROR [STDERR] Caused by: javax.naming.CommunicationException: Could not obtain connect
> ion to any of these urls: localhost:7222 and discovery failed with error: javax.naming.Communication
> Exception: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] 
> [Root exception is javax.naming.CommunicationException: Failed to retrieve stub from server localhos
> t:7222 [Root exception is java.io.StreamCorruptedException: invalid stream header]]
> 14:17:19,289 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1562
> )
> 14:17:19,289 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:634)
> 14:17:19,289 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
> 14:17:19,289 ERROR [STDERR]     at javax.naming.InitialContext.lookup(InitialContext.java:351)
> 14:17:19,289 ERROR [STDERR]     at org.jboss.soa.esb.helpers.NamingContextPool.createContext(NamingC
> ontextPool.java:342)
> 14:17:19,289 ERROR [STDERR]     ... 27 more
> 14:17:19,289 ERROR [STDERR] Caused by: javax.naming.CommunicationException: Failed to retrieve stub 
> from server localhost:7222 [Root exception is java.io.StreamCorruptedException: invalid stream heade
> r]
> 14:17:19,289 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:268
> )
> 14:17:19,289 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1533
> )
> 14:17:19,289 ERROR [STDERR]     ... 31 more
> 14:17:19,289 ERROR [STDERR] Caused by: java.io.StreamCorruptedException: invalid stream header
> 14:17:19,290 ERROR [STDERR]     at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java
> :764)
> 14:17:19,290 ERROR [STDERR]     at java.io.ObjectInputStream.<init>(ObjectInputStream.java:277)
> 14:17:19,290 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:255
> )
> 14:17:19,290 ERROR [STDERR]     ... 32 more
> 14:17:19,298 ERROR [NotificationList] Can't instantiate target <target class="NotifyQueues">
>                          <messageProp name="quetest" value="some test property"/>
>                          <queue jndi-URL="localhost:7222" jndiName="QUICKSTART_NOTIFIER_QUETEST_GW">
>                          </queue>                         
>                        </target>
> org.jboss.soa.esb.ConfigurationException: NotifyQueues  does not extend NotificationTarget
>         at org.jboss.soa.esb.notification.NotificationTarget.fromParams(NotificationTarget.java:151)
>         at org.jboss.soa.esb.notification.NotificationList.notifyAll(NotificationList.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(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processSuccess(ActionProces
> sorMethodInfo.java:165)
>         at org.jboss.soa.esb.listeners.message.OverriddenActionLifecycleProcessor.processSuccess(Ove
> rriddenActionLifecycleProcessor.java:108)
>         at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.notifySuccess(ActionProcessi
> ngPipeline.java:610)
>         at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipe
> line.java:384)
>         at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageA
> wareListener.java:530)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> The issue is caused by the code from NotificationTarget.java
>                 Object oRet = null;
>                 try
>                 {
>                         oRet = oCons.newInstance(new Object[] { p_oP });
>                 }
>                 catch (Exception e)
>                 {
>                         e.printStackTrace();
>                 }
>                 if (null == oRet || (!(oRet instanceof NotificationTarget)))
>                         throw new ConfigurationException(sClass + "  does not extend NotificationTarget");
>                 return (NotificationTarget) oRet;
> The problem is that for some Notifiers it is allowed to throw exception in constructor (e.g. NotifyQueue) and in such case the variable oRet has still value set to null but it is due to completely different reason then that class is not subclass of NotificationTarget.

-- 
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