[weld-issues] [JBoss JIRA] (WELD-1032) Lifecycle stacktrace in the exception message: What's causing is my bean being to be created too early?

Geoffrey De Smet (JIRA) jira-events at lists.jboss.org
Mon Feb 27 13:46:36 EST 2012


    [ https://issues.jboss.org/browse/WELD-1032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671316#comment-12671316 ] 

Geoffrey De Smet commented on WELD-1032:
----------------------------------------

Not sure, but when an exception occurs, call a method which builds this string:

{code}
  during creation of ConnectionManager
  for DogDao
  for PersonDao
  for PersonService
  for Main
{code}

then just wrap the original RuntimeException with an exception that also displays that message?
                
> Lifecycle stacktrace in the exception message: What's causing is my bean being to be created too early?
> -------------------------------------------------------------------------------------------------------
>
>                 Key: WELD-1032
>                 URL: https://issues.jboss.org/browse/WELD-1032
>             Project: Weld
>          Issue Type: Feature Request
>            Reporter: Geoffrey De Smet
>
> When not using (C)DI, you can easily see when a component is created too early by looking at the stacktrace:
> {code}
> "database username is null"
> at ConnectionManager.createConnection()
> at DogDao.createInstance()
> at DogDao.getInstance()
> at PersonDao.createInstance()
> at PersonDao.getInstance()
> at PersonService.createInstance()
> at PersonService.getInstance()
> at Main.beforeDatabaseUsernameIsAsked()
> {code}
> Clearly, beforeDatabaseUsernameIsAsked() has the problem: it shouldn't call PersonService.getInstance().
> However, turn this code into (C)DI and you get something like this stacktrace:
> {code}
> "database username is null"
> at ConnectionManager.createConnection()
> at java.reflect....
> at org.jboss.weld...
> at org.jboss.arquillian...
> {code}
> Now, it's not clear any more that Main.beforeDatabaseUsernameIsAsked() is the problem, isn't it?
> There is absolutely no mention of Main.
> And then it is a challenge to find out what's causing the lifecycle to behave differently that you expected
> and how the lifecycle is actually behaving now.
> It would be nice if the exception message contains something like
> {code}
> "database username is null"
>   during creation of ConnectionManager
>   for DogDao
>   for PersonDao
>   for PersonService
>   for Main
> at ConnectionManager.createConnection()
> ....
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list