eclipse-ee4j / eclipse-ee4j/jersey
Proxy client throws UnsupportedOperationException when calling hashCode()
- 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
Assessment
This issue has not been assessed yet.