eclipse-ee4j / eclipse-ee4j/jersey

Proxy client throws UnsupportedOperationException when calling hashCode()

Open
#3,408 10 comments 0 reactions 0 assignees View on GitHub
Component: extensions Priority: Minor Type: Bug
Dominant language
Java
Stars
730
Forks
382
PR merge metrics
No merged PRs in 30d

Description

In application tear-down phase, Spring Data JPA uses a remove() method on a ConcurrentHashMap (that's why it needs hashCode()) to close all entityManagers. This method is called for each registered bean, therefore the proxy clients as well. The proxy client throws UnsupportedOperationException.

Stack trace:

```
java.lang.UnsupportedOperationException: Not a resource method.
at org.glassfish.jersey.client.proxy.WebResourceFactory.invoke(WebResourceFactory.java:189) ~[jersey-proxy-client-2.22.2.jar:na]
at com.sun.proxy.$Proxy145.hashCode(Unknown Source) ~[na:na]
at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333) ~[na:1.7.0_79]
at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1175) ~[na:1.7.0_79]
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessBeforeDestruction(PersistenceAnnotationBeanPostProcessor.java:374) ~[spring-orm-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:243) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578) [spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554) [spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:972) [spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523) [spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:979) [spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1006) [spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:982) [spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:901) [spring-context-4.2.6.RELEASE.jar:4.2.6.RELEASE]
```

This is very similar to #2996 and it is mentioned [here](https://java.net/jira/browse/JERSEY-2724?focusedCommentId=391107&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-391107)
#### Affected Versions
[2.22.2]

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.