Bug 1167983

Summary: javax.ejb.NoSuchEJBException should not print a stacktrace on the server console
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: sgilda
Component: EJBAssignee: David M. Lloyd <david.lloyd>
Status: CLOSED WONTFIX QA Contact: Jan Martiska <jmartisk>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.4.0   
Target Milestone: ---   
Target Release: EAP 6.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-01 12:29:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1167293    

Description sgilda 2014-11-25 19:20:49 UTC
Description of problem:

See related bug: https://bugzilla.redhat.com/show_bug.cgi?id=1167293

The shopping-cart quickstart has a note in the README file that states: 
    Note: You also see the following EJB Invocation failed and NoSuchEJBException messages in the server log. This is the expected result because method is annotated with @Remove. This means the next invocation after the shopping cart checkout fails because the container has destroyed the instance and it is no longer available.

However, usually people see the stacktrace in the server and assume something is terribly wrong. (see https://bugzilla.redhat.com/show_bug.cgi?id=910868)

I spoke with Brad Maxwell and David M Lloyd to see if there is a way to suppress the stacktrace and only print the exception message, but it is not possible. The stacktrace doesn't really provide any additional information, and since it's thrown, the caller has access to it.

David said: Looks like the place to make this change would be in org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.  Maybe a specific catch clause for exception types to not log?



Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 sgilda 2014-11-25 19:33:45 UTC
Created a JIRA for Wildfly: https://issues.jboss.org/browse/WFLY-4125

Comment 2 sgilda 2014-11-25 20:37:00 UTC
This issue has also come up with stacktraces printed in the ejb-security-interceptors quickstart. It demonstrates how a secured EJB rejects unauthorized access. Again, it prints out something like the following, followed by a giant stacktrace. It would be nicer to just print the message.

javax.ejb.EJBAccessException: JBAS014502: Invocation on method: public abstract boolean org.jboss.as.quickstarts.ejb_security_interceptors.SecuredEJBRemote.roleTwoMethod() of bean: SecuredEJB is not allowed

See bug https://bugzilla.redhat.com/show_bug.cgi?id=1167640