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

Kris Vandebroek (JIRA) jira-events at lists.jboss.org
Thu Apr 12 11:38:48 EDT 2012


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

Kris Vandebroek commented on SOLDER-325:
----------------------------------------

I've added more updates to the forum. To summarize: the injection of Loggers is different then expected, so the described problem (not being compatible with CDI spec) is not correct.

Though a problem remains, which is unclear if it is a OWB of a SEAM problem.
                
> 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
>         Environment: OpenWebBeans
> Websphere v8
>            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