[ https://issues.apache.org/jira/browse/DELTASPIKE-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16861402#comment-16861402 ]
Andrew Schmidt commented on DELTASPIKE-1377: -------------------------------------------- Allright, so in Annotateds.createAnnotationCollectionId {code:java} try { Object value = method.invoke(a); builder.append(method.getName()); builder.append('='); builder.append(value.toString()); }{code} It's calling value.toString() which doesn't work for arrays (which @QueryHints is). This means the beanId will be unique per server which will fail when deserializing > issue with @Repository + @Query annotation and clustered wildfly > ----------------------------------------------------------------- > > Key: DELTASPIKE-1377 > URL: https://issues.apache.org/jira/browse/DELTASPIKE-1377 > Project: DeltaSpike > Issue Type: Bug > Components: Data-Module > Affects Versions: 1.9.0 > Reporter: Andrew Schmidt > Priority: Major > Attachments: cdri-test.zip, stack.txt > > > Setup: 2 x wildfly 15.0.1.Final (weld-core updated to 3.0.6) > Clustered standalone-full-ha setup, same machine with a port offset for the > second machine. > > Repo: > {code:java} > @Repository > @ApplicationScoped > public interface AnimalRepo extends EntityRepository<Animal, String> > { > @Query( value = "select a from Animal where ?1 = a.name" ) > Animal findByName(String name); > } > {code} > Session bean: > {code:java} > @SessionScoped > @Named > public class MyBean implements Serializable > { > private static final long serialVersionUID = 1L; > @Inject > private AnimalRepo animalRepo; > public Long getTest() > { > return animalRepo.count(); > } > } > {code} > index.xhtml > {code:java} > <h:form> > #{myBean.test} > </h:form> > {code} > Visiting the first server yields no error, but upon visiting the second > server: > {code:java} > WELD-001500: Failed to deserialize proxy object with beanId > org.apache.deltaspike.core.util.bean.ImmutableBeanWrapper:AnimalRepo[@javax.enterprise.context.ApplicationScoped()@org.apache.deltaspike.data.api.Repository(forEntity=class > > java.lang.Object,methodPrefix=)]{AnimalRepo.findByName[@org.apache.deltaspike.data.api.Query(hints=[Ljavax.persistence.QueryHint;@774c6737,isNative=false,lock=NONE,max=0,named=,singleResult=JPA,value=select > a from Animal where ?1 = a.name)](java.lang.String);} > {code} > Interestingly, If the @Query annotation is removed from the findByName > query, there is no issue. > See attached project. -- This message was sent by Atlassian JIRA (v7.6.3#76005)