[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