【发布时间】:2019-06-01 14:54:56
【问题描述】:
我正在尝试创建一个 Jax-rs 控制器并将 CDI bean 注入此控制器,但应用程序给出了以下异常。
当我不注入 bean 时它工作正常。
该项目还使用了 Hibernate,并且它具有 javassist 依赖项。当我删除此依赖项时,我可以毫无问题地将 bean 注入控制器,但当然休眠在这种情况下不起作用。
什么可能导致这个异常?
我正在使用 weblogic 12.1.3 服务器。
这是我要注入的服务 bean
@Named("AccountBcImpl")
public class AccountBcImpl extends AccountBaseBcImpl implements AccountBc {
...
}
这是 jax-rs 控制器
@Named
@javax.enterprise.context.ApplicationScoped
@Path("/build")
public class BuildCotroller {
@Inject
private AccountBc accountBc;
public String getBuilding(@QueryParam("buildId") Long buildId) throws BaseException {
return "Hello";
}
}
堆栈跟踪:
]] Root cause of ServletException.
org.jboss.weld.exceptions.WeldException: WELD-000830 Unable to load the cache value for the key Managed Bean [class com.aaa.bbb.web.rest.BuildController] with qualifiers [@Default @Any]
at org.jboss.weld.util.cache.LoadingCacheUtils.getCacheValue(LoadingCacheUtils.java:73)
at org.jboss.weld.util.cache.LoadingCacheUtils.getCastCacheValue(LoadingCacheUtils.java:112)
at org.jboss.weld.util.cache.LoadingCacheUtils.getCastCacheValue(LoadingCacheUtils.java:93)
at org.jboss.weld.bean.proxy.ClientProxyProvider.getClientProxy(ClientProxyProvider.java:102)
at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:621)
Truncated. see log file for complete stacktrace
Caused By: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.ClassCastException: com.aaa.bbb.web.rest.BuildController$Proxy$_$$_WeldClientProxy cannot be cast to javassist.util.proxy.ProxyObject
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2234)
at com.google.common.cache.LocalCache.get(LocalCache.java:3965)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3969)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4829)
at org.jboss.weld.util.cache.LoadingCacheUtils.getCacheValue(LoadingCacheUtils.java:71)
Truncated. see log file for complete stacktrace
Caused By: java.lang.ClassCastException: com.aaa.bbb.web.rest.BuildController$Proxy$_$$_WeldClientProxy cannot be cast to javassist.util.proxy.ProxyObject
at org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:249)
at org.jboss.weld.bean.proxy.ClientProxyFactory.create(ClientProxyFactory.java:105)
at org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:87)
at org.jboss.weld.bean.proxy.ClientProxyProvider.access$000(ClientProxyProvider.java:43)
at org.jboss.weld.bean.proxy.ClientProxyProvider$1.load(ClientProxyProvider.java:53)
Truncated. see log file for complete stacktrace
【问题讨论】:
标签: hibernate jakarta-ee jax-rs weblogic12c javassist