[seam-issues] [JBoss JIRA] (SOLDER-325) Logging implementations generated by jboss-logging-generator do not comply with JSR299 CDI spec.

Ken Finnigan (JIRA) jira-events at lists.jboss.org
Mon Apr 2 11:38:47 EDT 2012


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

Ken Finnigan commented on SOLDER-325:
-------------------------------------

Kris,

As I mentioned in the forum, I don't believe this is the real issue, due to the Solder Extension and Producers that correctly provide an injectable logger.  It's not purely based on the generated class.

Could you verify that the same error occurs using AS7/Weld to rule out it being an OWB or Websphere issue?
                
> Logging implementations generated by jboss-logging-generator do not comply with JSR299 CDI spec.
> ------------------------------------------------------------------------------------------------
>
>                 Key: SOLDER-325
>                 URL: https://issues.jboss.org/browse/SOLDER-325
>             Project: Solder
>          Issue Type: Bug
>          Components: Compliance, Logging, Servlet
>            Reporter: Kris Vandebroek
>
> Seam-solder uses jboss-logging in the class ServletLogger (solder-impl-3.1.0.jar).
> The implementation of this ServletLogger interface, was generated at the compilation time of solder-impl by using jboss-logging-generator. This generated the class ServletLogger_$logger also included in the solder-impl-3.1.0.jar.
> Some classes, like ImplicitServletObjectsHolder @Inject the ServletLogger.
> This is possible if and only if the ServletLogger implementation class is recognized by the CDI container. (In my case OpenWebBeans from the IBM websphere 8 container).
> This ServletLogger_$logger implementation class is however no valid CDI managed bean as specified in the JSR299 specification in section: 3.1.1:
> A managed bean must have an appropriate constructor - either: a) the class has a constructor with no parameter, or b) the class declares a constructor annotated @Inject.
> The generated class ServletLogger_$logger has a non-default constructor (with argument 'Logger log') but does not specify the necessary @Inject on the constructor.
> The result is that the class is not identified by the CDI container en thus no valid injectable managed bean is found.
> (some more info can be found on: https://community.jboss.org/message/727773#727773)

--
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 seam-issues mailing list