[jboss-jira] [JBoss JIRA] (WFLY-9488) WeldDeployment initialisation error causes session fail-over to fail.

Martin Kouba (JIRA) issues at jboss.org
Wed Nov 8 04:15:01 EST 2017


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

Martin Kouba commented on WFLY-9488:
------------------------------------

[~papegaaij] Thanks for info. I still don't understand how could wicket-cdi result in an additional bean deployment archive - it's a bean archive and does not seem to declare any CDI extension.

[~klaasjanb] Thanks. There is no official definition of "additional" bean archive. It's a way Weld attempts to solve some specific corner cases, e.g. a CDI extension does not have to be inside a bean archive. So if it adds an {{AnnotatedType}} or a {{Bean}}, it's not clear what bean archive it belongs to. Does the {{app-core.jar}} contain a {{beans.xml}} descriptor or a class with a [bean defining annotation|http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#bean_defining_annotations]? If so, then it's a regular bean archive.

> WeldDeployment initialisation error causes session fail-over to fail.
> ---------------------------------------------------------------------
>
>                 Key: WFLY-9488
>                 URL: https://issues.jboss.org/browse/WFLY-9488
>             Project: WildFly
>          Issue Type: Bug
>          Components: CDI / Weld
>    Affects Versions: 11.0.0.Final
>         Environment: Testen on OS X Sierra with Oracle JDK 1.8.0_152
>            Reporter: Klaasjan Brand
>            Assignee: Martin Kouba
>         Attachments: serviceregistry.patch
>
>
> At Topicus we've tested one of our Java EE applications to check compatibility with Wildfly session replication. This resulted in deserialization errors when performing a failover test.
> (WELD-001122: Failed to deserialize annotated type identified with AnnotatedTypeIdentifier)
> The application is deployed as an EAR archive containing several modules, one of them a WAR which hosts the main web frontend.
> Point of interest is our application uses Wicket (with Wicket-CDI) to inject CDI resources in Wicket pages.
> After a debugging session we concluded the "tryToLoadUnknownBackedAnnotatedType" method in the Weld class "SlimAnnotatedType" uses the wrong ResourceLoader when trying to load the class containing an injected object.
> Further debugging proved the initialisation in the WeldDeployment method "createAndRegisterAdditionalBeanDeploymentArchive" copies all of the ServiceRegistry entries of the parent BeanDeployment to the child, overwriting the already set ResourceLoader.
> I've attached a patch which prevents the overwriting of the deployment's already set entries. This fixed the replication problems with our application.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list